STM32筆記(三)ADC、DMA、USART的綜合練習(xí)
然后,在主函數(shù)里,就無需手動啟動AD轉(zhuǎn)換,等待轉(zhuǎn)換結(jié)束,再取結(jié)果了。我們可以在主函數(shù)里隨時(shí)取AD_Value中的數(shù)值,那里永遠(yuǎn)都是最新的AD轉(zhuǎn)換結(jié)果。
如果我們定義一個(gè)更大的AD_Value數(shù)組,并調(diào)整DMA的傳輸數(shù)據(jù)量(BufferSize)可以實(shí)現(xiàn)AD結(jié)果的循環(huán)隊(duì)列存儲,從而可以進(jìn)行各種數(shù)字濾波算法。
接著,取到轉(zhuǎn)換結(jié)果后,根據(jù)V=(AD_Value/4096)*Vref+的公式可以算出相應(yīng)通道的電壓值,也可以根據(jù)
通過重新定義putchar函數(shù),及包含"stdio.h"頭文件,我們可以方便的使用標(biāo)準(zhǔn)C的庫函數(shù)printf(),實(shí)現(xiàn)串口通信。
相關(guān)的官方例程,可以參考FWLib V2.0的ADCADC1_DMA和USARTprintf兩個(gè)目錄下的代碼。
本代碼例子是基于萬利199的開發(fā)板EK-STM32F實(shí)現(xiàn),CPU=STM32F103VBT6
評論