資料介紹
工作了一年多,寫了不少單片機(jī)串口程序。感覺串口多字節(jié)接收部分的邏輯相對(duì)于配置寄存器跟串口回復(fù)來說,是有點(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é)議,來進(jìn)行控制操作,不符合則不進(jìn)行任何操作。簡(jiǎn)而言之就是,單片機(jī)要在一串?dāng)?shù)據(jù)中找到符合一定規(guī)律的幾個(gè)字節(jié)的數(shù)據(jù)。
先來說下怎樣定串口協(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é)幀頭了)。第一次寫串口接收程序的時(shí)候,我首先想到的就是定義一個(gè)全局變量(實(shí)際上最好是定義局部靜態(tài)變量),初始值設(shè)置為 0,然后每進(jìn)一次中斷+1,然后加到串口通信協(xié)議的長(zhǎng)度的時(shí)候再清零。然后判斷幀頭、校驗(yàn)。寫完了之后我自己都覺得不對(duì),一旦數(shù)據(jù)錯(cuò)開了一位,后面就永遠(yuǎn)都接收不到數(shù)了。
無奈看了一下前輩們的代碼,跟我的思路差不多,只不過那個(gè)計(jì)數(shù)值跟接收到的數(shù)據(jù)時(shí)同時(shí)判斷的,而且每次中斷都要判斷,一旦不對(duì)計(jì)數(shù)的那個(gè)變量就清零。廢話少說,直接上一段代碼讓大家看看就明白了。(通信協(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ī)入門匯編之單片機(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ī)讀寫AT29C040的C語(yǔ)言程序免費(fèi)下載 4812次閱讀
- HD44780讀寫單片機(jī)C51程序免費(fèi)下載 4383次閱讀
- 使用單片機(jī)串口實(shí)現(xiàn)LED顯示電路的資料和程序說明 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涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 2錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 3錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 3次下載 | 1 積分
- 4蘋果iphone 11電路原理圖
- 4.98 MB | 3次下載 | 2 積分
- 5基礎(chǔ)模擬電子電路
- 3.80 MB | 3次下載 | 1 積分
- 6RA-Eco-RA6M4-100PIN-V1.0開發(fā)板資料
- 34.89 MB | 1次下載 | 免費(fèi)
- 7STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)
- 3.32 MB | 1次下載 | 免費(fèi)
- 8聯(lián)想A820t手機(jī)維修圖紙包括主板原理圖 尾板原理圖 點(diǎn)位圖
- 0.62 MB | 次下載 | 5 積分
本月
- 1AI智能眼鏡產(chǎn)業(yè)鏈分析
- 4.43 MB | 383次下載 | 免費(fèi)
- 2蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 296次下載 | 5 積分
- 3貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說明
- 0.50 MB | 94次下載 | 1 積分
- 4長(zhǎng)虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 91次下載 | 5 積分
- 5涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 6錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 7AO4803A雙P通道增強(qiáng)型場(chǎng)效應(yīng)晶體管的數(shù)據(jù)手冊(cè)
- 0.11 MB | 28次下載 | 2 積分
- 8長(zhǎng)虹液晶彩電LS29機(jī)芯的技術(shù)資料說明
- 3.42 MB | 16次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191388次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論