STM32F407学习记录(DAC)

DAC简介

DAC 模块是 12 位电压输出数模转换器。 DAC 可以按 8 位或 12 位模式进行配置,并且可与DMA 控制器配合使用。在 12 位模式下,数据可以采用左对齐或右对齐。 DAC 有两个输出通道,每个通道各有一个转换器。在 DAC 双通道模式下,每个通道可以单独进行转换;当两个通道组合在一起同步执行更新操作时,也可以同时进行转换。可通过一个输入参考电压引脚 VREF+ (与 ADC 共享)来提高分辨率。

DAC引脚

在这里插入图片描述
DAC_OUT1->PA4
DAC_OUT2->PA2
要使能DAC通道,应先将对应引脚配置为模拟模式

DAC寄存器

DAC_DORx寄存器不能直接写入,任何数据都需要通过DAC_DHRx寄存器才能传输到DAC通道x上。

DAC触发选择

自动触发:经过1个APB1时钟周期,DHRx->DORx
硬件触发:DAC转换由外部硬件事件(如定时器、外部中断等)来启动。当DAC配置为硬件触发模式时(例如通过设置DAC_CR1寄存器的TENx位),数据从DHRx到DORx的传输会在外部触发事件发生后3个APB1时钟周期后完成。
软件触发:DAC经过一个 APB1 时钟周期后, DAC_DHRx 寄存器中存储的数据将自动转移到 DAC_DORx 寄存器。
在这里插入图片描述

//设置通道1输出电压
//vol:0~3300,代表0~3.3V
void Dac1_Set_Vol(u16 vol)
{
	double temp=vol;   
	temp/=1000;
	temp=temp*4096/3.3;
	DAC_SetChannel1Data(DAC_Align_12b_R,temp);//12位右对齐数据格式设置DAC值
}
//配置多少的模拟电压,直接通过参数将电压输入即可

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值