void Dac_Init_1(void)
{
RCC->APB2ENR|=1<<2; //使能PORTA时钟
RCC->APB1ENR|=1<<29; //使能DAC时钟
GPIOA->CRL&=0XFFF0FFFF;
GPIOA->CRL|=0X00030000;//PA4 推挽输出
GPIOA->ODR|=0<<4; //PA4 输出低
DAC->CR|=1<<0; //使能DAC1
DAC->CR|=1<<1; //DAC1输出缓存使能 BOFF1=1
DAC->CR|=0<<2; //不使用触发功能 TEN1=0
DAC->CR|=0<<3; //DAC TIM6 TRGO,不过要TEN1=1才行
DAC->CR|=0<<6; //不使用波形发生
DAC->CR|=0<<8; //屏蔽、幅值设置
DAC->CR|=0<<12; //DAC1 DMA不使能
}
void Dac_Init_2(void)
{
RCC->APB2ENR|=1<<2; //使能PORTA时钟
RCC->APB1ENR|=1<<29; //使能DAC时钟
GPIOA->CRL&=0XFF0FFFFF;
GPIOA->CRL|=0X00300000;//PA5 推挽输出
GPIOA->ODR|=0<<5; //PA5 输出低
// DAC->CR|=0x0b<<24; //屏蔽、幅值设置
DAC->CR|=1<<16; //使能DAC2
DAC->CR|=1<<17; //DAC1输出缓存使能 BOFF1=1
DAC->CR|=0<<18; //不使用触发功能 TEN1=0
DAC->CR|=0<<19; //DAC TIM6 TRGO,不过要TEN2=1才行
DAC->CR|=1<<22; //不使用波形发生
DAC->CR|=0<<24; //屏蔽、幅值设置
DAC->CR|=0<<28; //DAC2 DMA不使能
}
void Set_Dac_1(u16 data)
{
DAC->DHR12RD |= 0XFFF&data;
}
void Set_Dac_2(u16 data)
{
DAC->DHR12RD |= 0XFFF0000&data;
}
只有DAC1工作,DAC2不工作,怎么回事?求指导。。。。在线等。。。。谢谢了 |