![]() |
發布時間: 2020-11-14 17:02
正文摘要:Modbus-Master-Slave-STM32-HAL-FreeRTOS 源代碼來自https://github.com/alejoseb/Modbus-STM32-HAL-FreeRTOS,支持多實例,可以同時使用Master和Slave,原作者使用CubeIDE工程,用不太習慣,我這里做點小修改使用MDK工 ... |
不像是freetros例程,怎么有while大循環 |
多謝樓主分享 |
樓主,程序中從機的任務是只開啟串口的接收使能嗎?數據發送給主機的過程在哪體現的呢?這里有點沒明白。 |
不錯,正在了解modbus協議,感謝 |
不錯,對我有很大的幫助,感謝 |
謝謝,正學習freeRTOS |
樓主,程序中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); 編譯通過,但實際不能正常執行。 |
樓主,程序中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); 編譯通過,但實際不能正常執行。 |
主機讀到的數據在哪里處理? |
多學習吧,這個例子看著好像不錯呀 |
一共有3個串口,485用了哪一個串口 |
我用單片機485連接觸摸屏,請教讀寫地址在哪里修改 |
sjb384321 發表于 2021-9-30 22:41 這是用Keil5編譯的結果 |
51hei.png (49.73 KB, 下載次數: 138)
我用stm32ve 編譯出錯通不過,錯誤指向 Mobdbus103.sct *.o (RESET, +First) 請指教 |
下載的文件顯示壓縮包只能用winrar打開 大家注意下 |
謝謝,正需要這方面的資料學習下 |
不錯,多一些這樣的工程代碼 |