<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PC機與單片機串行通信中實(shí)現命令批處理

PC機與單片機串行通信中實(shí)現命令批處理

作者: 時(shí)間:2012-04-10 來(lái)源:網(wǎng)絡(luò ) 收藏

 在機與MCS-51之間進(jìn)行時(shí),基本是一對一的,即用機向每發(fā)1條,就等待的1條返回信息。這樣可能把大量時(shí)間浪費在機與單片機的過(guò)程中了。為此筆者經(jīng)過(guò)實(shí)踐,設計出可以批執行PC機發(fā)給單片機的,就像DOS操作系統中的批一樣,可連續批信息,結果當然提高了系統速度。文中提供了部分平臺式C51軟件源代碼,以供大家參考。

本文引用地址:http://dyxdggzs.com/article/171665.htm

1 協(xié)議

(1)通信數據格式
PC機→MCS-51單片機數據格式如表1所列。
MCS-51單片機→PC機數據格式如表2所列。

27.jpg

(2)初始通信參數

PC機與單片機間(9600,n,8,1)即波特率為9600 baud,1起始位,8數據位,1停止位,無(wú)奇偶校驗。

(3)數據收發(fā)方式

所有數據按二進(jìn)制單字節發(fā)送。

(4)發(fā)送數據順序
  發(fā)送同步碼(1Byte):Stx=0X60
  發(fā)送后續字節的長(cháng)度(2Byte):Len=2+N
  發(fā)送Len個(gè)后續數據字節(N+2 Byte):CommandH,CommandL,Data[0]…Data[N-1]
  發(fā)送校驗碼(1Byte): Edc=Stx^CommandH^ CommandL^Data[0]^…Data[N-1]
  發(fā)送結束碼(1Byte): Etx=0X03

2 單條命令COMMAND[n]

COMMAND[n]格式:

20.jpg

一般把單條命令的長(cháng)度控制在255以?xún)取?br />PC機向單片機發(fā)送數據序列為:
STX,LENH,LENL,COMMANDH,COMMANDL,DATA…DATA,EDC,ETX
3 批處理的思想方法

(1)批處理命令BATCH_COMMAND (0X0000)

PC格式:

21.jpg

NUM——后續命令的個(gè)數;
Flag——需要返回的標志(00為要返回數據,其它為無(wú)需返回數據)。
COMMAND[i]=LEN,子命令體
功能:批處理執行功能。
返回狀態(tài)及數據:根據Flag標志決定是否返回數據,按發(fā)送命令的順序返回數據。

(2)控制批處理轉移的命令

功能:沒(méi)有數據和狀態(tài)返回,控制下位機跳轉。

① 控制BATCH_If(0X0001)用于判斷,條件執行命令

功能:?jiǎn)纹瑱C遇到該命令,執行判斷,如果結果為邏輯真,則執行緊跟BATCH_If的第1條命令;否則執行緊跟BATCH_If第2條命令。

PC格式:

22.jpg

num: 返回數據從右到左的第幾個(gè)數據,為0時(shí)為狀態(tài)數據的低位字節;
EQUAL/NOT——00為相等,1為不等;
VALUE——數值。
返回:無(wú)。

通信相關(guān)文章:通信原理



上一頁(yè) 1 2 3 4 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>