任何人都可以与我分享什么正确发生(或意图发生......)在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