我使用flexio 配置一个uart 模式,并通过pin D6 在中断中接收数据。驱动程序代码来自EB tresos。最后我发现一件奇怪的事情,当我使用 rx 中断时我无法获得每个正确的字符。例如,如果我设置
Uart_AsyncReceive ( 3 , & test_rx_data_u8g , 1 );
,
当我想得到很多连续的字符时,我会从第二个字符中得到一些乱七八糟的字符。
但是,如果我设置
Uart_AsyncReceive( 3, test_rx_data_u8g, 10);
,
只要我从 PC 发送超过 10 个字符,我就会得到所有正确的 10 个字符。
最后,我发现在获取第一个字符后会发生错误中断。
怎么了?