首先stm32f407是自带dac功能的,所以我先用片上adc尝试输出任意波形。
思想就是准备一个数组,然后dac依次输出数组里面的数,dac的电平变化就是我们的要的任意波形。,随便选一个,触发方式选择定时器触发,这样好控制波形的周期和频率,,
波形产生模式选择 disabled,然后再开一个dma通道
开循环模式,这样可以多次搬运数组里面的数据,至于为什么开word模式,还不懂,懂了再来改。
定时器时钟源选择内部,它的所谓内部时钟其实就是晶振产生的时钟,有点歧义。以后有了更深的理解再来补充。
定时器的配置,定时器2的输出作为dac的激发。
接下来就是准备你要生成的波形的数组,然后启动dac可以发出对应的波形了HAL_TIM_Base_Start(&htim2); HAL_DAC_Start_DMA(&hdac, DAC_CHANNEL_1, (uint32_t *)DualSine12bit_sanjiao, 500,DAC_ALIGN_12B_R);