rs485通信地址0x什麼意思

來源:魅力女性吧 5.67K
rs485通信地址0x什麼意思

rs485通信地址0x是子地址。

子地址:0x00表示廣播地址,0x01-0xF7表示從機地址,0xF8-0xFF用户自定義。

功能碼:表示此次通信需要使用從機的哪些功能,具體含義因設備而異。

數據包:表示此次通信需要用到的數據,具體含義因設備和功能而異。

校驗字:表示CRC16計算的校驗結果,低字節在前,高字節在後。參與CRC16計算的為:子地址+功能碼+數據包

1、從幀格式可以看出來,沒有固定幀頭,也沒有幀長字段,那麼接收程序怎麼判定幀起始和結束

協議規定兩個字節之間的傳輸間隔大於傳輸4個字節所需的時長,則認為當前幀結束。

注意:由於接收端需要用字節間隔時間來判斷幀層,因此在發送數據時,最好關閉MCU中斷,或者使用硬件DMA發送,避免發送中過程中被其它任務打斷。

傳輸時的波特率越高,間隔時長則越短。

2、接收到完整數據後要怎麼驗證完整性

驗證CRC16校驗值,crc16(子地址+功能碼+數據包),計算結果與最後2個字節進行對比,如果相同則認為數據包完整,進行下一步處理。

否則數據包有誤,應該丟棄這包數據。

熱門標籤