㈠ 單片機通過485如何避免通信沖突,比如要發送數據,但是串口在接受數據,這樣是不是就要錯過此次發送數據了
單片機通過485通信, 屬於准雙向通訊,在接收時不能發送,上位機與下位機通訊,
一般為 上位機 發送 指令 或者 數據,下位機接收完成後 判斷 是指令還是數據,
並返回 執行狀態 和 數據。
就是 有接收完成 後 馬上 返回數據 給 上位機。即 上位機與下位機的收發協議。
如果 隨意發送數據,那肯定會亂套了。
㈡ 關於51單片機3機(1主2從)用485串列通信的問題!!
其他沒有錯誤,只是中斷時候,cort跑飛
key_serial() interrupt 0 using 1
{
++cort;
//這里要加一個循環,確保一個中斷只加一次,建議中斷與P1.1口接上,這里就while(P1_1==0);
}
㈢ RS485主從式多機(單片機)通信,從機的地址是怎麼確定或定義的
從機的地址是遵循協議,根據協議定義的。
RS485主從式多機通訊協議的數據傳輸協議:此協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網路進行通信的。它描述了一控制器請求訪問其它設備的過程,如何回應來自其它設備的請求,以及怎樣偵測錯誤並記錄。它制定了消息域格局和內容的公共格式。
此協議決定了每個控制器須要知道它們的設備地址,識別按地址發來的消息,決定要產生何種行動。如果需要回應,控制器將生成反饋信息按本協議發出。
(3)單片機從機485擴展閱讀
主從式多機通訊協議的錯誤檢測方法:
1、超時檢測
用戶要給主設備配置-預先定義的超時時間間隔,這個時間間隔要足夠長,以使任何從設備都能作為正常反應。如果從設備檢測到一傳輸錯誤,消息將不會接收,也不會向主設備作出回應。這樣超時事件將觸發主設備來處理錯誤。發往不存在的從設備的地址也會產生超時。
2、CRC檢測
CRC域是一個位元組,檢測了整個消息的內容。它由傳輸設備計算後加入到消息中。接收設備重新計算收到消息的CRC,並與接收到的CRC域中的值比較,如果兩值不同,則有誤,從設備對本消息不作回應。
通訊網路只設有一個主機,所有通信都由他發起。網路可支持254個之多的遠程從屬控制器,但實際所支持的從機數要由所用通信設備決定。
㈣ 485電路,通信,單片機,主從
首先確定你的485晶元是好的,然後保證從機工作在「主從模式」,即:你的從機不是任何時候都在向外面發送數據,如果從既機要發送數據要有主機呼叫發送,並且要保證每台從機的呼叫識別碼不同,這樣在任意時刻就能保證僅有一台從機在與主機通信,從而不會發生數據的碰撞。還有一點需要注意的就是,要在485匯流排的兩端加上終端電阻(一般選100歐姆並接在兩根匯流排上)以避免信號的反射。你自己試試把。
㈤ 電腦作為主機,多個單片機系統作為從機使用RS485匯流排連接,匯流排和單片機間使用什麼方式連接最簡單
多個單片機系統作為從機使用RS485匯流排連接,這都要求了,用RS485匯流排啦,單片機就必須用RS485介面啦,這還有什麼可說的嗎?
匯流排是485的,有A,B兩條線,單片機上用RS485介面晶元,也是A,B兩個接線端,與匯流排的A,B直接連接嗎。
RS485介面晶元有:75176,最好的是75LBC184,匯流排A,B兩端帶有ESD保護。見下圖。
㈥ 單片機RS485多機通信, 從機可接收到主機的數據, 主機無法接收到從機返回的數據.
數據手冊上Figure21 只有兩個R20,其它487都沒有
㈦ 台達PLC用485與單片機怎麼實現通訊
有2種方案:
1、plc做從機,單片機做主機
2、單片機做從機,plc做主機
對上面兩種,plc需要加485拓展模塊或拓展小板,同時在plc內部需要通過寫程序設置好d8140、d8141等寄存器通訊參數,對於51單片機需要連max485,同時需要控制好接受和發送,需要波特率與plc一致,協議的話建議使用
485
modbus協議。
㈧ 用多塊51單片機用485進行串列通信
很明顯,第一個程序是發送程序,通過定時器控制發送的內容;第二個程序時接受程序,使用串口中斷接收。Rs485晶元有控制管腳,接收使能是低電平,一般只有在需要發送時方將其轉為發送狀態(高電平),發送完畢後即轉為接收狀態。
㈨ 單片機 RS485
單片機使用RS485通訊,可以使用全雙工和半雙工兩種模式。半雙工比較簡單。
如果用半雙工,根據你的工作電源,5V可以用MAX485、ST485、SP485等;3.3V用MAX3485、SP3485、ST3485等。全雙工實際上就是採用兩片晶元成為全雙工。就是邏輯上要做點處理。
RS485採用通用串列口,增加一個發送/接收控制口(命名為RS485_CON),將單片機TX接MAX485的DI,RX接MAX485的RO,MAX485的RE和DE鏈接接在RS485_CON上,當RS485_CON為高時,是允許串列通訊輸入,為低時,允許串列輸出。MAX485輸出為A、B差分信號,所以比RS232抗干擾能力強,傳輸距離相對RS232遠。詳見RS485規范。如果需要可以告訴我郵箱,發送給你。
一般我們使用時常要採用光電隔離,以保證可靠性。
在設計還要考慮網路終端要網路匹配電阻。
現在RS485的使用逐漸減少,我們現在一般留有這個口,實際很多採用CAN現場匯流排,通訊距離遠,抗干擾好,很方便的組成一個匯流排網。
㈩ RS485主從式多機(單片機)通信,從機的地址是怎麼確定或定義的寫個類似程序看看
從機地址是由你從機中的軟體定義的,當然要設置界面方便修改,以避免地址相同的情況。在串口中斷處理程序中監聽接收所有的串口消息,然後看命令中的地址是否是本機地址,是則響應命令,不是則直接丟棄改命令。