RS232串口通信協(xié)議怎么寫?
其中 起始符、結(jié)束符,不能與其他數(shù)據(jù)重碼。
本文引用地址:http://www.ex-cimer.com/article/201612/329558.htm如只要傳輸字母與數(shù)字,可以看下ASCII碼表,使用非數(shù)字和字母的符號(hào)做起始結(jié)束符即可,如{};數(shù)據(jù)長度碼即表示此串?dāng)?shù)據(jù)包的數(shù)據(jù)長度,如果傳輸?shù)臄?shù)據(jù)串長度固定可省去;
校驗(yàn)碼相當(dāng)于對(duì)此串?dāng)?shù)據(jù)正確性的校驗(yàn),和奇偶校驗(yàn)效果類似,一般是和校驗(yàn),即將數(shù)據(jù)全部累加得到一個(gè)和值當(dāng)校驗(yàn)碼,接收方收到數(shù)據(jù)也做一樣的運(yùn)算與收到的檢驗(yàn)碼比較,相等就說明正確接收。如要發(fā){1234567890 }
換成16進(jìn)制即:7B 10 31 32 33 34 35 36 37 38 39 30 25 7D;31~30是數(shù)據(jù),
7B,7D分別為起始和結(jié)束符,10為數(shù)據(jù)長度的BCD碼,25是校驗(yàn)碼,是31~30的和模100后的BCD碼,轉(zhuǎn)成BCD碼是為了避免與 起始和結(jié)束符重碼。
評(píng)論