最近项目中,使用到了STM8L151芯片的DAC的功能。参照官网的例程后,DA输出还是不对。
后来也是百度其他大神的资料,发现有个大神中,代码多了打开比较器时钟的语句。我在代码中也加入该语句,最后结果对了
下面是DAC的初始化代码
void DAC_Config(void)
{
CLK_PeripheralClockConfig(CLK_Peripheral_DAC, ENABLE); //打开DAC电源
CLK_PeripheralClockConfig(CLK_Peripheral_COMP,ENABLE); //注意COMP一定要打开,否则不能配置RI的寄存器,原因还不清楚
// RI->IOCMR3 |= 0X10;
SYSCFG_RIDeInit(); //da口选择初始化
SYSCFG_RIIOSwitchConfig(RI_IOSwitch_14,ENABLE); //选定指定通道
DAC_Init(DAC_Channel_1,DAC_Trigger_None,DAC_OutputBuffer_Disable);
// DAC_SetChannel1Data(DAC_Align_12b_R,2048);
DAC_Cmd(DAC_Channel_1,DISABLE);
nop();
}
da可以正常输出