|
概述 本篇文章主要介绍如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通过DAC输出电压,在芯片中有2个12位的DAC口可以供选择。 / G( o6 q" q$ v% d; R9 \& w: W
硬件准备 首先需要准备一个开发板,这里我准备的是雅特力AT32F403AVGT7的开发板:5 C+ m+ {- E7 \- a" R/ Q/ l - _6 v2 T# M- ^, A G ^ + M) _9 ?* E# w3 Z2 x
雅特力AT32F403AVGT7兼容STM32F103系列,故选取STM32f103VG进行开发。
HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择Disable选项,如下所示。9 m( Y. b/ D) Z5 E* _: u6 E! O; }4 M ) T |. [1 Q: |+ u- Y! J. E+ s. d
配置时钟树 雅特力AT32F403AVGT7最高频率到240M,但是STM32F1的最高主频到72M,同时使用不使用外部晶振时候,最高速度只能到64M,所以配置64即可。
DAC配置 然后设置PA4为DAC_OUT1, 完整引脚配置如下图。
生成工程设置 注意在生产工程设置中不能出现中文,不然会报错。* n% Z- e* ]) ^* B t8 {5 i
. ~% M4 W9 B) Y 最后设置生成独立的初始化文件:
生成代码3 ]8 l, U7 r; M4 ~
代码编写 在main.c中,添加DAC电压变量定义。
在main.c中,主程序输出电压值,因为是12位的dac,所以值只能是0-4095。
& I+ O( w3 s @" A/ y 演示效果 因为是输出为阶梯状,每变量每增加512,电压改变一次,故应该有8个阶梯,分别是0,512,1024,1536,2048,2560,3072,3584。
转载自:记帖 如有侵权请联系删除 |
【下载问题解决】关于ST官网下载软件问题解决
STM32CubeMX 6.18.0新版本发布
【STM32U3评测】使用INS5699 RTC模组
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
CubeMX生成CubeIDE工程代码乱码
【逢7发帖赢大礼】STM32开发之指纹识别!
【逢7发帖赢大礼】STM32开发之环境空气质量监测
【逢7发帖赢大礼】STM32开发之人体实时运动信息监测!
【逢7发帖赢大礼】全网最简单的Arduino_STM32开发环境搭建教程!
【STM32U3评测】低功耗模式功耗测量
微信公众号
手机版