前言
關(guān)于ADC這一塊的功能基本上也算是CortexM芯片的標(biāo)配了。ST的每一塊芯片都有這個(gè)功能,只是說因型號(hào)不同,通道數(shù)、位數(shù)等有所不同。STM8的芯片大多數(shù)都是10的,也就是說分辨率可達(dá)到:參考電壓*(1/1024);STM32大多數(shù)都是12位的,也有少部分是16位的(F373)。平常采集一般的電壓值,10位數(shù)都?jí)蛭覀兪褂昧?,除非使用在非常精密,或者說要求比較高的場(chǎng)合。
F0系列的芯片和F1系列的芯片差不多相似,但是F0沒有ADC2、ADC3這么一說,只有ADC1,這里在編程的時(shí)候(特別是想把代碼從F1移植到F0上的人要注意)。
下載
ST標(biāo)準(zhǔn)外設(shè)庫(kù)和參考手冊(cè)、數(shù)據(jù)手冊(cè)等都可以在ST官網(wǎng)下載,你也可以到我的360云盤下載。關(guān)于F0系列芯片的參考手冊(cè)有多個(gè)版本(針對(duì)F0不同芯片),但有一個(gè)通用版本,就是“STM32F0x128參考手冊(cè)V8(英文)2015-07”建議參考該手冊(cè),以后如果你換用一種型號(hào)芯片也方便了解。
今天的軟件工程下載地址(360云盤):
https://yunpan.cn/cSULmkr3vBQUj訪問密碼14c7
STM32F0xx的資料可以在我360云盤下載:
https://yunpan.cn/cS2PVuHn6X2Bj訪問密碼8c37
準(zhǔn)備工作
今天總結(jié)的軟件工程是基于“TIM基本延時(shí)配置詳細(xì)過程”修改而來(lái),因此需要將該軟件工程下載準(zhǔn)備好。打開軟件工程,新建源程序文件(adc.c和adc.h),在工程中添加新建的源程序文件adc.c和使用到標(biāo)準(zhǔn)外設(shè)庫(kù)stm32f0xx_adc.c。添加的源代碼響應(yīng)的源文件代碼就OK了。
數(shù)據(jù)傳輸原理
ADC模塊是一種12位的逐次逼近型模擬數(shù)字轉(zhuǎn)換器。它有多達(dá)19個(gè)通道,可測(cè)量16個(gè)外部和3個(gè)內(nèi)部信號(hào)源。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對(duì)齊或右對(duì)齊方式存儲(chǔ)在16位數(shù)據(jù)寄存器中。

配置過程詳情
①RCC時(shí)鐘

該函數(shù)位于bsp.c文件下面;
我個(gè)人習(xí)慣第一步配置時(shí)鐘,ST官方提供的例程也是把配置時(shí)鐘放在前面。關(guān)于RCC時(shí)鐘的配置比較重要,有好幾次我就是由于忘記配置相應(yīng)RCC時(shí)鐘,讓我找了很久的問題,最后才發(fā)現(xiàn)是RCC時(shí)鐘沒有配置。
注意:
外設(shè)時(shí)鐘不要隨便添加,比如:RCC_APB1外設(shè)不要配置在RCC_APB2時(shí)鐘里面【如:RCC_APB2PeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);這樣能編譯過,但是錯(cuò)誤的】
我每次都提醒RCC時(shí)鐘,是因?yàn)楹芏嗳司褪且驗(yàn)闀r(shí)鐘而導(dǎo)致軟件運(yùn)行有問題,所以,提醒更多人要注意配置RCC.
②ADC引腳配置

該函數(shù)位于adc.c文件下面;
重點(diǎn)注意:
引腳配置要和AD通道對(duì)應(yīng)才行(請(qǐng)看數(shù)據(jù)手冊(cè)中的引腳說明)。
③ADC配置

該函數(shù)位于adc.c文件下面;
分辨率和對(duì)齊方式?jīng)Q定你的計(jì)算方式、通道與上面的引腳配置需對(duì)應(yīng)。
④ADC采集電壓值

該函數(shù)位于adc.c文件下面;
調(diào)用這個(gè)接口就可以采集電壓值。這里采樣8次(根據(jù)自己情況可以選擇平均多次),算平均,最后得出電壓值(1000倍值)。1000倍數(shù)值是不想有小數(shù)點(diǎn),方便打印輸出。
說明
STM32F0的芯片軟件兼容性很好,可以適用于F0其他很多型號(hào)的芯片(具體請(qǐng)看手冊(cè)、或者親自測(cè)試)。
今天的工程是基于工程“STM32F0xx_TIM基本延時(shí)配置詳細(xì)過程”修改而來(lái),以上實(shí)例總結(jié)僅供參考,若有不對(duì)之處,敬請(qǐng)諒解。
-
adc
+關(guān)注
關(guān)注
100文章
7511瀏覽量
555883 -
采集電源
+關(guān)注
關(guān)注
0文章
4瀏覽量
6904 -
STM32F0
+關(guān)注
關(guān)注
0文章
61瀏覽量
17864
發(fā)布評(píng)論請(qǐng)先 登錄
RA MCU眾測(cè)寶典 | ADC/DAC之【RA2L1】DAC電壓輸出及ADC電壓采集實(shí)驗(yàn)
【乾芯QXS320F開發(fā)板試用】乾芯QXS320F開發(fā)板ADC采樣功能試用報(bào)告
【RA4M2-SENSOR】+UART打印及ADC電壓采集
AD7606BSTZ 采樣基準(zhǔn)電壓,得到的值是0X76F6而不是0X7FFF,請(qǐng)問是什么原因?
【RA-Eco-RA6M4開發(fā)板評(píng)測(cè)】ADC 電壓的 LabVIEW 數(shù)據(jù)采集
ADC采集精度不良
基于APM32F411 DMA_ADC Handler模式分析及解決
第十九章 ADC——電壓采集
STM32F0xx_ ADC采集電壓配置詳細(xì)過程
評(píng)論