DAC的功能:可以输出电压(无触发,设置DAC转换值,DAC使能更新寄存器和启动转换)或者波形(连续转换,用DMA发送数据,定时器触发)。首先有个正弦波波形的数组,内存到DAC的DMA通道不断的将正弦波数组数据送到DAC转换的数据寄存器,设定定时器触发(还有外部触发和软件触发),在定时时间到之后自动触发DAC转换,只要配置了DAC,相应管教就会一直输出,为了降低功耗和干扰,在初始化时可以设置管脚为模拟输入。https://blog.csdn.net/vca821/article/details/80697776
https://blog.csdn.net/qq_38410730/article/details/80095881
https://wenku.baidu.com/view/b3abdf2ea300a6c30c229ff3.html
DAC输出电压
当DAC的参考电压位VREF+的时候,数字输入经过DAC被线性地转换为模拟电压输出,其范围为0到VREF+。任一DAC通道引脚上的输出电压满足下面的关系:DAC输出 = VREF x (DOR / 4095)。输出某个电压:DValue=(V/3300)*65536,DAC_SetChannel1Data(DAC_Align_12b_R, DValue);
可以设置软件触发DAC_Trigger_Software
void Dac1_Set_Vol(uint16_t vol)
{
uint16_t temp; temp = (uint16_t) ((vol/3.3 +0.000001) * 4096); //注意模拟量运算注意精度问题
DAC_SetChannel1Data(DAC_Align_12b_R,temp);
DAC_SoftwareTriggerCmd(DAC_Channel_1,ENABLE);
}
关于驱动能力:
1 DAC_OutputBuffer使能
2 参考电压的电源驱动能力
对其方式:
触发源: