STM32CUBEMX(9)--ADC通過輪詢方式讀取,USART打印
概述
本章通過使用模數(shù)轉(zhuǎn)換器(ADC),通過輪詢方式采集多個ADC通道電壓。
之前已經(jīng)做過DMA方式采樣,詳情請查看:https://www.bilibili.com/read/cv11455185
硬件準(zhǔn)備
????首先需要準(zhǔn)備一個開發(fā)板,這里我準(zhǔn)備的是NUCLEO-F030R8的開發(fā)板:??

選擇芯片型號
????使用STM32CUBEMX選擇芯片stm32f030r8,如下所示:

配置時鐘源
????HSE與LSE分別為外部高速時鐘和低速時鐘,在本文中使用內(nèi)置的時鐘源,故都選擇Disable選項,如下所示:

配置時鐘樹
????STM32F0的最高主頻到48M,所以配置48即可:

串口配置
????本次實驗使用的串口1進(jìn)行串口通信,波特率配置為115200。

ADC配置
????STM32f030中,有一個ADC(模擬/數(shù)字轉(zhuǎn)換器),每個 ADC 有 12 位、 10 位、 8 位和 6 位可選,每個ADC有16個外部通道、2個內(nèi)部通道和一個VBAT 通道的信號。
????本文將開ADC的IN0、IN1、IN15一共三個通道,來分別讀取ADC,由于串口2和IN2,IN3復(fù)用,故不使用IN2、IN3。配置如下:

生成工程設(shè)置
????注意在生產(chǎn)工程設(shè)置中不能出現(xiàn)中文,不然會報錯。

生成代碼

配置keil

代碼
????在main.c中,添加頭文件,若不添加會出現(xiàn) identifier "FILE" is undefined報錯。
?????函數(shù)聲明和串口重定向。
????變量定義。
????主循環(huán)。
演示效果
?????設(shè)定adc0口接3.3V,adc1口接GND,adc15口接1.5V,輸出如下。

視頻講解

標(biāo)簽: