[STM32F0] STM32F091的dac

[复制链接]
 楼主| 封存into 发表于 2025-5-23 22:37 | 显示全部楼层 |阅读模式
在STM32F091上使用 DAC 。已经在 cubemx - - Channel1 -  PA4 中完成配置了,使能output buffer,no trigger.。
Main.c 如下:

static char dac_tmp=200;
set_DAC_output(dac_tmp);
if (HAL_DAC_Start (&hdac, DAC_CHANNEL_1 ) != HAL_OK)
{
HAL_Delay(1000);//TODO ADC CALL ERROR HANDLING
}
while (1)
{
  /* USER CODE END WHILE */
  /* USER CODE BEGIN 3 */
set_DAC_output(dac_tmp);
}
void set_DAC_output(char DAC_VAL)
{
if (HAL_DAC_SetValue (&hadc, DAC_CHANNEL_1, DAC_ALIGN_8B_R, DAC_VAL) != HAL_OK)
{
HAL_Delay(1000); // TODO ADC CALL ERROR HANDLING
}
}

在DAC 启动PA4 引脚输出0v前,PA4 引脚先输出 0.06 V。
在同一个板子上,也使用 ADC并且使用相同的参考电压。ADC采样正常。

gaonaiweng 发表于 2025-5-31 18:00 | 显示全部楼层
你把hadc(ADC句柄)传给了HAL_DAC_SetValue,而不是hdac。正确写法是:
if(HAL_DAC_SetValue (&hdac, DAC_CHANNEL_1, DAC_ALIGN_8B_R, DAC_VAL) != HAL_OK)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

110

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部