首页 > 代码库 > 数字/模拟转换(DAC)
数字/模拟转换(DAC)
数字/模拟转换(DAC)
数字/模拟转换模块是?12位数字输入,电压输出的数字/模拟转换器。
1.0 DAC的主要特征
2个DAC转换器,每个转换器对应1个输入通道。
每个通道都有DMA功能。
外部触发转换。
2.0 DAC功能描述
使能DAC通道
将DAC_CR寄存器的ENx的位置置1既可以打开DAC的通道X的供电。经过一段时间,DAC通道X既被使能。
注: ENx只能使能DAC通道的x的模拟部分,即使该使能位被置0,DAC通道x的数字部分仍然工作。
使能DAC输出缓存
用于减少阻抗,无需外部运放即可直接驱动外部负载(DAC_BOFFx位)
DAC数据格式
单DAC通道有3种
8位数据右对齐 用户写入DAC_DHR8Rx[7:0] 实际写入在 DHRx[11:4]
12位数据左/右对齐 用户写入相应的数据寄存器,实际还是写入在DHRx[11:0]
DAC转换
不能直接对寄存器DAC_DORx写入数据,任何输出到DAC通道的数据都必须写入DAC_DHRx寄存器。(实际上是用户写入的各个寄存器)
选择触发
如果TENx被置位,DAC转换可以由外部事件触发(定时器计数器,外部中断线)。配置TSRL[2:0]选择触发条件。
注:只能外部中断线9提供外部中断。
其他
DAC还提供了很多别的功能,如:噪声生成, 三角波生成的很多功能
代码
代码思路:
配置相应的外部端口时钟,对于DAC接在PA4上。
配置相应的DAC时钟
配置外部端口的的输出形式(模拟输入)
配置相应的配置寄存器(在寄存器的功能描述中有详细的功能说明)
配置相应的电压
关键就是对DAC->DHR12R(L)x中写入你想对它输出的电压。(具体情况具体分析)。
数字/模拟转换(DAC)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。