關(guān)于RS485通信數據丟失問(wèn)題

查看數: 14581 | 評論數: 19 | 收藏 0
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請稍候......
發(fā)布時(shí)間: 2011-9-9 16:09

正文摘要:

最近用STC12C5202AD芯片,實(shí)現主機與從機通信功能,用的是RS485協(xié)議,上面是RS485電路圖,現在的情況是只能收發(fā)一個(gè)數據,無(wú)論主機發(fā)送多少個(gè)數據,從機也只能收發(fā)一個(gè)數據,調試了整天也沒(méi)有找到原因,下面是 ...

回復

sgj511285515 發(fā)表于 2015-6-10 22:03:40
我給你提一個(gè)意見(jiàn),硬件沒(méi)啥問(wèn)題,看到有人說(shuō)加匹配電阻,其實(shí)線(xiàn)很短,不加也沒(méi)事,你有兩個(gè)延時(shí)函數,如果程序正在執行第一個(gè)延時(shí)函數,如果我給你串口發(fā)數據了,但是你還沒(méi)有拉低485接受信號線(xiàn),也就是收不到,你不覺(jué)得邏輯有問(wèn)題嗎?
lucent 發(fā)表于 2015-5-26 11:25:25
呵呵。簡(jiǎn)單。下載一份485規格書(shū)就可以的了。
pcbkey 發(fā)表于 2015-2-22 14:30:05
支持一下
deli333 發(fā)表于 2014-3-23 09:19:48
距離短的話(huà)你的電路沒(méi)甚問(wèn)題
deli333 發(fā)表于 2014-3-23 09:18:55
可能是主機發(fā)送的太頻繁,叢機沒(méi)有反應過(guò)來(lái)主機的數據又來(lái)啦,叢機一直工作在中斷中自然數據發(fā)不回去
笑梨 發(fā)表于 2014-3-13 09:09:46
Wilson2010888 發(fā)表于 2011-10-11 15:18
就硬件電路而言,我建議你改進(jìn)一下,貼一個(gè)我量產(chǎn)過(guò)的485電路

我沒(méi)看懂,請教一下,這個(gè)圖是怎么工作的呢?
Wilson2010888 發(fā)表于 2011-10-11 15:18:10
就硬件電路而言,我建議你改進(jìn)一下,貼一個(gè)我量產(chǎn)過(guò)的485電路
richedy 發(fā)表于 2011-10-11 14:37:33
學(xué)習中
Zaxife 發(fā)表于 2011-10-8 18:05:35
1 485芯片A、B端沒(méi)接上下拉電阻,沒(méi)接中間電阻,會(huì )導致控芯片制信號邏輯不正確,兩個(gè)控制端短接為一個(gè)讀寫(xiě)電平;
2 定義全局數組,每次串口接收中斷把數據堆入數組,主程序每次循環(huán)都檢測數組里面的數據有效性,數組超限自動(dòng)出棧最先進(jìn)來(lái)的數。如果數據有效則取數到臨時(shí)數組后標記全局數組為無(wú)效數據。
3 默認情況下主程序控制485芯片為接收狀態(tài)。當需要發(fā)送數據時(shí)才控制485芯片為發(fā)送狀態(tài),狀態(tài)轉換時(shí)間可以累加變量來(lái)判斷,不要用延時(shí)子程序。while(!TI)也是用累加變量來(lái)判斷實(shí)現超時(shí)功能清TI,不要一直等待.....
建議去單片機仿真論壇看看吧http://proteus.5d6d.com
sc88cs 發(fā)表于 2011-9-29 09:32:07
你這個(gè)程序這樣寫(xiě)也是沒(méi)問(wèn)題的。
只不過(guò)主機發(fā)送的程序要配合從機。
主機發(fā)了一個(gè)數據,等從機收到并且返回了再發(fā)下一個(gè)就可以了。。。。。
你的程序有很多不好的地方,效率不高,盡量利用中斷來(lái)延時(shí)和中斷來(lái)發(fā)送數據就好點(diǎn)。。。。
暗之聲 發(fā)表于 2011-9-28 22:13:57
那個(gè)3腳一邊是DE,一邊是DO,不會(huì )是這里有問(wèn)題吧,其他的我都看不懂.
暗之聲 發(fā)表于 2011-9-28 22:09:53
圖上3腳一個(gè)是DO,一個(gè)是DE
暗之聲 發(fā)表于 2011-9-28 22:07:45
那個(gè)3腳一邊是DE,一邊是DO,不會(huì )是這里有問(wèn)題吧,其他的我都看不懂.
liuanmuyu 發(fā)表于 2011-9-27 15:57:38
好好研究
c86518 發(fā)表于 2011-9-18 13:28:25
如果哪位高手解決問(wèn)題,請通知一聲c86518@163.com。
網(wǎng)上相關(guān)485注意事項都看過(guò)了。
c86518 發(fā)表于 2011-9-18 13:27:15
我也正遇到同樣的問(wèn)題。四套STC11F04XE+MAX485CSE連接到一起。一個(gè)單片機發(fā)送,其他單片機接收。通過(guò)反復調試發(fā)現,若連續發(fā)送4個(gè)字節,只能接收到前兩個(gè)字節。若間隔1秒發(fā)送一個(gè)字節,則都能收到。感覺(jué)到MAX485接收很慢。
mutou868 發(fā)表于 2011-9-15 10:19:11
如果你是連續發(fā)送數據,則串口一直產(chǎn)生中斷,無(wú)法執行其他程序。
zjx_embcom 發(fā)表于 2011-9-14 13:17:59
你這個(gè)程序實(shí)現的功能是:從主機收一個(gè)數據,再將該數據發(fā)送給主機。當然無(wú)法連續的接收到主機上發(fā)送的數據的。因為你在發(fā)數據的時(shí)候,就沒(méi)有辦法接收數據。這個(gè)485是工作在半雙工的狀態(tài)。
sherwin 發(fā)表于 2011-9-14 10:38:59
程序不懂,僅就硬件說(shuō)兩句:
1、輸出端,A、B兩線(xiàn)之間,要并聯(lián)一個(gè)120歐姆的負載匹配電阻。必要時(shí),最好再串接一個(gè)平衡濾波器。
2、供電腳(pin 8)最好能再并一個(gè)10uF的電解,以確保供電穩定。
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页