找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2266|回復: 7
打印 上一主題 下一主題
收起左側

關于RS485通信發(fā)送數據斷行問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:74687 發(fā)表于 2023-6-18 16:07 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
采用http://www.torrancerestoration.com/bbs/dpj-23230-1.html這篇文章的方法,可以實現RS485的通信,但是有個問題,作為485的下位機,發(fā)送的數據經常會碰到一次發(fā)送的數據分兩兩行發(fā)送。開始我以為是定時器中斷的引起的,但我在發(fā)送數據的時候關掉定時器中斷,也沒能解決這個問題。


這是通過串口走485線路時發(fā)生的問題,如果還是使用這個程序,切換到串口和上位機進行通信,發(fā)送數據就不會出現斷行現象。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:384109 發(fā)表于 2023-6-18 22:02 | 只看該作者
有沒有考慮過這個現象是串口助手軟件的問題呢
回復

使用道具 舉報

板凳
ID:883242 發(fā)表于 2023-6-19 06:43 | 只看該作者
你的串口軟件有問題。MODBUS/RTU是3.5字節(jié)空閑時間表示一個幀的結束,你的串口軟件可能小于這個時間。
回復

使用道具 舉報

地板
ID:123289 發(fā)表于 2023-6-19 08:04 | 只看該作者
兩種方式所產生的結果不同,查查兩者的協議,有何區(qū)別。
回復

使用道具 舉報

5#
ID:420836 發(fā)表于 2023-6-19 09:03 | 只看該作者
Modbus 發(fā)送請求的確切字節(jié)。 所以它不應該把數據分成兩部分。
回復

使用道具 舉報

6#
ID:1045628 發(fā)表于 2023-6-19 14:34 | 只看該作者
一般是你這個測試助手問題,串口收發(fā)數據并沒有“行”的概念,應該是助手認為接收結束了,但實際并沒有結束
回復

使用道具 舉報

7#
ID:74687 發(fā)表于 2023-6-20 14:58 | 只看該作者
人中狼 發(fā)表于 2023-6-18 22:02
有沒有考慮過這個現象是串口助手軟件的問題呢

不一定是串口助手的問題,我通過串口發(fā)送數據時,上位機接收的工具也是串口助手軟件,但是并沒發(fā)生上面的狀況。
回復

使用道具 舉報

8#
ID:596109 發(fā)表于 2023-6-20 15:25 | 只看該作者
我用qt開發(fā)上位機的時候就遇到這個問題,長數據接收經常會被分成兩個包接收到,我后來是在上位機加了數據包長度檢測,只能說治標不治本,也能湊合用
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表