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

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

[复制链接]
攻城狮Melo 发布时间:2023-5-10 17:49
一、RCC时钟配置7 `# {1 k. M( }5 s2 P
: e3 F1 G. h1 W/ v; R, b
122f62137397434eb0117d7bedb74185.png 6 y6 K3 e5 H" j! h3 k/ |- t" Y
% u' {) y/ [' M; Z/ |
9 c; |+ h  b& G4 p' I
该函数位于在bsp.c文件下面;
' j' P4 C0 P/ |4 O
; B6 t; A5 L( y使能RCC时钟:RCC_APB1Periph_DAC! U  @: r  [/ T: w, i" i" n
8 F/ D: }5 U4 t3 b( l
这里DA的时钟不像AD有AD1、AD2等,DA是共用时钟,所以调用接函数的时候一定要区分DA1和DA2开来。" F' F; C9 z5 E+ p& }  Z0 s

' W1 R2 u2 L4 j, o; m8 }- u

8 P9 ?7 a* n3 c4 `: [& o! C( Z  k二、引脚配置
( @2 C0 H/ P: O  d3 ~; {
: U1 m! O4 b- M& X7 o) b
1d88cddd78414328b6dda0e2eaa1f3de.png
! [: |# A7 ]$ m" }) W$ \$ p4 E& r. A+ r" V6 ^* l
该函数位于在dac.c文件下面;
% ]! w: D% y9 d' ^8 Q" q
4 u- t( S" o' E4 ]  K; H
对DA通道1所使用的引脚进行配置。' E; {, {/ B' D0 A6 U0 V

# o9 K" z# q% v注意:$ B, ]0 r( ?; W  [7 A+ s' Y. @

5 S$ \. e& L! J! c# U  m* k这里的DAC_OUT1引脚是固定对应的PA4的,一旦启动DA1功能,这个引脚就用于DAC功能了。9 u( I. C- s$ T" \% h& Z) g2 c  U

; U/ ]% G; I4 @

$ o, z; d; a. ~) y1 ]+ e+ Z' Q/ S4 }三、DAC配置' O0 J  Y# K$ G0 M6 q7 O+ [

1 E" @5 q' n7 N6 I: e
ded251111f7c41399db264df106226a4.png
! r$ r9 {6 Z( N% e- K
1 U$ ~, e3 k/ H
该函数位于在dac.c文件下面;$ s) v1 Y/ p& U2 W+ E

! J# D* U+ Y; B对DA进行配置。
$ {5 f3 z; |- v9 Y5 e( `5 x" x1 R. Q
( m1 I! r( D, `+ T$ u' C2 q1 g
配置的每一条语句都有注释,请看源代码.9 J1 `- N/ z# W0 s6 d' r

/ G* B9 n. A" n
- T, R% e6 Z) i
四、输出电压
7 Z  t9 o- W; j' a
+ p9 @3 c" L, ?1 W. ~( N" H
e518c936861d417e9fd3e1b8b4e5116c.png 0 [9 v* p. N( n, W
* Q  \* ^2 @' |1 s" \
该函数位于在dac.c文件下面;
# K' ]& `& }9 [1 e
- E% v5 Y: I8 f9 ~
调用这个接口就可以在PA4引脚上输出相应的电压值(注意这个接口适用于参考电压为3.3V的情况下,若参考电压改了,换算的公式也要对应改,看源代码的人都应该知道怎么修改)。
  r, q+ {, F) I% g! z/ X. w9 e8 V
" F" J. Q; c) N) ?4 t  N/ m
这里是使用软件出发转换,后期会使用其他方法触发。
2 B3 b7 g; J- h" U) p) q( w+ S
" W. R$ n( ~& a! U5 x' A3 d& s

7 L8 [! }( U, O& @五、主函数应用( X& v: I. N8 U! T7 A

, L, u$ I: R6 H7 k
5f6aa4409c1442a5b6827ac7cc296cdf.png
3 [0 y4 H- r( Z; m/ x& h2 @9 u. J, J6 S4 r, x8 x* V2 b
该函数位于在main.c文件下面;
; L: f. Y2 ?5 g! U6 r& l5 ]& r8 x/ ~+ p( P+ A. ~" q0 n: u0 _7 i6 g
主要就是在上电配置DA,并让其在PA4引脚上输出1.5V的电压。
' J, O9 o( m4 u: K7 J$ w2 h

1 J# J/ o# V3 \/ v% m- L  [: {可以看到现象:间隔500ms,LED变化,串口打印出字符串。! M+ l; `7 r! c! `( p$ Q0 b

5 P" V0 d/ L- T' D
5 a6 E# C# J+ R# y
六、今天的重点提示0 F$ R+ A' Z" r( W" }$ n, `6 D
A.DA1和DA2的配置基本一样;+ v! b. K$ _& Z" S$ E

% l7 ]7 l) Y/ t' z2 _3 Z# P! AB.为了避免寄生的干扰和额外的功耗,引脚PA4或者PA5在之前应当设置成模拟输入(AIN),因此在引脚配置的地方配置为:GPIO_Mode_AIN。3 R2 A. U0 n* M, H: v
————————————————
7 v- X( `( m9 V1 I版权声明:马少爷* V' D& U1 C* O, T9 {* \
如有侵权请联系删除9 h* ~+ I. c6 ?) O& x

7 m7 }0 l& X) N5 B( @& C/ I6 C( {5 c  \* k7 E/ I: d: `" r" J
收藏 评论0 发布时间:2023-5-10 17:49

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版