最近利用485做一個控制與狀態輪詢,現在遇到了一個問題。
狀態輪詢是定時輪詢,利用定時器中斷實作的,也就是主機定時發送查詢指令給從機,并且從機回復相應的狀態。
控制則由電腦的串口除錯助手發送指令,再由主機發送給從機。
這個時候發現會出現一種狀況,當從機在發反饋資料給主機的時候,主機也在下發控制指令,此時,從機可能就收不到主機發送的控制指令。
這里我是用的485芯片是MAX13485E芯片,其中有RX和TX的使能控制,這兩個使能控制一個是高電平有效一個是低電平有效,設計板子的人也把這兩個使能用一個IO口進行控制,也就是說,現在這個芯片不可以同時收發。
在不改變硬體的情況下,能完善軟體進行改情況的改善嗎?
之前分別嘗試了每次多發、輪詢指令發送時等待控制指令發送完畢等等,但還是存在控制指令無效的情況。
通過示波器觀察,也可以發現控制指令失效的原因就是因為從機正處于發送反饋資料的狀態,所以控制指令無效。
正常情況下的控制指令

處于TX模式無效的控制指令
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/241127.html
標籤:其它技術問題
下一篇:求大佬看看這個怎么做
