DAC数模转换实验(原理及配置)

本文详细介绍了STM32的DAC数模转换原理,包括其功能特性、配置方式以及如何通过寄存器库函数进行配置。通过讲解如何设置输出波形、触发模式以及输出电压,展示了在STM32上实现DAC的基本步骤,适用于嵌入式开发人员进行参考。
摘要由CSDN通过智能技术生成

DAC数模转换实验

1. 数模转换DAC原理

STM32 DAC局限性:
只有大容量的STM3210x才具有DAC功能,所以正点原子所有STM32开发板均具有DAC功能。
STM32的DAC模块(数字/模拟转换模块)是12位数字输入,电压输出型的DAC。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC模块有2个输出通道(有2个控制器),每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。
STM32的DAC模块主要特点有:
①2个DAC转换器:每个转换器对应1个输出通道
②8位或者12位单调输出
③12位模式下数据左对齐或者右对齐
④同步更新功能
⑤噪声波形生成
⑥三角波形生成
⑦双DAC通道同时或者分别转换
⑧每个通道都有DMA功能
通过控制输出我们想要的波形,可根据自己的需求生成任意的波形。
在这里插入图片描述
DORx:数据寄存器。
在这里插入图片描述
使用DAC输出到PA4、PA5,要将PA4、PA5设置成模拟输入(AIN)。
DAC转换:
不能直接对寄存器DAC_DORx写入数据,任何输出到DAC通道x的数据都必须写入DHRx寄存器(数据实际写入DAC_DHR8Rx、DAC_DHR12Lx、DAC_DHR12Rx、DAC_DHR8RD、DAC_DHR12LD、或者DAC_DHR12RD寄存器)。
如果没有选中硬件触发(寄存器DAC_CR1的TENx位置’0’),存入寄存器DAC_DHRx的数据会在一个APB1时钟周期后自动传至寄存器DAC_DORx。如果选中硬件触发(寄存器DAC_CR1的TENx位置’1’),数据传输在触发发生以后3个APB1时钟周期后完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值