資料介紹
工作了一年多,寫(xiě)了不少單片機(jī)串口程序。感覺(jué)串口多字節(jié)接收部分的邏輯相對(duì)于配置寄存器跟串口回復(fù)來(lái)說(shuō),是有點(diǎn)難度的——寄存器配置基本上都是死的,串口回復(fù)多字節(jié)跟回復(fù)一字節(jié)只是多了一個(gè)循環(huán)。
串口接收程序是基于串口中斷的,單片機(jī)的串口每次接收到一字節(jié)數(shù)據(jù)產(chǎn)生一次中斷,然后再讀取某個(gè)寄存器就可以得到串口接收的數(shù)據(jù)了。然而在實(shí)際應(yīng)用當(dāng)中,基本上不會(huì)有單字節(jié)接收的情況。一般都是基于一定串口通信協(xié)議的多字節(jié)通信。在422或者485通信中,還可能是一個(gè)主機(jī)(一般是計(jì)算機(jī))帶多個(gè)從機(jī)(相應(yīng)的有單片機(jī)的板卡)。這就要求我們的單片機(jī)能夠在連續(xù)接收到的串口數(shù)據(jù)序列中識(shí)別出符合自己板卡對(duì)應(yīng)的通信協(xié)議,來(lái)進(jìn)行控制操作,不符合則不進(jìn)行任何操作。簡(jiǎn)而言之就是,單片機(jī)要在一串?dāng)?shù)據(jù)中找到符合一定規(guī)律的幾個(gè)字節(jié)的數(shù)據(jù)。
先來(lái)說(shuō)下怎樣定串口協(xié)議吧。這個(gè)協(xié)議指的不是串口底層的協(xié)議,而是前面提到的數(shù)據(jù)幀協(xié)議。一般都是有幀頭(2~3個(gè)字節(jié)吧),數(shù)據(jù)(長(zhǎng)度根據(jù)需要),結(jié)束位(1位,有時(shí)候設(shè)計(jì)成校驗(yàn)字節(jié),最簡(jiǎn)單的校驗(yàn)也就是前面所有數(shù)據(jù)求和)。比如0xaa 0x55 +(數(shù)據(jù)部分省略)+校驗(yàn)和(除了aa 55 之外數(shù)據(jù)的和),如果要是多板卡的話有時(shí)候還要在幀頭后面加一個(gè)板選字節(jié)(相當(dāng)于3字節(jié)幀頭了)。第一次寫(xiě)串口接收程序的時(shí)候,我首先想到的就是定義一個(gè)全局變量(實(shí)際上最好是定義局部靜態(tài)變量),初始值設(shè)置為 0,然后每進(jìn)一次中斷+1,然后加到串口通信協(xié)議的長(zhǎng)度的時(shí)候再清零。然后判斷幀頭、校驗(yàn)。寫(xiě)完了之后我自己都覺(jué)得不對(duì),一旦數(shù)據(jù)錯(cuò)開(kāi)了一位,后面就永遠(yuǎn)都接收不到數(shù)了。
無(wú)奈看了一下前輩們的代碼,跟我的思路差不多,只不過(guò)那個(gè)計(jì)數(shù)值跟接收到的數(shù)據(jù)時(shí)同時(shí)判斷的,而且每次中斷都要判斷,一旦不對(duì)計(jì)數(shù)的那個(gè)變量就清零。廢話少說(shuō),直接上一段代碼讓大家看看就明白了。(通信協(xié)議姑且按照簡(jiǎn)單的aa 55 一個(gè)字節(jié)數(shù)據(jù) 一個(gè)字節(jié)校驗(yàn),代碼是基于51單片機(jī)的)。接收成功則在中斷程序中把串口接收成功標(biāo)志位置1。
- 單片機(jī)多字節(jié)串口接收(轉(zhuǎn))
- 單片機(jī)串口接收多字節(jié)
- 單片機(jī)串口接收多字節(jié)數(shù)據(jù)
- 單片機(jī)進(jìn)行串口發(fā)送和接受的程序免費(fèi)下載
- 如何使51單片機(jī)與PC進(jìn)行串口通信詳細(xì)資料和程序免費(fèi)下載
- 使用51單片機(jī)進(jìn)行串口通信的發(fā)送與接收的資料和程序免費(fèi)下載
- 使用51單片機(jī)STC89C52進(jìn)行串口接收的程序免費(fèi)下載
- 使用單片機(jī)進(jìn)行串口通信的程序免費(fèi)下載
- 51單片機(jī)進(jìn)行串行接收并顯示的程序免費(fèi)下載
- 使用51單片機(jī)實(shí)現(xiàn)異步串行雙機(jī)通信多字節(jié)傳輸?shù)腃語(yǔ)言程序免費(fèi)下載
- 使用51單片機(jī)進(jìn)行EEPROM存儲(chǔ)器24C02讀取存儲(chǔ)多字節(jié)的程序免費(fèi)下載
- 使用51單片機(jī)進(jìn)行簡(jiǎn)單的串口通訊程序資料免費(fèi)下載
- 單片機(jī)的串口接收和發(fā)送數(shù)據(jù)的程序免費(fèi)下載
- 單片機(jī)按鍵發(fā)送串口的程序資料免費(fèi)下載 10次下載
- 單片機(jī)入門(mén)匯編之單片機(jī)接收計(jì)算機(jī)串口發(fā)送的數(shù)據(jù)程序免費(fèi)下載 14次下載
- ?51單片機(jī)串口通信詳細(xì)介紹-小白必看 2099次閱讀
- 兩個(gè)單片機(jī)之間串口通信的例程 8089次閱讀
- 使用匯編語(yǔ)言實(shí)現(xiàn)多字節(jié)BCD碼加法減法的詳細(xì)介紹 8726次閱讀
- 使用51單片機(jī)讀寫(xiě)AT29C040的C語(yǔ)言程序免費(fèi)下載 4812次閱讀
- HD44780讀寫(xiě)單片機(jī)C51程序免費(fèi)下載 4383次閱讀
- 使用單片機(jī)串口實(shí)現(xiàn)LED顯示電路的資料和程序說(shuō)明 7907次閱讀
- 單片機(jī)實(shí)現(xiàn)多機(jī)通信的資料和程序 7857次閱讀
- 如何對(duì)STC單片機(jī)進(jìn)行免掉電下載 2236次閱讀
- 8051單片機(jī)int字節(jié)的實(shí)現(xiàn) 3589次閱讀
- 使用51單片機(jī)進(jìn)行串口調(diào)試的基本方法有哪些 1.3w次閱讀
- 單片機(jī)串口通訊原理解析 3.4w次閱讀
- 單片機(jī)與PC串口通信的程序及電路圖詳解 1.5w次閱讀
- ch340g單片機(jī)下載程序電路原理 7.9w次閱讀
- 詳細(xì)圖文剖析STM32單片機(jī)串口一鍵下載電路與操作方法 4.7w次閱讀
- STC單片機(jī)程序燒錄與ISP下載相關(guān)知識(shí) 1w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識(shí)圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論