金牌会员
 
- 积分
- 2765
- 金钱
- 2765
- 注册时间
- 2018-11-8
- 在线时间
- 438 小时
|
发表于 2022-10-13 13:52:58
|
显示全部楼层
没用 这是寄存器版的例程
void Dac1_Init(void)
{
RCC->APB2ENR|=1<<2; //使能PORTA时钟
RCC->APB1ENR|=1<<29; //使能DAC时钟
GPIOA->CRL&=0XFFF0FFFF;
GPIOA->CRL|=0X00000000; //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不使能
DAC->DHR12R1=0;
}
这是HAL库例程
void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac)
{
GPIO_InitTypeDef GPIO_Initure;
__HAL_RCC_DAC_CLK_ENABLE(); //使能DAC时钟
__HAL_RCC_GPIOA_CLK_ENABLE(); //开启GPIOA时钟
GPIO_Initure.Pin=GPIO_PIN_4; //PA4
GPIO_Initure.Mode=GPIO_MODE_ANALOG; //模拟
GPIO_Initure.Pull=GPIO_NOPULL; //不带上下拉
HAL_GPIO_Init(GPIOA,&GPIO_Initure);
} |
|