打印
[AT32F403/403A]

移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压

[复制链接]
2770|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kxsi|  楼主 | 2021-6-7 12:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
概述

本篇**主要介绍如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通过DAC输出电压,在芯片中有2个12位的DAC口可以供选择。


使用特权

评论回复
沙发
kxsi|  楼主 | 2021-6-7 12:07 | 只看该作者
硬件准备

首先需要准备一个开发板,这里我准备的是雅特力AT32F403AVGT7的开发板:


使用特权

评论回复
板凳
kxsi|  楼主 | 2021-6-7 12:08 | 只看该作者
选择芯片型号

雅特力AT32F403AVGT7兼容STM32F103系列,故选取STM32f103VG进行开发。


使用特权

评论回复
地板
kxsi|  楼主 | 2021-6-7 12:10 | 只看该作者
配置时钟源

HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择Disable选项,如下所示:


使用特权

评论回复
5
kxsi|  楼主 | 2021-6-7 12:11 | 只看该作者
配置时钟树

雅特力AT32F403AVGT7最高频率到240M,但是STM32F1的最高主频到72M,同时使用不使用外部晶振时候,最高速度只能到64M,所以配置64即可:


使用特权

评论回复
6
kxsi|  楼主 | 2021-6-7 12:12 | 只看该作者
DAC配置

然后设置PA4为DAC_OUT1, 完整引脚配置如下图。


使用特权

评论回复
7
kxsi|  楼主 | 2021-6-7 12:13 | 只看该作者
生成工程设置

注意在生产工程设置中不能出现中文,不然会报错。


使用特权

评论回复
8
kxsi|  楼主 | 2021-6-7 12:13 | 只看该作者
代码生成设置

最后设置生成独立的初始化文件。


使用特权

评论回复
9
kxsi|  楼主 | 2021-6-7 12:14 | 只看该作者
生成代码


使用特权

评论回复
10
kxsi|  楼主 | 2021-6-7 12:15 | 只看该作者
代码编写
在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 */


使用特权

评论回复
11
kxsi|  楼主 | 2021-6-7 12:16 | 只看该作者
结果演示

因为是输出为阶梯状,每变量每增加512,电压改变一次,故应该有8个阶梯,分别是0,512,1024,1536,2048,2560,3072,3584。


使用特权

评论回复
12
muyichuan2012| | 2021-6-7 12:55 | 只看该作者
很详细的配置过程,感谢分享。

使用特权

评论回复
13
guijial511| | 2021-6-7 21:03 | 只看该作者
很详细,谢谢楼主的分享。

使用特权

评论回复
14
mutable| | 2021-7-3 10:56 | 只看该作者
用CUBE
也可以初始化AT的芯片么

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

3309

帖子

2

粉丝