STM32学习日志——DAC实验

2023-04-12 09:00   189   0  

一、DAC简介


今天学习的是DAC,即数模转换,大容量的STM32F103具有内部DAC模块,STM32F103ZET6属于大容量芯片,具有2个DAC,每个DAC对应一个输出通道,可以设置为8位或12位,选择12位模式时,数据存储可设置为左对齐或右对齐,双DAC通道可以独立转换,也可以同步转换。数据data与输出电压的关系为


V=data*3.3/4096;


VDDA和VSSA为DAC模块的供电,Vref+为参考电压。通道1为PA4,通道2为PA5;本次的实验是,通过按键给DAC模块一个值,然后将PA4与PA1(ADC通道1)连接起来,就可以通过读取ADC1的通道1的电压来确定PA4的输出电压。


二、配置库函数


1)开启PA口时钟,设置PA4为模拟输入;因为使能DAC后,PA4或PA5会自动与DAC模拟输出相连,设置为输入,是为了避免额外的干扰;


ca540c50-ac52-11ed-bcd2-b8ca3a6cb5c4.webp


2)使能DAC时钟,初始化DAC,设置工作模式;


ca540c51-ac52-11ed-bcd2-b8ca3a6cb5c4.webp


3)使能DAC转换通道;


ca540c52-ac52-11ed-bcd2-b8ca3a6cb5c4.png


4)设置输出值;0~4096对应输出0~3.3V;


ca540c53-ac52-11ed-bcd2-b8ca3a6cb5c4.png


5)子函数:直接给电压值,输出电压


ca540c54-ac52-11ed-bcd2-b8ca3a6cb5c4.png


6)主函数:


ca540c55-ac52-11ed-bcd2-b8ca3a6cb5c4.webp


三、调试结果


当每次按下按键时,输出值加200,即0.2V,显示在OLED上;


将PA1与PA4相连,就可以用ADC的输入引脚,去读取DAC的输出引脚,比较两个值是否相等;




登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。