Page 1 of 1

串口fifo清理失败

Posted: Mon Jan 15, 2018 1:32 am
by www220
现象描述,想在清理接收fifo中的数据,官方提供的
for (i = 0; i < rx_fifo_len; i++) {
READ_PERI_REG(UART_FIFO_REG(uart_num));
}
的方法并不好用,新数据到来以后,读取的仍然是旧的fifo中的数据
但是并不是每一次都是旧数据,在一定概率下会出现,特别是接收数据超过fifo大小以后,概率很高
必须使用rxfifo_rst = 1的方式去清理,但是由于芯片bug,这个方法已经被官方禁止
能否提供其他更有效的清理fifo的方法

Re: 串口fifo清理失败

Posted: Mon Jan 15, 2018 6:23 am
by WiFive