任何人都可以與我分享什麼正確發生(或意圖發生......)在RS232通信時,當RTS或CTS線的狀態改變的任何信息?RS232握手 - 詳細發生了什麼?
我正在研究一個應用程序,在該應用程序中,通過Qt的QextSerialPort庫連接到串行端口的PC與Atmel AVR微控制器進行通信。有時微控制器必須做些事情(檢查ADC,時間精確的時間間隔等),要求它禁用其內部中斷,並因此暫時關閉其UART端口。我正在使用RTS/CTS握手信號,以便AVR在將要通過將其RTS線路拉高來關閉其端口時向PC發出信號,並通過再次使RTS變爲低電平來通知重新打開端口。
基本上這個功能很好,但是我仍然不清楚如果RTS設置爲高電平而在通過任一方向傳輸的中途有一個字節時會發生什麼。在AVR方面,我可以在很低的水平上控制事物,但在PC端,我只是將QextSerialPort置於硬件流控制模式,這使得它可以執行底層的Windows功能。我想知道這裏的行爲不匹配可能是我在傳輸中偶然出現的一些故障的解釋。
這是照亮,謝謝你;我不知道當CTS上線時USART繼續工作,我認爲它只是在它的軌道上停下來(或者最多傳輸了當前字節後)。這也許可以解釋我偶爾看到的其他一些奇怪的效果,雖然也許不是我現在正在處理的那個。 – 2012-01-03 22:12:48