在網(wǎng)上看到的別人寫的一個(gè)基于STM32的MODBUS程序,還不錯(cuò),發(fā)上來分享一下。順便賺賺積分用于下載其他朋友的資料。 此Modbus協(xié)議暫時(shí)只支持RTU模式,只支持作為Modbus從設(shè)備。 暫時(shí)支持的功能碼(16進(jìn)制)如下表所示: 01.讀線圈狀態(tài)(讀多個(gè)輸出位的狀態(tài),有效地位為0-31) 02.讀輸入位狀態(tài)(讀多個(gè)輸入位的狀態(tài),有效地位為0-31) 03.讀保持寄存器(讀多個(gè)保持寄存器的數(shù)值,有效地位為0-99) 04.讀輸入寄存器(讀多個(gè)輸入寄存器的數(shù)值,有效地址為0-1) 05.強(qiáng)制單個(gè)線圈(強(qiáng)制單個(gè)輸出位的狀態(tài),有效地位為0-31) 06.預(yù)制單個(gè)寄存器(設(shè)定一個(gè)寄存器的數(shù)值,有效地址為0-99) 0F.強(qiáng)制多個(gè)線圈(強(qiáng)制多個(gè)輸出位的狀態(tài),有效地址為0-31) 10.預(yù)制多個(gè)寄存器(設(shè)定多個(gè)寄存器的數(shù)值,有效地址為0-99)暫時(shí)支持的錯(cuò)誤代碼為: 01 不合法功能代碼從機(jī)接收的是一種不能執(zhí)行功能代碼。發(fā)出查詢命令后,該代碼指示無程序功能。(不支持的功能代碼) 02 不合法數(shù)據(jù)地址接收的數(shù)據(jù)地址,是從機(jī)不允許的地址。(起始地址不在有效范圍內(nèi)) 03 不合法數(shù)據(jù)查詢數(shù)據(jù)區(qū)的值是從機(jī)不允許的值。(在起始地址的基礎(chǔ)上,這個(gè)數(shù)量是不合法的)
標(biāo)簽:
modbus
stm32
上傳時(shí)間:
2022-07-12
上傳用戶: