找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1831|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

MODBUS+485通訊,只需要一個(gè)串口就能完成

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:525244 發(fā)表于 2022-2-7 09:39 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
昨天調(diào)試modbus時(shí),發(fā)送正常,接收不正常,后來(lái)排查是單片機(jī)和RS485讀之間的電阻壞了,想出了一個(gè)想法:RS485在接收的時(shí)候,發(fā)送是無(wú)效的,能不能在正常發(fā)送的是否,發(fā)送一個(gè)無(wú)法發(fā)出的空字節(jié),啟動(dòng)發(fā)送,發(fā)送完畢中斷之后就是一個(gè)發(fā)送字節(jié)的長(zhǎng)度。modbus主機(jī)在發(fā)送完指令后,將RS485設(shè)置到接收狀態(tài),然后發(fā)送空字節(jié),發(fā)送一次加1,當(dāng)累加的數(shù)值超過(guò)1s(設(shè)置的等待時(shí)間),判定為讀取失敗,重新發(fā)送讀取指令。在接收到一個(gè)字節(jié)之后,將計(jì)數(shù)器清零,在發(fā)送一個(gè)字節(jié)時(shí)+1,等到加到3以上時(shí),判定為接收完成。這樣只用1串口就能完成串口的接收完成判斷。省去了1ma定時(shí)器。大家覺(jué)得這樣行嗎?抽空試一下。。。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:883242 發(fā)表于 2022-2-7 14:50 | 只看該作者
1)485本來(lái)就只需要一個(gè)串口。
2)第一次聽(tīng)說(shuō)計(jì)數(shù)器論ma的。
回復(fù)

使用道具 舉報(bào)

板凳
ID:476652 發(fā)表于 2022-2-7 15:03 | 只看該作者
有新想法就是好同志!可以再多測(cè)試下自己的想法,其實(shí)串口通信就是這樣的,沒(méi)有RS485芯片控制點(diǎn),
回復(fù)

使用道具 舉報(bào)

地板
ID:94031 發(fā)表于 2022-2-7 15:19 | 只看該作者
modbus 收發(fā)是有協(xié)議規(guī)范的,不能隨便自己創(chuàng)造。
回復(fù)

使用道具 舉報(bào)

5#
ID:525244 發(fā)表于 2022-2-8 09:34 來(lái)自觸屏版 | 只看該作者
xuyaqi 發(fā)表于 2022-2-7 15:19
modbus 收發(fā)是有協(xié)議規(guī)范的,不能隨便自己創(chuàng)造。

你說(shuō)的是協(xié)議,只要按照協(xié)議發(fā)送數(shù)據(jù)就行,具體怎么實(shí)現(xiàn),沒(méi)要求。對(duì)資源緊缺的8腳單片機(jī)來(lái)說(shuō),能省一個(gè)是一個(gè)
回復(fù)

使用道具 舉報(bào)

6#
ID:525244 發(fā)表于 2022-2-8 09:37 來(lái)自觸屏版 | 只看該作者
Hephaestus 發(fā)表于 2022-2-7 14:50
1)485本來(lái)就只需要一個(gè)串口。
2)第一次聽(tīng)說(shuō)計(jì)數(shù)器論ma的。

我就說(shuō)計(jì)數(shù)器ma咋地了?你只用一個(gè)串口,來(lái)說(shuō)說(shuō),不用定時(shí)器,你是啥方式來(lái)判斷接收完成?
回復(fù)

使用道具 舉報(bào)

7#
ID:47286 發(fā)表于 2022-2-8 12:59 | 只看該作者
感覺(jué)這和485沒(méi)啥關(guān)系 發(fā)數(shù)據(jù)流都需要知道什么時(shí)候發(fā)送或者叫接收完畢了 至于485 那只是一種傳輸介質(zhì) 和uart i2c spi等等有啥區(qū)別 485又不像can有專門的控制芯片 不都是單片機(jī)控制么 至于結(jié)束判斷 有用結(jié)束符的 有用總長(zhǎng)的 也有用時(shí)間的 你這想法也可以 隨著硬件速度的增加 用什么方法消耗都差不多 愛(ài)用哪個(gè)方法就用哪個(gè)唄

對(duì)于8pin的單片機(jī) 網(wǎng)上有不需要控制腳 只用RX TX兩腳的電路圖 我試過(guò)兩種都還行 低速用一個(gè)mos管 高速用一片555
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表