|
一、RCC时钟配置7 c9 _4 }: @; P' k8 c , E9 @. R# Y b5 ^1 p: u
2 I5 }+ \% ?7 x3 } 该函数位于在bsp.c文件下面; 使能RCC时钟:RCC_APB1Periph_DAC 这里DA的时钟不像AD有AD1、AD2等,DA是共用时钟,所以调用接函数的时候一定要区分DA1和DA2开来。( z" }) M7 i& c: i1 R+ k2 c " }2 J& b% C" A5 g1 w 二、引脚配置
该函数位于在dac.c文件下面; 4 [6 |2 P. H& N! O/ c& @ 对DA通道1所使用的引脚进行配置。: {" y1 t* U3 z 注意: 这里的DAC_OUT1引脚是固定对应的PA4的,一旦启动DA1功能,这个引脚就用于DAC功能了。 * s' K' J$ H6 ?9 J5 G 三、DAC配置
+ X4 l' t; O- h% [- Q/ \# ] 该函数位于在dac.c文件下面; 5 ~% R6 G% ?& b( C, U 对DA进行配置。! r& h& v; M5 i& J5 R 配置的每一条语句都有注释,请看源代码.& M/ n/ @* s, B2 Y0 e 四、输出电压4 z" \. o& j, M, P( M3 i
& j: |6 \" O) c$ Y! H 该函数位于在dac.c文件下面; 调用这个接口就可以在PA4引脚上输出相应的电压值(注意这个接口适用于参考电压为3.3V的情况下,若参考电压改了,换算的公式也要对应改,看源代码的人都应该知道怎么修改)。 3 z: N6 h. g5 U1 x$ N8 n 这里是使用软件出发转换,后期会使用其他方法触发。) O5 F- D& V) s8 S$ M! `# h6 z1 t8 P 5 _% c! d' j; e9 f8 L 五、主函数应用/ e: ?0 v8 h0 Z
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 六、今天的重点提示; M3 M' e/ J0 T6 v& [4 ~ A.DA1和DA2的配置基本一样;9 K9 R0 m) R* t4 j5 A B.为了避免寄生的干扰和额外的功耗,引脚PA4或者PA5在之前应当设置成模拟输入(AIN),因此在引脚配置的地方配置为:GPIO_Mode_AIN。 ———————————————— 版权声明:马少爷, H' U+ X: f( i; v; h 如有侵权请联系删除 $ s1 F& Y* v8 r2 R# ]- z# o |
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
Keil-MDK 在线调试设置断点的高级用法
请教下STM32N6570 怎么把分辨率改成320x240并可以全屏显示
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
使用STM32 MCU和MPU连接PDM数字麦克风
分享STM32资料-采用 STM32U031R8 MCU 的 STM32 Nucleo-64 开发板,官方资料,数据手册等资料
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
微信公众号
手机版