簡體   English   中英

如何在兩個半雙工串行端口之間創建隧道?

[英]How to create a tunnel between two half-duplex serial ports?

我正在從事一個嵌入式項目,該項目包括兩個半雙工UART和一個全雙工UART。

UART1連接到設備A。UART2連接到設備B,而UART3連接到PC。 UART1和UART2是半雙工的,因此必須正確配置RX / TX模式。

觸發UART1上的信號時,UART2從設備B中獲取一些數據。該數據放入緩沖區中,然后傳輸回UART1和UART3。 器件A消耗數據,並在UART1上發送更多項目,然后必須將其傳遞到UART2,以使器件B響應。

我在考慮一種可以處理TX / RX模式之間切換模式的高效狀態機,到目前為止,我的UART代碼是中斷驅動的。 有什么方法可以解決該計划的流程?

在這種情況下,我認為您不需要狀態機。 為什么不僅僅相應地掛接所有中斷,然后將從一個設備收到的任何內容轉發給另一個設備呢?

您可能需要包括一個TX(環形)緩沖區,以適應每個UART的不同速度,然后讓RX-ISR將接收到的數據寫入適當的TX緩沖區,然后從那里將它們消耗掉。其他UART的UDRE-ISR。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM