Atxmega USART流量控制
我在Atxmega256上遇到了USART流量控制的麻烦。我正在与使用RTS / CTS进行流量控制的调制解调器进行通信。一旦调制解调器将CTS设置为低电平,我想停止发送数据,直到它再次变为高电平。我目前正在使用中断驱动的USART例程,似乎找不到停止发送的好方法。如果我只是在CTS变为低电平时停止发送,则发送缓冲区中的数据仍将被发送并因此丢失。
我尝试过以下禁用/启用发送:
if(false == clearToSend()) {
USART_TxdInterruptLevel_Set(data->usart, USART_TXCINTLVL_OFF_gc);
while(false == clearToSend()) {}
USART_TxdInterruptLevel_Set(data->usart, USART_TXCINTLVL_LO_gc);
}
不幸的是,这似乎永久禁用了发送。有任何想法吗?
最好的祝福
弗雷德里克
没有找到相关结果
已邀请:
2 个回复
痴浪墨
邵酮