欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: STM32 Modbus主從站實例程序-FreeRTOS [打印本頁]

作者: xuezc    時間: 2020-11-14 17:02
標題: STM32 Modbus主從站實例程序-FreeRTOS
Modbus-Master-Slave-STM32-HAL-FreeRTOS
源代碼來自https://github.com/alejoseb/Modbus-STM32-HAL-FreeRTOS,支持多實例,可以同時使用MasterSlave,原作者使用CubeIDE工程,用不太習慣,我這里做點小修改使用MDK工程,代碼初始化由CubeMX生成,簡直不要太方便,可以無痛移植到其他STM芯片。
基本設置







啟用Freertos,添加任務




設置中斷優先級


設置長生成MDK工程



工程里面添加Modbus庫





修改main.c






修改freertos.c











編譯下載到單片機,完美運行





移植過程非常簡單,使用其他型號的芯片只要對應設置即可
附上stm32f070和stm32f103的實例
Modbus103_MDK.rar (873.64 KB, 下載次數: 354)

ModbusF070_MDK.rar (878.89 KB, 下載次數: 134)

不過這個主站發送指令顯示有點繁瑣,另附上一個同樣是在Github挖回來的Modbus庫
ModBus-庫.rar (10.9 KB, 下載次數: 240)

這個同樣支持主從站多實例,里面有中文注釋,希望有興趣的朋友移植一下并放出來方便一下大家.

作者: 神出沒    時間: 2020-11-19 08:21
不錯,多一些這樣的工程代碼
作者: maozg0725    時間: 2020-11-27 13:51
謝謝,正需要這方面的資料學習下
作者: WHNGZZQ    時間: 2021-5-6 12:01
下載的文件顯示壓縮包只能用winrar打開 大家注意下

作者: sjb384321    時間: 2021-9-30 22:41
我用stm32ve 編譯出錯通不過,錯誤指向  Mobdbus103.sct    *.o (RESET, +First)  請指教
作者: heicad    時間: 2021-9-30 22:53
sjb384321 發表于 2021-9-30 22:41
我用stm32ve 編譯出錯通不過,錯誤指向  Mobdbus103.sct    *.o (RESET, +First)  請指教

這是用Keil5編譯的結果

51hei.png (49.73 KB, 下載次數: 138)

51hei.png

作者: sjb384321    時間: 2021-10-1 07:24
我用單片機485連接觸摸屏,請教讀寫地址在哪里修改
作者: sjb384321    時間: 2021-10-1 19:48
一共有3個串口,485用了哪一個串口
作者: dashiwork    時間: 2022-1-26 21:43
多學習吧,這個例子看著好像不錯呀
作者: zhang666666    時間: 2022-2-10 14:22
主機讀到的數據在哪里處理?
作者: xiaotian426    時間: 2022-9-17 16:25
樓主,程序中3個串口可以同時啟用嗎?比如2個做slave,1個做master(1個做slave,2個做master)?
添加了:
ModbusH3.uiModbusType = SLAVE_RTU;
  ModbusH3.port =  &huart3;
  ModbusH3.u8id = 3;                
  ModbusH3.u16timeOut = 1000;
  ModbusH3.EN_Port = NULL;
  //ModbusH2.EN_Port = LD2_GPIO_Port;
  //ModbusH2.EN_Pin = LD2_Pin;
  ModbusH3.u32overTime = 0;
  ModbusH3.au16regs = ModbusDATA3;
  ModbusH3.u16regsize= sizeof(ModbusDATA3)/sizeof(ModbusDATA3[0]);
  //Initialize Modbus library
  ModbusInit(&ModbusH3);
  //Start capturing traffic on serial Port
  ModbusStart(&ModbusH3);
編譯通過,但實際不能正常執行。
作者: xiaotian426    時間: 2022-9-17 16:26
樓主,程序中3個串口可以同時啟用嗎?比如2個做slave,1個做master(1個做slave,2個做master)?
添加了:
ModbusH3.uiModbusType = SLAVE_RTU;
  ModbusH3.port =  &huart3;
  ModbusH3.u8id = 3;                
  ModbusH3.u16timeOut = 1000;
  ModbusH3.EN_Port = NULL;
  //ModbusH2.EN_Port = LD2_GPIO_Port;
  //ModbusH2.EN_Pin = LD2_Pin;
  ModbusH3.u32overTime = 0;
  ModbusH3.au16regs = ModbusDATA3;
  ModbusH3.u16regsize= sizeof(ModbusDATA3)/sizeof(ModbusDATA3[0]);
  //Initialize Modbus library
  ModbusInit(&ModbusH3);
  //Start capturing traffic on serial Port
  ModbusStart(&ModbusH3);
編譯通過,但實際不能正常執行。
作者: rbbjj    時間: 2023-1-1 14:59

謝謝,正學習freeRTOS
作者: zz121x    時間: 2023-5-10 10:02
不錯,對我有很大的幫助,感謝
作者: zz121x    時間: 2023-5-10 10:03
不錯,正在了解modbus協議,感謝
作者: qitiandasheng    時間: 2023-7-24 11:33
樓主,程序中從機的任務是只開啟串口的接收使能嗎?數據發送給主機的過程在哪體現的呢?這里有點沒明白。
作者: Mrnibaba    時間: 2024-6-6 07:36
多謝樓主分享
作者: chenbingjy    時間: 2024-11-7 14:50
不像是freetros例程,怎么有while大循環




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