標(biāo)題: FreeModbus從機(jī)基于STM32平臺(tái)移植源碼 [打印本頁(yè)]

作者: 兔斯基    時(shí)間: 2018-12-13 22:00
標(biāo)題: FreeModbus從機(jī)基于STM32平臺(tái)移植源碼
如題


1,例程介紹:
    由于freemodbus未提供基于STM32平臺(tái)的例程,本例程旨在讓更多電子愛(ài)好更快入門(mén)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)



作者: yangyulong    時(shí)間: 2018-12-14 13:21
謝謝
作者: pm1981    時(shí)間: 2018-12-28 14:37
看一下
作者: ache0105    時(shí)間: 2019-3-20 20:16
學(xué)習(xí)一下
作者: dajiang2001    時(shí)間: 2019-4-9 20:28
非常需要,參考一下,謝謝
作者: gh_3424    時(shí)間: 2019-7-3 11:26
非常感謝,51hei就是不錯(cuò)
作者: 鵬博士PBs    時(shí)間: 2019-7-3 11:47
工業(yè)控制總線進(jìn)行主機(jī)和從機(jī)的通訊
作者: 紅燒肉    時(shí)間: 2019-7-11 23:29
大佬大佬,你最帥
作者: hv168    時(shí)間: 2019-7-12 11:07
學(xué)習(xí)一下
作者: 早起的達(dá)仙僧    時(shí)間: 2020-3-4 10:14
感謝樓主分享!
作者: yan137407860    時(shí)間: 2020-6-2 11:16
真的不錯(cuò)這個(gè)
作者: destiny_xl    時(shí)間: 2023-9-19 15:20
我自己移植的程序,調(diào)試半個(gè)月了,HAL_UART_Receive一直返回HAL_BUSY,不知道什么造成的,剛好都是STM32F429,下載下來(lái)學(xué)習(xí)下,謝謝!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1