標(biāo)題: 關(guān)于RS485通信發(fā)送數(shù)據(jù)斷行問題 [打印本頁(yè)]

作者: zyftank    時(shí)間: 2023-6-18 16:07
標(biāo)題: 關(guān)于RS485通信發(fā)送數(shù)據(jù)斷行問題
采用http://www.torrancerestoration.com/bbs/dpj-23230-1.html這篇文章的方法,可以實(shí)現(xiàn)RS485的通信,但是有個(gè)問題,作為485的下位機(jī),發(fā)送的數(shù)據(jù)經(jīng)常會(huì)碰到一次發(fā)送的數(shù)據(jù)分兩兩行發(fā)送。開始我以為是定時(shí)器中斷的引起的,但我在發(fā)送數(shù)據(jù)的時(shí)候關(guān)掉定時(shí)器中斷,也沒能解決這個(gè)問題。


這是通過串口走485線路時(shí)發(fā)生的問題,如果還是使用這個(gè)程序,切換到串口和上位機(jī)進(jìn)行通信,發(fā)送數(shù)據(jù)就不會(huì)出現(xiàn)斷行現(xiàn)象。

作者: 人中狼    時(shí)間: 2023-6-18 22:02
有沒有考慮過這個(gè)現(xiàn)象是串口助手軟件的問題呢
作者: Hephaestus    時(shí)間: 2023-6-19 06:43
你的串口軟件有問題。MODBUS/RTU是3.5字節(jié)空閑時(shí)間表示一個(gè)幀的結(jié)束,你的串口軟件可能小于這個(gè)時(shí)間。
作者: yzwzfyz    時(shí)間: 2023-6-19 08:04
兩種方式所產(chǎn)生的結(jié)果不同,查查兩者的協(xié)議,有何區(qū)別。
作者: TTQ001    時(shí)間: 2023-6-19 09:03
Modbus 發(fā)送請(qǐng)求的確切字節(jié)。 所以它不應(yīng)該把數(shù)據(jù)分成兩部分。
作者: rctty    時(shí)間: 2023-6-19 14:34
一般是你這個(gè)測(cè)試助手問題,串口收發(fā)數(shù)據(jù)并沒有“行”的概念,應(yīng)該是助手認(rèn)為接收結(jié)束了,但實(shí)際并沒有結(jié)束
作者: zyftank    時(shí)間: 2023-6-20 14:58
人中狼 發(fā)表于 2023-6-18 22:02
有沒有考慮過這個(gè)現(xiàn)象是串口助手軟件的問題呢

不一定是串口助手的問題,我通過串口發(fā)送數(shù)據(jù)時(shí),上位機(jī)接收的工具也是串口助手軟件,但是并沒發(fā)生上面的狀況。
作者: yxtao    時(shí)間: 2023-6-20 15:25
我用qt開發(fā)上位機(jī)的時(shí)候就遇到這個(gè)問題,長(zhǎng)數(shù)據(jù)接收經(jīng)常會(huì)被分成兩個(gè)包接收到,我后來是在上位機(jī)加了數(shù)據(jù)包長(zhǎng)度檢測(cè),只能說治標(biāo)不治本,也能湊合用





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