你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32的DAC输出电压的经验分享

[复制链接]
攻城狮Melo 发布时间:2023-3-30 15:48
一、RCC时钟配置7 c9 _4 }: @; P' k8 c
, E9 @. R# Y  b5 ^1 p: u
122f62137397434eb0117d7bedb74185.png
9 O' ^) b8 U: X0 }( X$ ~1 R2 I5 }+ \% ?7 x3 }
该函数位于在bsp.c文件下面;
2 a! P: O5 w6 z: L& n, t$ }9 k使能RCC时钟:RCC_APB1Periph_DAC
( ?* q4 M2 h0 G" h这里DA的时钟不像AD有AD1、AD2等,DA是共用时钟,所以调用接函数的时候一定要区分DA1和DA2开来。( z" }) M7 i& c: i1 R+ k2 c
" }2 J& b% C" A5 g1 w
二、引脚配置
6 j0 j, j: f' m; ~
1 |8 l& V+ f; W: J+ B
1d88cddd78414328b6dda0e2eaa1f3de.png 3 X0 T. o3 \& v* y

* C" Y9 l9 K5 |/ h0 @该函数位于在dac.c文件下面;
# K& K5 d* L& p+ J, Y! o5 b! D
4 [6 |2 P. H& N! O/ c& @
对DA通道1所使用的引脚进行配置。: {" y1 t* U3 z

. m2 r& Z) Q) h, Z. {注意:
& K' p4 r# x  J$ W: [这里的DAC_OUT1引脚是固定对应的PA4的,一旦启动DA1功能,这个引脚就用于DAC功能了。
* e2 h+ a% v. j" I& Y9 X6 b* s' K' J$ H6 ?9 J5 G

- p1 s: j( A7 ^$ \, c6 E9 c三、DAC配置
/ s8 Q  h+ N  f7 f, M" t8 ?* n
$ m, ?; R& ~" q' W1 K
ded251111f7c41399db264df106226a4.png $ k4 \5 p9 V  e" m% |
+ X4 l' t; O- h% [- Q/ \# ]
该函数位于在dac.c文件下面;
/ B1 i* A: n' X( |9 {& F5 ~% R6 G% ?& b( C, U
对DA进行配置。! r& h& v; M5 i& J5 R

& x) h6 z$ L& A  R$ D! c% X1 d* e
配置的每一条语句都有注释,请看源代码.& M/ n/ @* s, B2 Y0 e

% F; L0 m* O1 `0 X4 s% r: Z8 ?

# `9 ~- ^- j! `- K$ y) G' e. t. @四、输出电压4 z" \. o& j, M, P( M3 i

) M& D+ ]0 j" Y! R' n1 t
e518c936861d417e9fd3e1b8b4e5116c.png
/ t9 f& A% }2 n5 I# c$ C4 g& v& u& j: |6 \" O) c$ Y! H
该函数位于在dac.c文件下面;
0 {! e9 V4 C: E3 P) X+ D
3 K1 Q1 f9 @( G5 P5 C, p' U! Y% L. _
调用这个接口就可以在PA4引脚上输出相应的电压值(注意这个接口适用于参考电压为3.3V的情况下,若参考电压改了,换算的公式也要对应改,看源代码的人都应该知道怎么修改)。
3 ~  M  a/ c: [( p- R/ E3 z: N6 h. g5 U1 x$ N8 n
这里是使用软件出发转换,后期会使用其他方法触发。) O5 F- D& V) s8 S$ M! `# h6 z1 t8 P

: o2 Z, Y6 Q- f3 `. }+ h2 x  E
5 _% c! d' j; e9 f8 L
五、主函数应用/ e: ?0 v8 h0 Z

! K1 ~/ Y( e! \# c
5f6aa4409c1442a5b6827ac7cc296cdf.png % h4 O" ?4 |2 b$ T! ~# o
1 Y+ T' {1 R8 f( b
该函数位于在main.c文件下面;* j3 d. I- a5 {& m7 Y- r# h! m
8 ]# X# }9 N* ~# T: O+ {# ~. M
主要就是在上电配置DA,并让其在PA4引脚上输出1.5V的电压。5 f$ |4 r( T& x9 i2 c
* M8 K2 ^# H2 G( a; \5 r6 A6 I
可以看到现象:间隔500ms,LED变化,串口打印出字符串。. q5 C4 n% Z) ~
- `9 ?) ?1 r/ _) B/ P

( v% ~6 o" J: e六、今天的重点提示; M3 M' e/ J0 T6 v& [4 ~
A.DA1和DA2的配置基本一样;9 K9 R0 m) R* t4 j5 A

9 W' o. z+ U" Y9 f* ]3 `7 \8 x9 f
B.为了避免寄生的干扰和额外的功耗,引脚PA4或者PA5在之前应当设置成模拟输入(AIN),因此在引脚配置的地方配置为:GPIO_Mode_AIN。
6 P, }+ p, ~8 A& i8 }! u3 O————————————————
# @) f/ D! s( f# p9 u6 U3 Y版权声明:马少爷, H' U+ X: f( i; v; h
如有侵权请联系删除
9 o% ]+ C; G+ L' a% @* t+ n$ B( c9 n
; T/ ]) t( m2 q4 ^9 A* E$ s1 F& Y* v8 r2 R# ]- z# o
赞 收藏 评论0 发布时间:2023-3-30 15:48

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版