CH582串口進(jìn)入錯誤中斷無法跳出

CH582連接了一個wifi模塊,在wifi模塊串口回復(fù)數(shù)據(jù)時如果出現(xiàn)錯誤的串口數(shù)據(jù)(經(jīng)過邏輯分析儀看到的有錯誤的數(shù)據(jù))時,CH582就會一直卡在串口接收中斷里面。

case UART_II_LINE_STAT: // 線路狀態(tài)錯誤

? ? ? ? {

? ? ? ? ? ? PRINT("uart_error \r\n");

? ? ? ? ? ? UART3_CLR_RXFIFO();

? ? ? ? ? ? UART3_GetLinSTA();

? ? ? ? ? ? break;

? ? ? ? }

這個怎么清除中斷?

在線路狀態(tài)錯誤中斷里面沒有做任何處理的時候一收到錯誤的串口數(shù)據(jù)就馬上會一直卡在case UART_II_LINE_STAT: // 線路狀態(tài)錯誤這個里面,加上一句?UART3_CLR_RXFIFO();后就不會必現(xiàn),但是偶爾還是會出現(xiàn),所以這個要怎么解決?


先清除標(biāo)志再清除fifo的內(nèi)容,就是按照你代碼的方式處理。

進(jìn)入線路錯誤中斷可以打印LSR寄存器判斷原因。

可能導(dǎo)致的原因,例如在串口進(jìn)行收發(fā)時被優(yōu)先級更高的中斷打斷,導(dǎo)致沒有及時從FIFO取走數(shù)據(jù)導(dǎo)致問題。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频