如題
1,例程介紹:
由于freemodbus未提供基于STM32平臺的例程,本例程旨在讓更多電子愛好更快入門STM32平臺上freemodbus的移植,本例程所以使用的硬件平臺為STM32F429DISCOVER開發板,軟件平臺為Keil+STM32_HAL庫+STM32CUBEMX,modbus調試軟件為modbus poll,在使用modbus poll調試時可能會出現寄存器地址錯誤的情況,如何解決見下文,如果想移植到其他STM32硬件平臺還需參見其他網址(見下文)。
2,如何使用本例程:
如果使用是使用的和作者相同的硬件平臺則可以直接打開Keil編譯下載運行,其他硬件平臺還需簡單修改。
本例程使用的文件結構為STM32CUBEMX創建的文件結構,層次結構清晰,相對官方,代碼注釋風格為doxygen風格,直接運行doxygen生成文檔可能會出錯(作者的注釋不規范)
由于本例程使用STM32CUBEMX自動創建底層,有好多驅動沒有刪減,在閱讀時大可不理會,也不會影響freemodbus的移植。
由于標準的modbus協議的寄存器地址是從1開始的,不會出現0,所以再用modbus poll進行調試時可能會出現寄存器地址錯誤,解決方案:1,在modbus poll中將為0的寄存器+1
2,將源代碼mbfuncinput.c文件中第97行usRegAddress++注釋掉
3,免責聲明:
本例程僅供學習使用,由于作者也是剛剛接觸modbus,所以在注釋時難免出現錯誤忘學習者理解,本例程無法直接進行項目開發,出現任何問題與作者無關因為實際的項目開發還需根據自己的需要進行相關的裁剪和功能完善,本例程只實現了讀取輸入寄存器的功能,需要其他功能另請參見官方示例
本例程準守STM32和freemodbus相關協議開源協議,附帶開源協議副本
全部資料51hei下載地址:
FreeModbus從機基于STM32.7z
(3.5 MB, 下載次數: 319)
2018-12-14 01:12 上傳
點擊文件名下載附件
|