資料介紹
freeModbus的代碼庫還是很好用的,本人在wince和C8051F410下均移植成功(只用到RTU模式)。但freeModbus提供的文檔比較少,只能對照著Modbus協(xié)議一點(diǎn)點(diǎn)試著讀懂源代碼。下面是閱讀代碼期間的跟蹤筆記:
1、eMBErrorCode為枚舉類型變量,代表錯(cuò)誤碼,共有8個(gè)錯(cuò)誤代號。常用的是MB_ENOERR,即沒有錯(cuò)誤。
2、eMBMode枚舉類型變量代表設(shè)備的工作模式,分別是MB_RTU、MB_ASCII和MB_TCP。
3、eMBEventType枚舉類型變量定義了event的類型,分別是EV_READY,代表Startup啟動完成;EV_FRAME_RECEIVED代表接收到幀;EV_EXECUTE代表執(zhí)行功能函數(shù);EV_FRAME_SENT代表幀已發(fā)送。
4、eMBParity枚舉類型變量代表奇偶校驗(yàn)選項(xiàng),分別是MB_PAR_NONE無校驗(yàn),MB_PAR_ODD奇校驗(yàn),和MB_PAR_EVEN偶校驗(yàn)。
5、mb.c文件中的靜態(tài)變量ucMBAddress存儲設(shè)備地址,此變量在eMBInit函數(shù)中初始化。
6、在C51Modbus中將freeModbus庫中的源碼進(jìn)行了更改,例如盡量不使用函數(shù)指針,而是直接調(diào)用相關(guān)功能函數(shù),根據(jù) eMBCurrentMode中的工作模式,來判斷調(diào)用哪個(gè)函數(shù)。在freeModbus庫中某些函數(shù)聲明前加上reentrant,這是Keil編譯器特有的關(guān)鍵詞。這樣做帶來的一個(gè)不足是:不能動態(tài)綁定函數(shù),從而導(dǎo)致庫代碼失去可移植性。這樣做是C51編譯器與ANSI標(biāo)準(zhǔn)不兼容的特殊性導(dǎo)致的。
7、ENTER_CRITICAL_SECTION()和EXIT_CRITICAL_SECTION()宏,實(shí)際上就是關(guān)閉和打開全局中斷。
8、帶xMBPort前綴的函數(shù)都屬于port layer層,也就是獨(dú)立于ModBus協(xié)議棧。
9、freeModbus庫中函數(shù)名稱的第一個(gè)字母表示返回值類型,例如e表示返回enum枚舉類型;v表示void無返回值;x表示BOOL布爾類型。注意這條規(guī)則并不是總成立,但主要函數(shù)基本上還是符合此規(guī)則的。第一個(gè)字母后的MB代表是屬于ModBus協(xié)議棧的函數(shù)。

- STM32G431移植FreeModbus 2次下載
- FreeModbus 在 STM32F1 平臺的移植和解析
- FreeMODBUS庫的擴(kuò)展與增強(qiáng)(1)- 移植到STM32單片機(jī)的基本流程
- STM32 裸機(jī) 標(biāo)準(zhǔn)庫 移植 Freemodbus RTU
- 其實(shí)ST的HAL庫與FreeModbus移植很配哦--FreeModbus從站設(shè)計(jì)(8)
- UCOSii 移植代碼工程 4次下載
- 機(jī)智云官方生成的MCU代碼(hal庫)移植為STM32標(biāo)準(zhǔn)庫教程
- 官方生成的MCU代碼(hal庫)移植到標(biāo)準(zhǔn)庫的STM32教程
- 機(jī)器學(xué)習(xí)必學(xué)的Python代碼示例集 14次下載
- 結(jié)合動態(tài)行為和機(jī)器學(xué)習(xí)的惡意代碼檢測方法 11次下載
- 龍格-庫塔法的MATLAB代碼及含義的詳細(xì)資料說明 6次下載
- python基礎(chǔ)教程之Python核心編程學(xué)習(xí)詳細(xì)代碼說明 28次下載
- freemodbus_tcp分析 13次下載
- ARM官方DSP庫的移植 16次下載
- FatFS源代碼閱讀分析 0次下載
- 機(jī)智云配網(wǎng)教程第三期:單片機(jī)代碼移植實(shí)戰(zhàn) 1.1k次閱讀
- STM32與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(下篇):機(jī)智云代碼移植與優(yōu)化 912次閱讀
- 18個(gè)常用的強(qiáng)化學(xué)習(xí)算法整理:從基礎(chǔ)方法到高級模型的理論技術(shù)與代碼實(shí)現(xiàn) 1.4k次閱讀
- STM32CubeMX生成的代碼,是怎樣的HAL架構(gòu)? 1.4k次閱讀
- 高質(zhì)量代碼應(yīng)該具備的關(guān)鍵特性 1.1k次閱讀
- Nordic-RT-Thread5.1.0移植筆記 2.1k次閱讀
- 基于機(jī)智云移植STM32L496G代碼移植 1.7k次閱讀
- Simulink自動生成代碼現(xiàn)階段的學(xué)習(xí)筆記 5.9k次閱讀
- java中的代碼混淆技術(shù) 2.4k次閱讀
- OpenCV庫在圖像處理和深度學(xué)習(xí)中的應(yīng)用 1.6k次閱讀
- 代碼編程規(guī)范之注釋風(fēng)格 2.9k次閱讀
- STM32G0開發(fā)筆記:FreeRTOS和FreeModbus庫使用 7.8k次閱讀
- SITL代碼分布結(jié)構(gòu) 2.2k次閱讀
- 鴻蒙OS代碼學(xué)習(xí):init進(jìn)程的相關(guān)代碼 3k次閱讀
- 九張機(jī)器學(xué)習(xí)和深度學(xué)習(xí)代碼速查表分享_初學(xué)者必備 4.7k次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 651單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)大棚環(huán)境控制器仿真程序
- 1.10 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論