|
概述 本篇文章主要介绍如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通过DAC输出电压,在芯片中有2个12位的DAC口可以供选择。 ; C; B) x* D7 H# u- O
硬件准备 首先需要准备一个开发板,这里我准备的是雅特力AT32F403AVGT7的开发板:
雅特力AT32F403AVGT7兼容STM32F103系列,故选取STM32f103VG进行开发。 & J9 Y; n- t3 _9 Z* d+ n4 ~
HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择Disable选项,如下所示。; ]* J' ?1 r" {4 n$ c/ S
配置时钟树 雅特力AT32F403AVGT7最高频率到240M,但是STM32F1的最高主频到72M,同时使用不使用外部晶振时候,最高速度只能到64M,所以配置64即可。1 |" u, g: q$ I0 x/ H; Y : s. ^" T4 g, f. v/ H
DAC配置 然后设置PA4为DAC_OUT1, 完整引脚配置如下图。 4 F$ c9 m4 a: z7 d( M
生成工程设置 注意在生产工程设置中不能出现中文,不然会报错。
最后设置生成独立的初始化文件: : c2 Y& I( ^# s. b
生成代码
代码编写 在main.c中,添加DAC电压变量定义。
在main.c中,主程序输出电压值,因为是12位的dac,所以值只能是0-4095。
0 i6 S& }$ w' q2 f 演示效果 因为是输出为阶梯状,每变量每增加512,电压改变一次,故应该有8个阶梯,分别是0,512,1024,1536,2048,2560,3072,3584。 6 X3 M( K2 I1 E
转载自:记帖 如有侵权请联系删除 0 z$ m3 g1 b- h4 D# }; g& l% B8 P |
【下载问题解决】关于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评测】低功耗模式功耗测量
微信公众号
手机版