打印
[应用相关]

DAC与ADC的转换

[复制链接]
393|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aoyi|  楼主 | 2023-8-14 12:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
AC, AD, ADC, DAC, dc
DAC(数模转换器):把数字量转换为模拟量

ADC(模数转换器):把模拟量转换为数字量

本文章将基于单片机来理解DAC与ADC,用到的是小熊派L433系列的单片机。

1.基础配置,RCC,SYS,时钟树)







2.串口的配置



3.ADC的配置

在单片机上找到拓展的GPIO,在这里我选用的是PA7作为ADC的引脚,进行如下配置。



然后降低ADC的采样频率



4.DAC的配置

同样也是在单片机上找到拓展GPIO,选择其中一个作为DAC的引脚,这里我选择的是PA5,进行如下配置。



5.生成单独外设文件



ctrl+s生成代码

6.添加串口输出函数代码





7.添加main.c代码







8.用杜邦线把PA5和PA7连接起来。

9.编译,下载,可在串口调试助手上看到此内容。

我们可以看到,i,j的值近似相等,i值为我们手动输入的值,j值为单片机实际采到的值,存在一定的误差是正常的,i,j均为数字量的值。voltage为实际电压的值,即模拟量。他们之间存在着这样的转换关系:实际电压值=软件输入值*3.3/4096,其中4096的值是来源于2的n次方,n代表了DAC的分辨率,不同的单片机分辨率略有不同,我所用的单片机的DAC的分辨率为12位,所以就是2的12次方等于4096。(第一次j和voltage的值为0是因为此时单片机还没有采到值,简单来说就是程序下载到单片机上运行需要一定的时间)
————————————————
版权声明:本文为CSDN博主「每天都在摸爬滚打」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_66273027/article/details/131362068

使用特权

评论回复
沙发
Undshing| | 2023-8-14 23:27 | 只看该作者
这个可不可以通过均值滤波来使它更接近原来的值啊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

3307

帖子

3

粉丝