|
如題
0.png (40.03 KB, 下載次數(shù): 68)
下載附件
2018-12-14 01:11 上傳
1,例程介紹:
由于freemodbus未提供基于STM32平臺(tái)的例程,本例程旨在讓更多電子愛(ài)好更快入門STM32平臺(tái)上freemodbus的移植,本例程所以使用的硬件平臺(tái)為STM32F429DISCOVER開(kāi)發(fā)板,軟件平臺(tái)為Keil+STM32_HAL庫(kù)+STM32CUBEMX,modbus調(diào)試軟件為modbus poll,在使用modbus poll調(diào)試時(shí)可能會(huì)出現(xiàn)寄存器地址錯(cuò)誤的情況,如何解決見(jiàn)下文,如果想移植到其他STM32硬件平臺(tái)還需參見(jiàn)其他網(wǎng)址(見(jiàn)下文)。
2,如何使用本例程:
如果使用是使用的和作者相同的硬件平臺(tái)則可以直接打開(kāi)Keil編譯下載運(yùn)行,其他硬件平臺(tái)還需簡(jiǎn)單修改。
本例程使用的文件結(jié)構(gòu)為STM32CUBEMX創(chuàng)建的文件結(jié)構(gòu),層次結(jié)構(gòu)清晰,相對(duì)官方,代碼注釋風(fēng)格為doxygen風(fēng)格,直接運(yùn)行doxygen生成文檔可能會(huì)出錯(cuò)(作者的注釋不規(guī)范)
由于本例程使用STM32CUBEMX自動(dòng)創(chuàng)建底層,有好多驅(qū)動(dòng)沒(méi)有刪減,在閱讀時(shí)大可不理會(huì),也不會(huì)影響freemodbus的移植。
由于標(biāo)準(zhǔn)的modbus協(xié)議的寄存器地址是從1開(kāi)始的,不會(huì)出現(xiàn)0,所以再用modbus poll進(jìn)行調(diào)試時(shí)可能會(huì)出現(xiàn)寄存器地址錯(cuò)誤,解決方案:1,在modbus poll中將為0的寄存器+1
2,將源代碼mbfuncinput.c文件中第97行usRegAddress++注釋掉
3,免責(zé)聲明:
本例程僅供學(xué)習(xí)使用,由于作者也是剛剛接觸modbus,所以在注釋時(shí)難免出現(xiàn)錯(cuò)誤忘學(xué)習(xí)者理解,本例程無(wú)法直接進(jìn)行項(xiàng)目開(kāi)發(fā),出現(xiàn)任何問(wèn)題與作者無(wú)關(guān)因?yàn)閷?shí)際的項(xiàng)目開(kāi)發(fā)還需根據(jù)自己的需要進(jìn)行相關(guān)的裁剪和功能完善,本例程只實(shí)現(xiàn)了讀取輸入寄存器的功能,需要其他功能另請(qǐng)參見(jiàn)官方示例
本例程準(zhǔn)守STM32和freemodbus相關(guān)協(xié)議開(kāi)源協(xié)議,附帶開(kāi)源協(xié)議副本
全部資料51hei下載地址:
FreeModbus從機(jī)基于STM32.7z
(3.5 MB, 下載次數(shù): 319)
2018-12-14 01:12 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|