找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7306|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

FreeModbus從機(jī)基于STM32平臺(tái)移植源碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:365566 發(fā)表于 2018-12-13 22:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
如題


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)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:189747 發(fā)表于 2018-12-14 13:21 | 只看該作者
謝謝
回復(fù)

使用道具 舉報(bào)

板凳
ID:223999 發(fā)表于 2018-12-28 14:37 | 只看該作者
看一下
回復(fù)

使用道具 舉報(bào)

地板
ID:146544 發(fā)表于 2019-3-20 20:16 | 只看該作者
學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

5#
ID:507395 發(fā)表于 2019-4-9 20:28 | 只看該作者
非常需要,參考一下,謝謝
回復(fù)

使用道具 舉報(bào)

6#
ID:462389 發(fā)表于 2019-7-3 11:26 | 只看該作者
非常感謝,51hei就是不錯(cuò)
回復(fù)

使用道具 舉報(bào)

7#
ID:282095 發(fā)表于 2019-7-3 11:47 | 只看該作者
工業(yè)控制總線進(jìn)行主機(jī)和從機(jī)的通訊
回復(fù)

使用道具 舉報(bào)

8#
ID:407676 發(fā)表于 2019-7-11 23:29 | 只看該作者
大佬大佬,你最帥
回復(fù)

使用道具 舉報(bào)

9#
ID:576308 發(fā)表于 2019-7-12 11:07 | 只看該作者
學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

10#
ID:697364 發(fā)表于 2020-3-4 10:14 | 只看該作者
感謝樓主分享!
回復(fù)

使用道具 舉報(bào)

11#
ID:767326 發(fā)表于 2020-6-2 11:16 | 只看該作者
真的不錯(cuò)這個(gè)
回復(fù)

使用道具 舉報(bào)

12#
ID:305196 發(fā)表于 2023-9-19 15:20 | 只看該作者
我自己移植的程序,調(diào)試半個(gè)月了,HAL_UART_Receive一直返回HAL_BUSY,不知道什么造成的,剛好都是STM32F429,下載下來(lái)學(xué)習(xí)下,謝謝!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表