找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2267|回復(fù): 0
收起左側(cè)

STM32使用DMA+DAC+TIMER輸出正弦波

[復(fù)制鏈接]
ID:816311 發(fā)表于 2020-9-1 08:28 | 顯示全部樓層 |閱讀模式
DMA:我的理解就是一個(gè)通道,或者是一座橋梁。在靜態(tài)內(nèi)存到靜態(tài)內(nèi)存,或者外設(shè)到靜態(tài)內(nèi)存間的一個(gè)通訊的通道。建立這個(gè)通道的好處是:可以拋開CPU,不占用CPU的資源,直接使用這塊內(nèi)存的內(nèi)容,速度也會(huì)加快。
DAC:STM32F103中有兩個(gè)DAC,可以同時(shí)使用。DAC的作用就是將數(shù)字量轉(zhuǎn)化為模擬量(電壓),在這就不作太多的講解。
TIMER:定時(shí)器。不作講解。
那么對(duì)于使用DMA+DAC+TIMER產(chǎn)生正弦波的原理或過程:
  先將一個(gè)可以生成正弦波的數(shù)據(jù)表保存在靜態(tài)內(nèi)存中,然后在DAC以及這塊內(nèi)存中間使用DMA建立一個(gè)通道,經(jīng)過以上步驟之后,DAC模塊就可以通過DAM通道拿取靜態(tài)內(nèi)存中可以生成正弦波的數(shù)據(jù),拿取數(shù)據(jù),然后經(jīng)過數(shù)模準(zhǔn)換,在引腳進(jìn)行輸出就可以得到正弦波了。
        那么當(dāng)然,這個(gè)速度是非?斓,如果沒有一定的延時(shí),那么得到的估計(jì)就是一個(gè)變化很快的模擬量。所以這個(gè)時(shí)候就需要使用定時(shí)器TIMER了。
        DAC在初始化的時(shí)候,可以設(shè)置成使用定時(shí)器觸發(fā),這就意味著,當(dāng)定時(shí)器溢滿的時(shí)候,就會(huì)觸發(fā)DAC工作。這樣一來,就可以通過改變定時(shí)器的定時(shí)時(shí)間來改變正弦波的周期了。

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表