一、前言
由于需要学习AVR32,使用AtmelStudio 7开发,之前主要用STM32,现在看到Atmel的库函数,其实是有许多相似之处。ASF3的库对应ST的标准库。ASF4对应ST的HAL库,Ateml Start对应STM32CubeMX。这里还是用ASF3来开发,ASF4为了好移植都是底层都用了抽象的写法,资料比较少,效率估计也不高。
用到的工具如下:
IDE:AtmelStudio 7
芯片:ATmega328P,8位AVR微控制器,带32KB在系统编程FLASH存储器
ASF版本:3.31.0
仿真器:USB ISP
二、新建工程
1.新建工程
2 选择GCC ASF Board Project,填写一下工程名。
3.选择使用的芯片,如果用官方的开发板,也可改成选择开发板,注意右边有Datasheet(数据手册),可以下载下来,之后都会用到。
4.打开ASF Wizard
一般最基础会用到的Modules包括System Cocok、Delay、GPIO、USART,选选中,然后点击Add添加到右边,最后点Applay应用。
ASF库文件会自动添加到src文件夹下,config文件下conf_clock.h和conf_board.h就是给用户配置的,等下会用到。
三、编写代码
#include <asf.h>
int main(void)
{
//系统时钟初始化
sysclk_init();
// 初始化ASF库
board_init();
//延时初始化
delay_init();
// 配置引脚为输出模式
ioport_set_pin_dir(13, IOPORT_DIR_OUTPUT);
while (1)
{
// 设置引脚为高电平
ioport_set_pin_level(13, IOPORT_PIN_LEVEL_HIGH);
delay_ms(500);
// 设置引脚为低电平
ioport_set_pin_level(13, IOPORT_PIN_LEVEL_LOW);
delay_ms(500);
}
}