将DMA的外设地址设置为DAC寄存器的地址,将DMA的内存地址设置为存储正弦波数据的数组,这样每次定时器8的中断发生之后,DMA就会自动从数组中拿出一个数据设置到DAC的寄存器中。通过DMA功能就可以实现数组中的数据依次被放到DAC的数据保持寄存器中。 最后使能定时器,DAC,DMA功能后,DAC的两个输出端口PA4和PA5...
这两个数组的元素如果在坐标上描点出来的话,就是一个周期的正弦波,只不过具有256个元素的数组描出来的曲线比只有32元素的数组描出来的曲线精确的多。这两个数组,我都给出了,以便以后根据场合选择。在这个工程里我选着选择的是Sine12bit[256],画出精确的正弦波。 接下去配置DAC,DAC总共2路通道,由于要输出正弦波,...
在该正弦波形的一个周期0-2pi内平均取128个采样点,然后按照时间先后顺序定义在数组中,每当0.1ms触发源到来的时候,我们就递归的从数组中取出一个值将其设置为DAC的输出值,直到128个采样点全部设置完毕,然后再反复从第一个重新设置,这样就可以大致实现正弦波型 因为需要频繁的从内存取出数据然后写入DAC外设,因此这里比...
程序:就是通过DAC把这些点发出去 图片上的(sin((2*PI)/256))*X应该是(sin(X2*PI/256)),半个周期同理** /*补上代码*/voidDac1_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; DAC_InitTypeDef DAC_InitType; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE );//使能PORTA通道时钟RCC_APB1...
通过PA4 这个 DAC 引脚输出 100Khz 的正弦波。, 视频播放量 713、弹幕量 3、点赞数 8、投硬币枚数 7、收藏人数 9、转发人数 3, 视频作者 光子物联, 作者简介 淘宝店铺:光子物联企业店,相关视频:【STM32F103C8T6系列】7. 实验例程——OLED显示实验,【STM32F103C8T6系列
在代码中,我设置两路正弦波输出,一路输出频率为800Hz的正弦波,另一路输出频率为1600Hz的正弦波,他们分别对应的DAC通道1的PA4引脚,与DAC通道2的PA5引脚。所以代码中首先初始化这两个引脚: /*** Function : SineWave_GPIO_Config Deion: 引脚配置 Input : none return : none ***/ static...
1、自己用的片子是stm32的100,用的DAC通道是:DAC_Channel_1DMA 通道是:DMA1_Channel3定时器用的是:TIM6注:直接用例程没有出现预期的波形,主要是应为我用的片子为 100,所对应的 dac, dma,以及tim与103的对应有所不同,如:100的dac通道1,与dmal 的通道3及tim6是捆在一块的。大家具体调试过程中,要按照...
static void MX_DAC1_Init(void); static void MX_TIM6_Init(void); /* Private function prototypes ---*/ /*正弦波一个周期使用DL个点进行描绘且幅值为1.8Vpp*/ void SineWave_Data( uint16_t cycle ,uint16_t *D) { uint16_t i; float JD; float ZH; float HD; for( i=0;i<...
因此,如果 TIMx_TRGO 为 1 MHz,则 DAC 正弦波的频率为 10 kHz。 注: 要获得高质量的正弦波曲线...
38.4.DAC输出正弦波实验¶ 利用STM32的DAC配合TIM定时器,可以输出随时间变化的电压,本章的实验以输出正弦波为例,演示如何控制输出电压波形。 38.4.1.硬件设计¶ STM32的DAC外设有固定的输出通道,分别为PA4和PA5,不过,挑战者开发板已经在电容按键使用了PA5这个引脚,所以用作DAC通道输出电压时会受到干扰,做本...