PC機(jī)與單片機(jī)串行通信中實(shí)現(xiàn)命令批處理
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問次數(shù):956
摘要:介紹pc機(jī)與mcs-51單片機(jī)通信批處理命令的實(shí)現(xiàn)思想、方法、通信協(xié)議和c51程序平臺(tái)。為pc機(jī)與單片機(jī)間串行通信程序設(shè)計(jì)提供一種方法上的新思路。 關(guān)鍵詞:批處理 mcs-51單片機(jī) 通信協(xié)議 在pc機(jī)與mcs-51單片機(jī)之間進(jìn)行串行通信時(shí),基本是一對(duì)一的,即用pc機(jī)向單片機(jī)每發(fā)1條命令,就等待單片機(jī)的1條返回信息。這樣可能把大量時(shí)間浪費(fèi)在pc機(jī)與單片機(jī)的通信過程中了。為此筆者經(jīng)過實(shí)踐,設(shè)計(jì)出可以批處理執(zhí)行pc機(jī)發(fā)給單片機(jī)的命令,就像dos操作系統(tǒng)中的批處理命令一樣,可連續(xù)批處理信息,結(jié)果當(dāng)然提高了系統(tǒng)速度。文中提供了部分平臺(tái)式c51軟件源代碼,以供大家參考。 1 通信協(xié)議 (1)通信數(shù)據(jù)格式 pc機(jī)→mcs-51單片機(jī)數(shù)據(jù)格式如表1所列。
表1 stx len comma data[0]…data[n-1] edc etx 開始 長(zhǎng)度 命令 數(shù)據(jù)體 校驗(yàn)碼 結(jié)束碼 0x60 n+2(2byte) (2byte) stx^len^commandh^
commandl^data[0]…data[n-1] 0x03 mcs-51單片機(jī)→pc機(jī)數(shù)據(jù)格式如表2所列。
表2 stx len status data[0]…data[n-1] edc etx 開始 長(zhǎng)度 命令 數(shù)據(jù)體 校驗(yàn)碼 結(jié)束碼 0x60 n+2(2byte) 2(byte) stx^len^commandh^
commandl^data[0]..data[n-1] 0x03 (2)初始通信參數(shù)
pc機(jī)與單片機(jī)間(9600,n,8,1)即波特率為9600 baud,1起始位,8數(shù)據(jù)位,1停止位,無(wú)奇偶校驗(yàn)。 (3)數(shù)據(jù)收發(fā)方式
所有數(shù)據(jù)按二進(jìn)制單字節(jié)發(fā)送。 (4)發(fā)送數(shù)據(jù)順序
發(fā)送同步碼(1byte):stx=0x60
發(fā)送后續(xù)字節(jié)的長(zhǎng)度(2byte):len=2+n
發(fā)送len個(gè)后續(xù)數(shù)據(jù)字節(jié)(n+2 byte):commandh,commandl,data[0]…data[n-1]
發(fā)送校驗(yàn)碼(1byte): edc=stx^commandh^ commandl^data[0]^…data[n-1]
發(fā)送結(jié)束碼(1byte): etx=0x03
2 單條命令command[n] command[n]格式: command data[0]~-data[n-1] xxxxh 數(shù)據(jù)體
摘要:介紹pc機(jī)與mcs-51單片機(jī)通信批處理命令的實(shí)現(xiàn)思想、方法、通信協(xié)議和c51程序平臺(tái)。為pc機(jī)與單片機(jī)間串行通信程序設(shè)計(jì)提供一種方法上的新思路。 關(guān)鍵詞:批處理 mcs-51單片機(jī) 通信協(xié)議 在pc機(jī)與mcs-51單片機(jī)之間進(jìn)行串行通信時(shí),基本是一對(duì)一的,即用pc機(jī)向單片機(jī)每發(fā)1條命令,就等待單片機(jī)的1條返回信息。這樣可能把大量時(shí)間浪費(fèi)在pc機(jī)與單片機(jī)的通信過程中了。為此筆者經(jīng)過實(shí)踐,設(shè)計(jì)出可以批處理執(zhí)行pc機(jī)發(fā)給單片機(jī)的命令,就像dos操作系統(tǒng)中的批處理命令一樣,可連續(xù)批處理信息,結(jié)果當(dāng)然提高了系統(tǒng)速度。文中提供了部分平臺(tái)式c51軟件源代碼,以供大家參考。 1 通信協(xié)議 (1)通信數(shù)據(jù)格式 pc機(jī)→mcs-51單片機(jī)數(shù)據(jù)格式如表1所列。
表1 stx len comma data[0]…data[n-1] edc etx 開始 長(zhǎng)度 命令 數(shù)據(jù)體 校驗(yàn)碼 結(jié)束碼 0x60 n+2(2byte) (2byte) stx^len^commandh^
commandl^data[0]…data[n-1] 0x03 mcs-51單片機(jī)→pc機(jī)數(shù)據(jù)格式如表2所列。
表2 stx len status data[0]…data[n-1] edc etx 開始 長(zhǎng)度 命令 數(shù)據(jù)體 校驗(yàn)碼 結(jié)束碼 0x60 n+2(2byte) 2(byte) stx^len^commandh^
commandl^data[0]..data[n-1] 0x03 (2)初始通信參數(shù)
pc機(jī)與單片機(jī)間(9600,n,8,1)即波特率為9600 baud,1起始位,8數(shù)據(jù)位,1停止位,無(wú)奇偶校驗(yàn)。 (3)數(shù)據(jù)收發(fā)方式
所有數(shù)據(jù)按二進(jìn)制單字節(jié)發(fā)送。 (4)發(fā)送數(shù)據(jù)順序
發(fā)送同步碼(1byte):stx=0x60
發(fā)送后續(xù)字節(jié)的長(zhǎng)度(2byte):len=2+n
發(fā)送len個(gè)后續(xù)數(shù)據(jù)字節(jié)(n+2 byte):commandh,commandl,data[0]…data[n-1]
發(fā)送校驗(yàn)碼(1byte): edc=stx^commandh^ commandl^data[0]^…data[n-1]
發(fā)送結(jié)束碼(1byte): etx=0x03
2 單條命令command[n] command[n]格式: command data[0]~-data[n-1] xxxxh 數(shù)據(jù)體
熱門點(diǎn)擊
- 運(yùn)動(dòng)控制芯片LM628及應(yīng)用
- 中心頻率為10.525GHz的DZ9861微
- 真有效值A(chǔ)C/DC轉(zhuǎn)換器AD736及其在RM
- 機(jī)器視覺軟件iGauge特性介紹—精度和重復(fù)
- PC機(jī)與單片機(jī)串行通信中實(shí)現(xiàn)命令批處理
- CAV414集成電路與電容性傳感器的應(yīng)用
- LM331壓頻變換器的原理及應(yīng)用
- 新一代低成本、高性能的語(yǔ)音處理專用芯片—Un
- 基于LM3824的精密電流檢測(cè)系統(tǒng)
- 數(shù)字溫度計(jì)和空溫器DS1625
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究