STM32L152 ADC使用總結

2021-06-25 07:32:27 字數 1076 閱讀 4613

使用了stm32l152的adc:

stm32l152的adc總結:

在單通道單一轉換模式下,使用adc中斷,未使用dma。adc中斷向量的配置在庫函式中的 msic.c 檔案中,中斷入口函式在 stm32l1xx_it.c 檔案中。

adc配置:

(0)配置adc的gpio為模擬輸入;

(1)使能hsi時鐘,要等待hsi時鐘開啟;

(2)使能adc時鐘;

(3)配置adc相關引數**換精度,轉換模式,位元組對齊);

(4)配置adc通道和取樣時鐘;

(5)配置adc取樣頻率(預分頻引數);

(6)配置adc中斷向量相關引數;

(7)開啟adc的eoc中斷;

(8)給adc上電,並檢測adc是否準備好;

(9)軟體開啟adc;

adc中斷函式的處理:

(1)判斷eoc(end of conversion)標誌位,因為在adc配置中開啟的是eoc中斷;

(2)對eoc清零;

(3)對轉換數值處理;

(4)再次給adc上電;

(5)檢測adons標誌位,等待adc準備好;

(6)開啟軟體開啟方式轉換;  

stm32l1xx系列adc能自動進入低功耗模式:

stm32l1xx的adc為內部3v基準電壓,計算公式為:

待解決問題:

(1) 得到的adc測量值末位數字會跳變,fluke 15b測量末位數值也會跳變,供電電壓不穩是肯定的,不知道換了電池供電是否會好點?是否需要軟體濾波?

(2)stm32l1xx驅動lcd1602時,埠必須接上拉電阻,否則無顯示

(3)adc四通道取樣,dma方式。。。。待測

。。。。。。。。。。。。

STM32L152 外部中斷配置

以外部中斷0,管腳為pa0為例來進行配置 void sys exti0init void 中斷服務子程式的函式名是已經定義好了,在韌體庫中中斷檔案中這樣子說明 在startup stm32l1xx mdp.s 檔案中,中斷函式名如下定義 external interrupts dcd wwdg ir...

STM32定時觸發ADC 取樣頻率等問題總結

定時器觸發就是兩次採集之間的時間間隔,比如定時器觸發的時間我設定為2s,即間隔2s的時間採集一次。那麼採集一次需要的時間是多少呢,這個是可以設定的,也被叫做轉換時間,一般都是us級別。這個就是通過這個函式可以進行配置的 adc regularchannelconfig adc1,adc channe...

STM32使用HAL庫實現ADC單通道轉換

好了,下面就開始說明怎麼用stm32cubemx實現adc單通道轉換吧。利用中斷模式 1 配置adc引腳 2 開定時跟串列埠,定時器用來定時開啟adc轉換,這樣可以達到1s內控制adc轉換次數的目的,不過有個限制,這裡樣子控制adc轉換次數的話,如果取樣次數多,配置adc取樣速度時一定要夠 快,正常...