
概述 本篇文章主要介绍如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通过DAC输出电压,在芯片中有2个12位的DAC口可以供选择。 ![]() 硬件准备 首先需要准备一个开发板,这里我准备的是雅特力AT32F403AVGT7的开发板: ![]() 雅特力AT32F403AVGT7兼容STM32F103系列,故选取STM32f103VG进行开发。 ![]() HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择Disable选项,如下所示。 ![]() 配置时钟树 雅特力AT32F403AVGT7最高频率到240M,但是STM32F1的最高主频到72M,同时使用不使用外部晶振时候,最高速度只能到64M,所以配置64即可。 ![]() DAC配置 然后设置PA4为DAC_OUT1, 完整引脚配置如下图。 ![]() 生成工程设置 注意在生产工程设置中不能出现中文,不然会报错。 ![]() 最后设置生成独立的初始化文件: ![]() 生成代码 ![]() 代码编写 在main.c中,添加DAC电压变量定义。
在main.c中,主程序输出电压值,因为是12位的dac,所以值只能是0-4095。
演示效果 因为是输出为阶梯状,每变量每增加512,电压改变一次,故应该有8个阶梯,分别是0,512,1024,1536,2048,2560,3072,3584。 ![]() 转载自:记帖 如有侵权请联系删除 |
【有奖体验】STM32Cube通过Clang/LLVM支持进一步简化代码开发
STM32CubeMX应用结构选择指南
经验分享 | STM32CubeMX 生成时钟获取函数的分析
兔哥的最强U5图显【000】——U5G9最小系统绘制
兔哥的ST67——【000】ST67模组订购
基于LORA的环境感知系统
经验分享 | 使用CubeMx配置NVIC时为何不见子优先级?
经验分享 | 三个 ADC 同步模式配置以及 CubeMx 错误配置的解决方法
兔哥的边缘AI【001】——DIY-STM32N6全IO扩展板
兔哥的BLE【002】-WB09最小系统板PCB设计