STM32 基DMA的DAC波形发生器

DAC是STM32系列的一个基本外设,可以将数字信号转化成模拟信号,这次我将使用DAC来输出一个特定波形。

首先确定工作方法,由于我目前在做的简易示波器在输出波形的同时还需要显示输入信号,所以不能占用太多CPU时间,于是就选用了基于DMA的ADC。

使用DMA只需告诉DMA外设它要怎么搬移数据就可以处理其他事。

 

首先定义一下

#define DAC_DHR12R1    (u32)&(DAC->DHR12R1)   //DAC DATA buff

作为DMA的外设数据地址

 

首先是初始化输出管脚

DAC1对应PA4

void Wave_GPIO_Config(void)//DAC!-------PA5 { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 ; GPIO_SetBits(GPIOA,GPIO_Pin_4) ; GPIO_Init(GPIOA, &GPIO_InitStructure); }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdgpz.html