stm8l DAC_OUT2
hlala 2018-03-07 06:25:58 #include"iostm8l151c8.h"
void CLK_INIT(void)
{
CLK_PCKENR1=0x80; //DAC外设时钟开启。
CLK_PCKENR2=0X20; //比较器外设时钟开启。致于为什么我也没弄明白。
}
void RI_IOSWITCH(void)
{
RI_IOSR3=0x10; //I/O 路由开关。DAC_OUT2:PB4,PB5,PB6
}
void GPIO_INIT(void)
{
PB_DDR=0; //本段不是必须的,可不要,都是复位默认的。
PB_CR1=0;
PB_CR2=0; PF_DDR=0;
PF_CR1=0; PF_CR2=0;
}
void DAC_INIT(void)
{
//DAC_CH1CR1=0; //本四行与上面说的一样,可不要。
//DAC_CH1CR2=0;
//DAC_CH2CR1=0;
//DAC_CH2CR2=0;
DAC_CH2CR1_EN=1; DAC_CH1CR1_EN=1;
DAC_CH2RDHRH=0x08;DAC_CH2RDHRL=0x00;
DAC_CH1RDHRH=0x04; DAC_CH1RDHRL=0x00;
}
void main(void)
{
CLK_INIT();RI_IOSWITCH();
//GPIO_INIT(); DAC_INIT();
while(1);
}
//DAC1,DAC2输出正常。调试时注意,如没有电压输出,多注意在硬件上的VREF+,VDDA是否连上电源。在网上求了几天没人关注,最后还是自己搞定了。