1. 沁恒微的CH579M开发板
2. 使用串口1,采用UART_II_THR_EMPTY中断方式发送(中断方式发送不阻塞CPU),打开FIFO
3. 间隔100ms发送32字节数据,波特率115200
思路:
1. 发送时首先在R8_UART1_THR寄存器连续写8字节
2. 等待FIFO发送完成,产生UART_II_THR_EMPTY中断
3. 在中断函数中继续向R8_UART1_THR寄存器连续写8字节,直到发送完32字节。
问题:
发送数据大部分没问题,偶尔会出现发送错位的情况。
发送数据不变的情况下,错误的位置和错误数据都不变,出现时间随机
每次错误数据都是8字节,一个FIFO的数据
如图:
热门产品 :
CH32X035: 32位USB+USB PD单片机