91视频丝瓜-91视频完整版高清-91视频网-91视频网店-91视频网或将从此无大神-91视频网入口

您好,歡迎訪問上海現易電子元器件有限公司網站!

021-51870898
021-51870898   18019251567
4新聞資訊
您的位置: 首頁 ->  新聞資訊 -> 單片機

?STM32 雙DAC DMA TIM6輸出正弦波例子

文章出處:單片機 責任編輯:上海現易電子元器件有限公司 發表時間:2020-11-10

STM32F103有雙DAC通道,利用DMA實現2個波形輸出


#include "stm32f10x.h"  

  

//DAC1,2初始化  

void dac_init(void)  

{  

    RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; //開啟端口A時鐘  

    RCC->APB1ENR |= RCC_APB1ENR_DACEN; //開啟DAC時鐘  

      

    GPIOA->CRL &= 0xff00ffff; //PA4,PA5模擬輸入  

      

    DAC->CR = DAC_CR_TEN1 | DAC_CR_TEN2; //開啟觸發使能才能設置觸發模式  

    //開啟DAC,關閉輸出緩存,TIM6 TRGO觸發,DMA使能  

    DAC->CR |= DAC_CR_EN1 | DAC_CR_BOFF1 | DAC_CR_DMAEN1 | \  

               DAC_CR_EN2 | DAC_CR_BOFF2 | DAC_CR_DMAEN2;  

    //必須關閉緩沖才能輸出低于0.5V電壓  

}  

  

//DMA2初始化  

void dma2_init(unsigned int cpar, unsigned int cmar, unsigned int cndtr)  

{  

    RCC->AHBENR |= RCC_AHBENR_DMA2EN; //開啟DMA2時鐘  

  

    DMA2_Channel3->CPAR = cpar; //外設地址  

    DMA2_Channel3->CMAR = cmar; //存儲器地址  

    DMA2_Channel3->CNDTR = cndtr; //傳輸數據量  

      

    //通道開啟,從存儲器讀,循環,外設不自增,存儲器自增  

    //外設32位數據,存儲器32位數據,優先級最高,非存儲器到存儲器  

    DMA2_Channel3->CCR = DMA_CCR3_EN | DMA_CCR3_DIR | DMA_CCR3_CIRC | \  

                         DMA_CCR3_MINC | DMA_CCR3_PSIZE_1 | DMA_CCR3_MSIZE_1 | \  

                         DMA_CCR3_PL_0 | DMA_CCR3_PL_1;  

}  

  

//TIM6初始化  

void tim6_init(unsigned short arr, unsigned short psc)  

{  

    RCC->APB1ENR |= RCC_APB1ENR_TIM6EN; //開啟TIM6時鐘  

      

    TIM6->PSC = psc; //預分頻器  

    TIM6->ARR = arr; //自動重裝載  

  

    TIM6->CR2 &= 0xff8f;  

    TIM6->CR2 |= TIM_CR2_MMS_1; //更新事件用作TRGO  

      

    TIM6->CR1 &= 0xff70;  

    TIM6->CR1 |= TIM_CR1_CEN | TIM_CR1_ARPE; //使能計數器,非單脈沖模式,自動重裝載  

}  


初始化RCC時鐘為72MHz,正弦波1000點,2個波形,一個反相,一個幅度改變


for(i = 0; i < 1000; i++)  

{  

    sw[i] = 4095 - sine_wave[i];  

    sw[i] <<= 16;  

    sw[i] += sine_wave[i] / 3;  

}  

  

dma2_init((unsigned int)&DAC->DHR12RD, (unsigned int)sw, 1000);  

dac_init();  

tim6_init(7200, 0);  


ARR為7199,PSC為0,72M/7199/1000=10Hz波形頻率,修改預分頻和重裝載數值可以改變波形頻率


計算公式:f=fosc/n/(arr+1)/(psc+1)


f-波形頻率


n-波形點數


arr-定時器計數,不能為0


psc-時鐘分頻系數


fosc-系統時鐘,一般PLL后為72MHz


上海現易電子元器件有限公司 版權所有 未經授權禁止復制或鏡像

CopyRight 2020-2025 www.urqm.cn All rights reserved   滬ICP備2020031792號

友情鏈接:

電話

易經理

18019251567

微信

易經理

易經理

頂部

咨詢
主站蜘蛛池模板: 亚洲AV无码成人一区二区三区 | 97精品国产91久久久久久 | 校园又色又夹爽又黄的小说 | 在线观看网站黄 | 娇妻被朋友玩得呻吟在线电影 | 99久久久久国产精品免费 | 日日摸夜夜添夜夜添影院视频 | 成 人 网 站免费观看 | 日韩特级毛片 | 欧美v日本 | 亚洲精品久久无码午夜一区二区 | 色偷偷AV亚洲男人的天堂 | 亚洲精品午夜视频 | 香蕉久久av一区二区三区 | 99RE久久爱五月天婷婷 | 亚洲另类自拍丝袜第1页 | 四虎影视在线观看2024a | 欧美一级第一免费高清 | 97在线观看 | 天天操天天爱天天干 | 综合久久一区二区三区 | 日本三级网络 | 天堂v网| 亚洲愉拍自拍另类天堂 | 苍井空亚洲精品AA片在线播放 | 久久久亚洲精品一区二区三区 | 亚洲精品久久无码AV片俺去也 | 国产精品久久久久久福利 | 日本黄无码不卡高清在线观看 | 国产亚洲精品久久久久久久软件 | 色欲影视 网站 | 免费大片黄国产在线观看 | 欧美乱大交xxxxx在线观看 | 亚洲欧美精品无码大片在线观看 | 国产V片在线播放免费观看大全 | 国产又色又爽又黄又免费软件 | 在线观看国产小视频 | 波多野结衣人妻渴望A片 | 美美哒免费高清影院在线观看8 | 国产午夜AV亚洲欧美小说 | 只要不是我老公1975 |