STMCU小助手
发布时间:2022-4-30 22:53
|
概述 本篇文章主要介绍如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通过DAC输出电压,在芯片中有2个12位的DAC口可以供选择。$ F# Q5 r% I0 }% y; r: W9 ?
硬件准备( s ?" z; n% U* f7 x$ q! |; I 首先需要准备一个开发板,这里我准备的是雅特力AT32F403AVGT7的开发板:+ R2 [) w( x! ^7 @6 t. }
9 c% T4 |% m: M; y5 _/ } 选择芯片型号 雅特力AT32F403AVGT7兼容STM32F103系列,故选取STM32f103VG进行开发。
( D% s2 C/ h5 ]: m" q* ] 配置时钟源/ F4 E, R% t t; l3 B3 z HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择Disable选项,如下所示: . `" J; _. p9 {1 J
6 t- f8 {/ Y0 H O+ D2 `8 ?: @9 d% v( ` 配置时钟树5 }7 P3 ]% [, |/ P, ]. R 雅特力AT32F403AVGT7最高频率到240M,但是STM32F1的最高主频到72M,同时使用不使用外部晶振时候,最高速度只能到64M,所以配置64即可: - c; f/ C+ D/ }/ [5 m Y: l
! [/ p; w. c) @" O3 F DAC配置 然后设置PA4为DAC_OUT1, 完整引脚配置如下图。 : w( l7 w- |9 J& H7 @& J, ~
生成工程设置# a8 t" J& A; j+ G. Z, Z/ [ 注意在生产工程设置中不能出现中文,不然会报错。* ^" n$ w+ J6 Y - p" u# t/ m: B4 |' O# C
代码生成设置 最后设置生成独立的初始化文件。
" Q8 K) U* h$ g5 M5 K# t6 O( w 生成代码 0 F; R# {' j4 u& v% }# i
( {+ P% m: m1 I* d/ A0 M, R: U 代码编写 在main.c中,添加DAC电压变量定义。" ^3 Z/ r+ R2 z0 r$ s d, @. z8 U6 i" d8 b; v
在main.c中,开启DAC通道1。( y- h! D `% D1 {- m( z ; m% [2 l" k) n( D: I9 v5 r6 F
在main.c中,主程序输出电压值,因为是12位的dac,所以值只能是0-4095.
结果演示4 o7 w2 t$ s4 Q( X5 w) x. M 因为是输出为阶梯状,每变量每增加512,电压改变一次,故应该有8个阶梯,分别是0,512,1024,1536,2048,2560,3072,3584。
) X3 v& f% |* o- B |
【经验分享】STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
微信公众号
手机版