目录
1 软件开发环境
软件开发平台KEIL5 + ArteryTek::AT32F403A_407_DFP(2.0.2) + ARM.CMSIS.5.8.0.pack
相关下载
2 项目目标
这是我们建立的第一个基于掌上实验室V8的项目,主要是介绍新建项目的过程,为以后学习打好基础。本项目的功能就是点亮板上的LED4(电路板的右上角)。
3 电路原理图
4 项目创建向导
4.1 创建项目
首先建立一个项目目录,我这儿是D:\temp\at32。目录中不要包含中文。
打开keil, 在Project菜单选择New uVision Project..
输入项目名称 template。名称可以按需定义,不能是中文。
目录名中最好不要有中文!KEIL支持带中文名的目录不是特别好,尽管编译和运行都正常。但是在源码编辑时,很多高级功能不能用,还会提示一些错误。
选择Device: AT32F407VGT7
选择对应的驱动模块,生成项目。如果在Validation Output中的相应警告,或图形界面中有黄色或红色警告,点击Resolve,Keil会自动加入缺失的模块。
4.2 添加源文件
在Source Group 1上点击鼠标右键,新建C语言源文件 main.c
为方便中文输入和方便代码编写,可以通过菜单Edit-configuration修改Encoding设置为Encode in UTF-8 without signature
在main.c中输入如下代码
#include "at32f403a_407_conf.h"
void gpio_pins_init(void)
{
//打开GPIOC时钟
crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE);
//配置PC0为输出
gpio_init_type gpio_init_struct;
gpio_init_struct.gpio_pins = GPIO_PINS_0;
gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
gpio_init(GPIOC, &gpio_init_struct);
}
int main(void)
{
gpio_pins_init();
for(;;){
gpio_bits_reset(GPIOC, GPIO_PINS_0);
}
}
4.3 编译程序
编译程序之前,请确认打开编译器C99模式。
Target 1上点击右键,选择Options for 'Target 1'...,会看到下列设置对话框
Keil版本不同,也可能得到下面的对话框
编译程序,编译成功会看到如下提示(0 Error)
首次下载程序前先确认DEBUG选项,掌上实验室内置AT-Link-Ez仿真器(CMSIS-DAP接口)。
右键点击Target 1,选择Options for 'Target 1'...
会弹出 下列对话框
选择SW接口,并将max Clock 设置为10MHz,可以加快程序下载速度。
4.4 下载和运行程序
通过micro USB线把掌上实验室连接到电脑,下载并运行程序点亮LED4。
点击Debug下载程序,下载完成后界面如下,程序暂停在main函数的第一行,点击运行,开始执行程序。
这时候可以看到板子上LED4点亮了。
上述就是掌上实验室新建项目的基本过程,以后内容中不在重复这些基本过程,只是会给出项目需要的驱动模块名称。
程序会保存在MCU的Flash中,掉电也不会丢失。当掌上实验室下次通电时,会自动运行上次下载好的程序。
5. 常见错误
如果碰到这个错误,是你windows登录名是中文,自行百度解决用户名中文问题。
版权声明:本文为CSDN博主「lg28870983」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lg28870983/article/details/121646179
暂无评论