STM32CubeMX | STM32 F4系列HAL库使用DAC模拟量输出

1 篇文章 0 订阅
1 篇文章 0 订阅
本文介绍了如何通过三步在CubeMX中配置HAL库,实现DAC将数字信号转化为模拟信号,控制水泵转速。首先配置DAC输出引脚,然后在main函数中初始化DAC,最后在程序循环中调整PumpSpeed变量控制输出电压。
摘要由CSDN通过智能技术生成

使用CubeMX配置HAL库编程DAC(数字信号转化为模拟信号)很简单只需要三步

第一步:CubeMx配置,我这里的图片配置了两个DAC输出,第一个DAC输出对应PA4引脚,第二个DAC输出对应的PA5引脚。(如果使用一个的话完全可以配置一个引脚DAC,两个独立互不干扰)
在这里插入图片描述
第二步:在main主函数里进行初始化,我的是跑了FreeRTOS,main主函数有其他相关配置,不用管,main主函数的while循环外,加上这一句初始化即可

	HAL_DAC_Start(&hdac,DAC_CHANNEL_1);			//打开DAC(1)
	HAL_DAC_Start(&hdac,DAC_CHANNEL_2);			//打开DAC(2)

在这里插入图片描述
第三步:运行程序的循环中调用DAC输出功能函数,我这里设置了一个变量PumpSpeed,通过调节PumpSpeed变量数值的大小控制输出电压的大小从而控制水泵的转速,设置PumpSpeed变量等于4095,输出电压为10v,设置PumpSpeed变量等于4095,输出电压为10v(水泵转速最快),设置PumpSpeed变量等于2047,输出电压为5v,设置PumpSpeed变量等于2047,输出电压为0v(水泵转速为0不转),我的开发板DAC输出口是0~10v,其他开发板类似,如4095对应3.3v,0对应0v。

HAL_DAC_SetValue(&hdac, DAC_CHANNEL_2, DAC_ALIGN_12B_R, PumpSpeed);  //设置发生的电压

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值