STMCU小助手
发布时间:2022-5-1 15:14
|
概述* ?0 d/ H; x& [" i 本篇文章主要介绍如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通过DAC输出电压,在芯片中有2个12位的DAC口可以供选择。
硬件准备 首先需要准备一个开发板,这里我准备的是雅特力AT32F403AVGT7的开发板:( O4 h4 n4 a" \% a: b' b
% v& z A" q( X& v8 q2 g. C$ a% m q 选择芯片型号8 M, N3 z; t5 }5 ~, q# k( Y- | 雅特力AT32F403AVGT7兼容STM32F103系列,故选取STM32f103VG进行开发。
配置时钟源% J( J7 `# v1 Q. N0 T# |, B" S HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择Disable选项,如下所示: ( |! M- {; D1 B- F1 w s
配置时钟树. U8 f9 ^+ z( v# k: W 雅特力AT32F403AVGT7最高频率到240M,但是STM32F1的最高主频到72M,同时使用不使用外部晶振时候,最高速度只能到64M,所以配置64即可:
DAC配置& o, u- a( p: i: R+ S1 N" T 然后设置PA4为DAC_OUT1, 完整引脚配置如下图。 a; `. d0 L- D8 ?1 |* Q; k6 G$ w( ` # S. R# Y) D- j
生成工程设置5 r, z! S/ d9 \( g; q 注意在生产工程设置中不能出现中文,不然会报错。 ; z0 Y; Z4 y8 W6 L3 C \0 G( ], q
5 z+ J( V# W+ i! G7 C! n1 J 代码生成设置+ R* L4 H9 k' y! M z% c; \ 最后设置生成独立的初始化文件。; y- _/ p8 w) V7 E3 |$ Y) l3 `5 u 7 z3 z O' n- V6 O5 A7 s \* C0 A3 t
生成代码9 P6 @/ g+ R6 D2 k7 J+ `+ H
代码编写 在main.c中,添加DAC电压变量定义。! W/ A; Y- s% Q. O. e" K
在main.c中,开启DAC通道1。
在main.c中,主程序输出电压值,因为是12位的dac,所以值只能是0-4095. , g* x4 ^; d& ~2 c$ N _( r1 I
结果演示" }- B# S. R1 g8 Q4 F; w 因为是输出为阶梯状,每变量每增加512,电压改变一次,故应该有8个阶梯,分别是0,512,1024,1536,2048,2560,3072,3584。 1 r3 e, t0 }! {
|
【经验分享】STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
微信公众号
手机版