今天提供并讲解的软件工程,基于软件工程“A0.0.0(STM32F10x_TIM延时)”修改而来。
一、RCC时钟配置
该函数位于在bsp.c文件下面;
使能RCC时钟:RCC_APB1Periph_DAC
这里DA的时钟不像AD有AD1、AD2等,DA是共用时钟,所以调用接函数的时候一定要区分DA1和DA2开来。
二、引脚配置
该函数位于在dac.c文件下面;
对DA通道1所使用的引脚进行配置。
注意:
这里的DAC_OUT1引脚是固定对应的PA4的,一旦启动DA1功能,这个引脚就用于DAC功能了。
三、DAC配置
该函数位于在dac.c文件下面;
对DA进行配置。
配置的每一条语句都有注释,请看源代码。
这里配置的都比较基础的,后续我会讲解复杂一点的配置(前期第一阶段定位在初级,所以,如果你想了解更高级的功能,请持续关注我的微信公众号)。
四、输出电压
该函数位于在dac.c文件下面;
调用这个接口就可以在PA4引脚上输出相应的电压值(注意这个接口适用于参考电压为3.3V的情况下,若参考电压改了,换算的公式也要对应改,看源代码的人都应该知道怎么修改)。
这里是使用软件出发转换,后期会使用其他方法触发。
五、主函数应用
该函数位于在main.c文件下面;
主要就是在上电配置DA,并让其在PA4引脚上输出1.5V的电压。
可以看到现象:间隔500ms,LED变化,串口打印出字符串。
六、今天的重点提示
A.DA1和DA2的配置基本一样;
B.为了避免寄生的干扰和额外的功耗,引脚PA4或者PA5在之前应当设置成模拟输入(AIN),因此在引脚配置的地方配置为:GPIO_Mode_AIN。