首页 > 代码库 > 数字/模拟转换(DAC)

数字/模拟转换(DAC)

     数字/模拟转换(DAC

数字/模拟转换模块是?12位数字输入,电压输出的数字/模拟转换器。

 

1.0 DAC的主要特征

2DAC转换器,每个转换器对应1个输入通道。

每个通道都有DMA功能。

外部触发转换。

 

2.0 DAC功能描述

   使能DAC通道

 DAC_CR寄存器的ENx的位置置1既可以打开DAC的通道X的供电。经过一段时间,DAC通道X既被使能。

 注: ENx只能使能DAC通道的x的模拟部分,即使该使能位被置0DAC通道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[20]选择触发条件。

注:只能外部中断线9提供外部中断。

 

 

其他

DAC还提供了很多别的功能,如:噪声生成, 三角波生成的很多功能

 

 

 

 

代码

代码思路:

   配置相应的外部端口时钟,对于DAC接在PA4上。

   配置相应的DAC时钟

   配置外部端口的的输出形式(模拟输入)

   配置相应的配置寄存器(在寄存器的功能描述中有详细的功能说明)

 

 

配置相应的电压

 关键就是对DAC->DHR12RLx中写入你想对它输出的电压。(具体情况具体分析)。

 

数字/模拟转换(DAC)