概述
本篇文章主要介绍如何使用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电压变量定义。
/* USER CODE BEGIN PTD */
int dac_i=0;//定义DAC电压值
/* USER CODE END PTD */
在main.c中,开启DAC通道1。
/* USER CODE BEGIN 2 */
HAL_DAC_Start(&hdac, DAC_CHANNEL_1);//开启DAC通道1
/* USER CODE END 2 */
在main.c中,主程序输出电压值,因为是12位的dac,所以值只能是0-4095.
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if(dac_i<4096)
{
dac_i++;
if(dac_i%512==0)//使得输出波形为阶梯状
HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, dac_i);//设置DAC值为dac_i
}
else
dac_i=0;
}
/* USER CODE END 3 */
结果演示
因为是输出为阶梯状,每变量每增加512,电压改变一次,故应该有8个阶梯,分别是0,512,1024,1536,2048,2560,3072,3584。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
dac
+关注
关注
44文章
2859浏览量
197814 -
stm32cubemx
+关注
关注
5文章
290浏览量
17533 -
雅特力
+关注
关注
1文章
197浏览量
9525
发布评论请先 登录
相关推荐
热点推荐
为什么stm32f103vgt6的flash只能检测到512k?
为什么stm32f103vgt6的flash我只能检测到512k?(原本应该是1mb的),好像检测不到它的flash大小
发表于 03-20 06:27
STM32CUBEMX(6)--移植雅特力AT32F403AVGT7,双串口通过DMA方式接收不定长数据
概述
本篇文章主要介绍如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通
发表于 09-06 16:37
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压
概述
本篇文章主要介绍如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通
发表于 09-06 16:40
STM32F103VFT6的程序能直接在STM32F103VGT6上运行吗?
STM32F103VGT6能代替 STM32F103VFT6吗?
也就是STM32F103VFT6的程序能直接在STM32F103VGT6 上运行吗?
发表于 03-12 06:39
STM32F103VET6更换为STM32F103VGT6后不能启动
板子有原先的STM32F103VET6更换为STM32F103VGT6,下载原先的STM32F103VET6程序,板子不能启动,不知道为什么,是不是启动文件的问题?需要怎么修改,求高手解答,谢谢!
发表于 03-25 08:22
AT32F403ZGT6取代STM32F103VET6相同点
由于疫情STM32被炒上天了。原来二十元芯片炒到几百元,还的等货。原来板子用的STM32:这片子被吵到300元还供货不稳定。采用雅特力
发表于 01-11 06:07
STM32CubeMX Nucleo F767ZI 教程(2)
录STM32CubeMX Nucleo F767ZI 教程(2)前言一、原理图1.MB1137 顶层文件2.Connectors.SchDoc3.MCU_144.SchDoc4.USB.SchDoc5.ST_LINK_V2-1.SchDoc
发表于 12-06 10:06
•21次下载
使用STM32CubeMX对F407ZGT6移植LWIP(全网最全)
本项目采用正点原子的探索者STM32F407开发板利用STM32CubeM移植LWIP使用STM32CubeMX可以非常方便的将LWIP移植
发表于 12-27 18:37
•88次下载
STM32CUBEMX(6)--移植雅特力AT32F403AVGT7,双串口通过DMA方式接收不定长数据
本篇文章主要介绍如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通过双串
STM32CUBEMX开发GD32F303(4)----GPIO输出模式,速率测试、开漏和输出说明
以STM32CUBEMX创建STM32F103工程,同时移植在GD32F303中,同时通过GD32303C_START开发板内进行验证。 需要样片的可以加Qun申请:615061293
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压
评论