基于Atmel Studio环境下开发AVR点灯示例
-
📍相关篇《ATMega328PB-AU烧录bootloader探索研究》
-
🔱《Atmel Studio开发环境下配合AVRDUDESS配置烧录快捷方式》
-
✨谈起Atmel Studio开发环境,如果不是使用AVR单片机的人来说,可能比较陌生,如果说起Arduino入门热门单片机Arduino UNO、Nano型号可能会比较熟悉,UNO、Nano型号单片机就ATMEGA328。
-
📍ATpack支持包下载地址:
http://packs.download.atmel.com/
-
🔖以
ATMEGA328PB
开发为例。 -
📌个人制作的328PB PCB电路板已开源链接:
https://oshwhub.com/perseverance51/atmega328pb-au-nano
🌼Atmel Studio创建工程选择方式简单介绍
🔖Atmel Studio创建工程,可以基于第三方共享开发工具软件CodeVisionAVR工程导入,也可以基于Atmel Studio免费开发工具自身自带的创建工程。
- 创建工程界面:
- 🔧CodeVisionAVR工具可以创建初始化工程。可以配置较为详细的基础工程。
- 🔧Atmel Studio自建工程方式,其中有分成了几个不同版本开发方式:
- 🌿Project:
- ✒GCC C ASF Board Project是基于Atmel Software Framework(ASF)的GCC C项目。ASF是Atmel提供的一套软件库,用于简化Atmel微控制器的开发过程。ASF库提供了大量的驱动程序和功能模块,可以方便地集成到项目中。ASF Board Project创建的工程是针对特定的Atmel开发板或评估板的,其中已经预先配置了与该板相关的ASF库和驱动程序。这种项目类型适用于开发与特定硬件板配套的应用程序。
总结来说,GCC C Executable Project适用于开发独立的应用程序,而GCC C ASF Board Project适用于基于Atmel开发板或评估板的应用程序开发,并利用ASF库提供的功能模块和驱动程序
- 🌿Atmel Start Project:类似STM32 的开发配置软件STM32CubeMX
- 🌿Atmel Start Example Project:一般都是基于某些特定型号的开发板例程,作为工程模板,导入实现工程的创建。(不支持在线外设面板配置和预外设代码自动生成功能)
裸机开发例程
- 🌿选择号型号后,选择下面的开发方式,并直接创建工程。
- 🌿裸机工程开发界面
- 📝点灯程序
#include <avr/io.h>
#include <util/delay.h># define F_CPU 16000000ULint main(void)
{DDRB = PINB5;//配置PB5为输出模式/* Replace with your application code */while (1){PORTB ^= (1 << PINB5);//PB5状态翻转_delay_ms(1000); // 使用util/delay.h中的宏函数来实现1毫秒的延时}
}
- 🔖以上代码原封不动拷贝到Arduino IDE环境下,直接编译也是没有问题的。完全兼容。
📑程序烧录问题说明
- 🔖对于AVR单片机烧录方式,也就是在Arduino IDE那里显示的烧录方式:
- 👉个人是通过Arduino IDE使用USBasp烧录过Bootloader程序的,可以直接通过串口来烧录。
- 可以参考上面的相关篇文章。
🌼代码格式化AStyle插件安装说明
- 🔨AStyle Extension 2.7.0:
https://gallery.microchip.com/packages/6b52ccde-8ae4-4233-bccd-6b9b0ba06a56/
- 🔧双击
AStyleExtension.vsix
安装完成后,在Atmel Studio菜单Tools
菜单下面Option
找到插件,并根据个人需求勾选。