三勺最近在學(xué)習(xí)STM32F103的DAC功能,本文主要解釋在配置DAC寄存器實現(xiàn)相應(yīng)功能時遇到的一些問題。
目標(biāo)一:軟件觸發(fā)DAC
根據(jù)技術(shù)手冊設(shè)置:
設(shè)置GPIO為模擬輸入模式。
設(shè)置DAC->CR、DAC->DHR12R1寄存器。
開啟KEIL的Debug調(diào)試功能:
現(xiàn)象1 :改變DHR12R1寄存器的值,DAC的輸出電壓不改變
原因和步驟 :每一次DAC的輸出都要開啟軟件觸發(fā)位。數(shù)據(jù)手冊中的圖42中有相關(guān)說明。打個不正當(dāng)?shù)谋扔?,圖中觸發(fā)源相當(dāng)于是控制邏輯器的時鐘,只有時鐘在跳動,控制器才能正常工作。

目標(biāo)二:實現(xiàn)DAC的三角波輸出
根據(jù)技術(shù)手冊設(shè)置:
設(shè)置MAMP位的三角波幅值。
依據(jù)DAC框圖使能所以需要打開的控制位。
現(xiàn)象: 成功輸出三角波。
目標(biāo)三:使用DAC+DMA+定時器輸出正弦波
根據(jù)技術(shù)手冊設(shè)置:
現(xiàn)象: 成功輸出正弦波,但是波形中有一個點重復(fù)了兩次。

原因和步驟 :程序中的正弦波的點不是計算得出,而實通過Python腳本生成的32點數(shù)組,在DMA搬運(yùn)時,DMA的搬運(yùn)次數(shù)設(shè)置了32,示波器圖中有一點重復(fù)。DMA的CNDTR寄存器設(shè)置為31及完成了完美的正弦波,知道原因的小伙伴歡迎留言哦。
-
寄存器
+關(guān)注
關(guān)注
31文章
5608瀏覽量
129968 -
dac
+關(guān)注
關(guān)注
44文章
2713瀏覽量
197068 -
定時器
+關(guān)注
關(guān)注
23文章
3368瀏覽量
123593 -
STM32F103
+關(guān)注
關(guān)注
34文章
495瀏覽量
67688 -
GPIO
+關(guān)注
關(guān)注
16文章
1328瀏覽量
56219
發(fā)布評論請先 登錄
stm32f103系列引腳定義-功能圖
STM32F103教程之STM32F103單片機(jī)的使用心得資料免費(fèi)下載
GD32F103與STM32F103的區(qū)別 2021.6.2
學(xué)習(xí)STM32F103的定時器功能
學(xué)習(xí)STM32F103的ADC功能
學(xué)習(xí)STM32F103的DAC功能
評論