1. 沁恒微的CH579M開發(fā)板
2. 使用串口1,采用UART_II_THR_EMPTY中斷方式發(fā)送(中斷方式發(fā)送不阻塞CPU),打開FIFO
3. 間隔100ms發(fā)送32字節(jié)數(shù)據(jù),波特率115200
思路:
1. 發(fā)送時首先在R8_UART1_THR寄存器連續(xù)寫8字節(jié)
2. 等待FIFO發(fā)送完成,產(chǎn)生UART_II_THR_EMPTY中斷
3. 在中斷函數(shù)中繼續(xù)向R8_UART1_THR寄存器連續(xù)寫8字節(jié),直到發(fā)送完32字節(jié)。
問題:
發(fā)送數(shù)據(jù)大部分沒問題,偶爾會出現(xiàn)發(fā)送錯位的情況。
發(fā)送數(shù)據(jù)不變的情況下,錯誤的位置和錯誤數(shù)據(jù)都不變,出現(xiàn)時間隨機
每次錯誤數(shù)據(jù)都是8字節(jié),一個FIFO的數(shù)據(jù)
如圖: