RS232串口通信協(xié)議怎么寫(xiě)?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
RS232串口通信協(xié)議怎么寫(xiě)?
協(xié)議一般要包含:起始符、、數(shù)據(jù)、校驗(yàn)碼、結(jié)束符,5個(gè)部分的定義。
其中 起始符、結(jié)束符,不能與其他數(shù)據(jù)重碼。
如只要傳輸字母與數(shù)字,可以看下ASCII碼表,使用非數(shù)字和字母的符號(hào)做起始結(jié)束符即可,如{};數(shù)據(jù)長(zhǎng)度碼即表示此串?dāng)?shù)據(jù)包的數(shù)據(jù)長(zhǎng)度,如果傳輸?shù)臄?shù)據(jù)串長(zhǎng)度固定可省去;
校驗(yàn)碼相當(dāng)于對(duì)此串?dāng)?shù)據(jù)正確性的校驗(yàn),和奇偶校驗(yàn)效果類(lèi)似,一般是和校驗(yàn),即將數(shù)據(jù)全部累加得到一個(gè)和值當(dāng)校驗(yàn)碼,接收方收到數(shù)據(jù)也做一樣的運(yùn)算與收到的檢驗(yàn)碼比較,相等就說(shuō)明正確接收。如要發(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ù)長(zhǎng)度的BCD碼,25是校驗(yàn)碼,是31~30的和模100后的BCD碼,轉(zhuǎn)成BCD碼是為了避免與 起始和結(jié)束符重碼。