掌上实验室V8系列教程(一)新建Keil项目

目录

1 软件开发环境

2 项目目标

3 电路原理图​

4 项目创建向导

4.1 创建项目

4.2 添加源文件

4.3 编译程序

4.4 下载和运行程序

5. 常见错误


1 软件开发环境

软件开发平台KEIL5 + ArteryTek::AT32F403A_407_DFP(2.0.2)  + ARM.CMSIS.5.8.0.pack

相关下载

雅特力AT32 KEIL扩展包

掌上实验室V8 完整原理图

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

生成海报
点赞 0

lg28870983

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

Cortex-A7中断系统

一、中断向量表 中断向量表存放的是中断向量,中断服务程序的入口地址或存放中断服务程序的首地址成为中断向量,因此中断向量表是一系列中断服务程序入口地址组成的表。当某个中断被触发以后就会自动跳转到中断向量表中对应的中断

STM32F4最小系统硬件设计

对于硬件工程师来讲,想要入门STM32相关的开发,我想除了深入阅读一下STM32的数据手册外,最实用且有效的方法就是自己实际做一个STM32的最小系统板了。本文将以一个小的STM32F427VG的电路最

HAL 层简介

简介: HAL层又称硬件抽象层,HAL层在Android体系中有着深远的意义,因为Android究竟是完 全开源还是完全不开源的秘密就在这一层·Google将硬件厂商的驱动程序放在这一层&#xff0c