熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2018-10-16 08:56
正文摘要:Modbus 一個(gè)工業(yè)上常用的通訊協(xié)議、一種通訊約定。Modbus協(xié)議包括RTU、ASCII、TCP。其中MODBUS-RTU最常用,比較簡(jiǎn)單,在單片機(jī)上很容易實(shí)現(xiàn)。modbus協(xié)議簡(jiǎn)單解析如下: 1、主機(jī)對(duì)從機(jī)寫(xiě)數(shù)據(jù)操作 如果單片機(jī)接收到 ... |
Modbus的控制口與UART公用Pin3,這個(gè)錯(cuò)了吧 |
感謝分享,編譯OK |
你好! 這個(gè)功能模塊能實(shí)現(xiàn)多機(jī)進(jìn)行485通信嗎 |
坐懷不亂 發(fā)表于 2023-11-8 16:50 你好 有沒(méi)有空加你個(gè)好友 幫忙看一下modubus超時(shí)問(wèn)題 我硬件初始化應(yīng)該配置正確了啊 用的正點(diǎn)F103zet6的板子 |
sjh66 發(fā)表于 2023-11-8 08:44 硬件初始化設(shè)置對(duì),然后按照樓主的代碼 代入即可。 |
zk258 發(fā)表于 2022-2-12 19:39 朋友 為啥我改好還是不行 |
坐懷不亂 發(fā)表于 2022-4-20 09:30 請(qǐng)問(wèn) modbus通訊超時(shí)怎么解決的 我看你通訊正常了 |
這個(gè)不錯(cuò),以后來(lái)下載收藏 ,謝謝分享 |
簡(jiǎn)鐺鐺鐺鐺 發(fā)表于 2018-12-19 12:50 不行啊顯示超時(shí) |
非常有用的程序,謝謝樓主!! |
我是剛學(xué)的小白,感謝大佬的分享 |
y8830600 發(fā)表于 2019-4-9 15:16 我用STC15,測(cè)試也遇到你一樣的問(wèn)題,你的問(wèn)題解決了沒(méi)有? |
ksljxxq 發(fā)表于 2023-4-4 18:30 是不是變量類型定義小了,改成32位,或者16位就可以吧 |
發(fā)送只能反回底字節(jié),比如 發(fā)送1234到0#寄存器 ,讀取時(shí)只有34 |
代碼注釋有問(wèn)題,初始化應(yīng)該默認(rèn)接受模式 |
標(biāo)記一下,寫(xiě)的不錯(cuò) |
感謝分享,剛好項(xiàng)目上需要這個(gè)協(xié)議 |
怎么改成主機(jī)啊 |
應(yīng)該說(shuō)一下用的什么開(kāi)發(fā)板,芯片引腳之類的。 不然容易誤導(dǎo) |
有用! |
這個(gè)是從機(jī)源程序,多機(jī)通信可以在源程序的基礎(chǔ)上擴(kuò)展 |
Build target 'Target 1' compiling main.c... compiling stm32f10x_it.c... assembling startup_stm32f10x_hd.s... compiling stm32f10x_gpio.c... compiling stm32f10x_rcc.c... compiling misc.c... compiling stm32f10x_exti.c... compiling stm32f10x_tim.c... compiling stm32f10x_usart.c... compiling stm32f10x_iwdg.c... compiling stm32f10x_wwdg.c... compiling stm32f10x_bkp.c... compiling stm32f10x_pwr.c... compiling stm32f10x_adc.c... compiling stm32f10x_dac.c... compiling stm32f10x_dma.c... compiling stm32f10x_rtc.c... compiling system_stm32f10x.c... compiling core_cm3.c... compiling led.c... compiling rs485.c... APP\rs485\rs485.c(127): warning: #940-D: missing return statement at end of non-void function "rs485_UartWrite" } APP\rs485\rs485.c: 1 warning, 0 errors compiling crc16.c... compiling system.c... compiling SysTick.c... linking... Program Size: Code=3340 RO-data=848 RW-data=36 ZI-data=1148 FromELF: creating hex file... ".\Obj\Template.axf" - 0 Error(s), 1 Warning(s). Build Time Elapsed: 00:00:11 這個(gè)怎么解決 |
zk258 發(fā)表于 2022-2-12 19:39 不改也可以 |
這個(gè)程序可以讓stm32f103zet6和帶485的觸摸屏通訊嗎,要不要改什么東西 |
感謝樓主分享,研究一下,移植到CH32V |
感謝樓主,測(cè)了1天多,終于通訊正常了,之前沒(méi)接觸過(guò)modbus,所以這兩天集中學(xué)習(xí)了下,也出現(xiàn)了很多問(wèn)題,D:\.temp感謝分享。 |
1650417960(1).jpg (460.48 KB, 下載次數(shù): 776)
測(cè)試結(jié)果圖
樓主辛苦了,跟樓主學(xué)習(xí)學(xué)習(xí)。 |
能操作4個(gè)寄存器嗎 |
modbus crc16校驗(yàn)部分是不是有點(diǎn)問(wèn)題呢? |
正點(diǎn)原子STM32F103ZET6需要把串口設(shè)置里的PG3改成PD7,就在RS485_Init函數(shù)里面 |
感謝樓主的無(wú)私奉獻(xiàn) |
一點(diǎn)點(diǎn)啃這兒程序 |
#include "SysTick.h" #include "crc16.h" 這兩個(gè)頭文件有么 |
謝謝樓主的分析,最近需要用到這個(gè)通信協(xié)議,所以來(lái)學(xué)習(xí)學(xué)習(xí) |
發(fā)送01 03 00 01 00 01 D5 CA 接收01 03 02 00 01 79 84 CA 發(fā)送01 06 00 01 00 01 19 CA 接收01 06 00 01 00 01 19 CA 08 這多出來(lái)的一位搞不明白哪里來(lái)的 |
稍作修改,一次成功,謝謝小哥![]() ![]() ![]() ![]() ![]() ![]() ![]() |
非常想學(xué)習(xí)樓主的大作,準(zhǔn)備送幣! |
謝謝分享,但是黑筆不夠了,哈哈 |
剛好要寫(xiě)類似程序,非常有參考價(jià)值,謝謝樓主。 |
大名鼎鼎modbus |
Powered by 單片機(jī)教程網(wǎng)