三勺最近在學(xué)習(xí)STM32F103的DAC功能,本文主要解釋在配置DAC寄存器實(shí)現(xiàn)相應(yīng)功能時(shí)遇到的一些問(wèn)題。
目標(biāo)一:軟件觸發(fā)DAC
根據(jù)技術(shù)手冊(cè)設(shè)置:
設(shè)置GPIO為模擬輸入模式。
設(shè)置DAC->CR、DAC->DHR12R1寄存器。
開(kāi)啟KEIL的Debug調(diào)試功能:
現(xiàn)象1 :改變DHR12R1寄存器的值,DAC的輸出電壓不改變
原因和步驟 :每一次DAC的輸出都要開(kāi)啟軟件觸發(fā)位。數(shù)據(jù)手冊(cè)中的圖42中有相關(guān)說(shuō)明。打個(gè)不正當(dāng)?shù)谋扔?,圖中觸發(fā)源相當(dāng)于是控制邏輯器的時(shí)鐘,只有時(shí)鐘在跳動(dòng),控制器才能正常工作。
目標(biāo)二:實(shí)現(xiàn)DAC的三角波輸出
根據(jù)技術(shù)手冊(cè)設(shè)置:
設(shè)置MAMP位的三角波幅值。
依據(jù)DAC框圖使能所以需要打開(kāi)的控制位。
現(xiàn)象: 成功輸出三角波。
目標(biāo)三:使用DAC+DMA+定時(shí)器輸出正弦波
根據(jù)技術(shù)手冊(cè)設(shè)置:
現(xiàn)象: 成功輸出正弦波,但是波形中有一個(gè)點(diǎn)重復(fù)了兩次。
原因和步驟 :程序中的正弦波的點(diǎn)不是計(jì)算得出,而實(shí)通過(guò)Python腳本生成的32點(diǎn)數(shù)組,在DMA搬運(yùn)時(shí),DMA的搬運(yùn)次數(shù)設(shè)置了32,示波器圖中有一點(diǎn)重復(fù)。DMA的CNDTR寄存器設(shè)置為31及完成了完美的正弦波,知道原因的小伙伴歡迎留言哦。
-
寄存器
+關(guān)注
關(guān)注
31文章
5433瀏覽量
124358 -
dac
+關(guān)注
關(guān)注
44文章
2403瀏覽量
193622 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3298瀏覽量
118802 -
STM32F103
+關(guān)注
關(guān)注
33文章
483瀏覽量
65491 -
GPIO
+關(guān)注
關(guān)注
16文章
1280瀏覽量
54030
發(fā)布評(píng)論請(qǐng)先 登錄
基于STM32F103的振動(dòng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
stm32f103系列引腳定義-功能圖

STM32F103教程之STM32F103單片機(jī)的使用心得資料免費(fèi)下載
STM32F103使用TIM DMA DAC實(shí)現(xiàn)播放WAV音樂(lè)

GD32F103與STM32F103的區(qū)別 2021.6.2

基于STM32F103的DAC8411驅(qū)動(dòng)程序
學(xué)習(xí)STM32F103的定時(shí)器功能

學(xué)習(xí)STM32F103的ADC功能

評(píng)論