雙緩沖區(qū)
防止前一組數(shù)據(jù)沒有及時(shí)處理后一組數(shù)據(jù)就來了,將前一組覆蓋了。
采用標(biāo)志位的方法,標(biāo)志位為1就將數(shù)組1的地址賦給DMA存儲器的地址,并且將標(biāo)志位置0。同理,標(biāo)志位為0就將數(shù)組2的地址賦給DMA存儲器的地址,并且將標(biāo)志位置1。
DMA+串口空閑中斷
傳輸計(jì)數(shù)器設(shè)置一個(gè)很大的值,串口沒有數(shù)據(jù)給寄存器的時(shí)候串口進(jìn)入空閑中斷,空閑中斷中進(jìn)行數(shù)據(jù)處理,清除的話要先讀SR寄存器,再讀DR寄存器
參考文章STM32 | 串口DMA很難?其實(shí)就是如此簡單!(超詳細(xì)、附代碼)_stm32串口dma很難?-CSDN博客
浙公網(wǎng)安備 33010602011771號