基于Atmel Studio环境下开发AVR点灯示例

基于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找到插件,并根据个人需求勾选。
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/658832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SDN 拓扑感知技术带你逃离灾难,轻松实现云灾备

在这个数字化时代&#xff0c;云计算已经成为企业和组织提供各种软件应用服务和海量数据处理的普遍选择。但是&#xff0c;云计算环境下的数据量庞大且分布广泛&#xff0c;系统故障、网络攻击等风险可能会对业务应用和数据造成影响&#xff0c;导致服务中断、数据丢失等问题&a…

【学网攻】 第(17)节 -- 命名ACL访问控制列表

系列文章目录 目录 前言 一、ACL(访问控制列表)是什么&#xff1f; 二、实验 1.引入 总结 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 -- 交换机配置聚合端口【学网攻】 第(4)节 -- 交换机划分Vlan【学网攻】 第…

Linux--redhat9创建软件仓库

1.插入光盘&#xff0c;挂载镜像 模拟插入光盘: 点击:虚拟机-可移动设备-CD/DVD 设备状态全选&#xff0c;使用ISO影响文件选择当前版本镜像&#xff0c;点击确认。 2.输入: df -h 可以显示&#xff0c;默认/dev/sr0文件为光盘文件&#xff0c;挂载点为/run/media/root/镜像…

GoLang和GoLand的安装和配置

1. GoLang 1.1 特点介绍 Go 语言保证了既能达到静态编译语言的安全和性能&#xff0c;又达到了动态语言开发维护的高效率&#xff0c;使用一个表达式来形容 Go 语言&#xff1a;Go C Python , 说明 Go 语言既有 C 静态语言程序的运行速度&#xff0c;又能达到 Python 动态语…

Flutter canvas 画一条波浪线 进度条

之前用 Flutter Canvas 画过一个三角三角形&#xff0c;html 的 Canvas 也画过一次类似的&#xff0c; 今天用 Flutter Canvas 试了下 感觉差不多&#xff1a; html 版本 大致效果如下&#xff1a; 思路和 html 实现的类似&#xff1a; 也就是找出点的位置&#xff0c;使用二阶…

OCP NVME SSD规范解读-8.SMART日志要求-4

SMART-21&#xff1a;这段描述解释了一个与设备内部I/O操作非对齐相关的计数器功能。该计数器记录的是由NVMe SSD执行的、起始地址未按照设备内部间接寻址单元&#xff08;IU&#xff0c;Indirection Unit&#xff09;大小进行对齐的写入I/O操作数量。 “Alignment”指的是每次…

15EG使用vivado2023.1建立hello world工程

1:打开软件建立工程 2:使用vivado创建设计模块并生成bit文件 3:导出硬件平台&#xff0c;使用vitis建立工程 4:使用vitis创建应用程序项目 5:硬件设置与调试 1:打开软件建立工程 打开VIVADO2023.1 创建一个新的工程 输入项目名称和地址&#xff0c;下面那个选项为是否…

深度学习-自注意力机制

文字编码 one-hot编码&#xff0c;让模型自己去学习怎么进行编码 常见的输出 1.每个词都有一个输出值 2.每个句子输出一个值&#xff0c;情感分类 3.输入与输出长度不对应&#xff0c;翻译任务&#xff0c;生成任务。 RNN最早的语言处理 RNN解决的是模型去考虑前面的输入…

TS项目实战一:流淌的字符动画界面

使用ts实现虚拟世界&#xff0c;创建ts项目&#xff0c;并编写ts代码&#xff0c;使用tsc编译后直接加载到html界面&#xff0c;实现类似黑客帝国中的流淌的代码界面的效果。 源码下载地址&#xff1a;点击下载 讲解视频 TS实战项目一&#xff1a;数字流界面项目创建 TS实战项…

计算机设计大赛 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 &#x1f525; 优质…

useEffect的第二个参数

目录 1、第一个参数&#xff1a; 2、第二个参数&#xff1a; 2.1 不传值&#xff1a;无限循环 2.2 空数组作为依赖&#xff1a;执行一次 2.3 基本类型作为依赖&#xff1a;无限循环 2.4 引用类型 2.4.1 数组作为依赖&#xff1a;无限循环 2.4.2 函数作为依赖&#…

力扣(leetcode)第118题杨辉三角(Python)

118.杨辉三角 题目链接&#xff1a;118.杨辉三角 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] …

高光谱图像加载、归一化和增强(jupyter book)

1.获取高光谱图像&#xff1a;我用的是indian_pines的数据集&#xff0c;感兴趣的兄弟可以自行去官方网下载&#xff0c;gt的那个是它的标签哦&#xff0c;别搞错了。 2.图像加载&#xff1a; &#xff08;1&#xff09;从本地路径加载 import scipy.io as sio# 文件路径 fil…

蓝桥杯---牌型种数

小明被劫持到X赌城&#xff0c;被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张)&#xff0c;均匀发给4个人&#xff0c;每个人13张。这时&#xff0c;小明脑子里突然冒出一个问题&#xff1a;如果不考虑花色&#xff0c;只考虑点数&#xff0c;也不考虑自己得到的牌的先后…

排序链表---归并--链表OJ

https://leetcode.cn/problems/sort-list/submissions/499363940/?envTypestudy-plan-v2&envIdtop-100-liked 这里我们直接进阶&#xff0c;用时间复杂度O(nlogn)&#xff0c;空间复杂度O(1)&#xff0c;来解决。 对于归并&#xff0c;如果自上而下的话&#xff0c;空间复…

Collections集合工具类-JAVA

java.util.Collections:是个集合工具类它不是集合&#xff0c;而是集合的工具类 常用 API&#xff1a;注意 binarySearch 方法要求元素有序 方法实现&#xff1a; public class Test01 {public static void main(String[] args) {ArrayList<String>list1new ArrayList…

【C语言】探索数据结构:单链表和双链表

目录 &#x1f4a1;链表的概念和结构 &#x1f4a1;链表的分类 &#x1f4a1;无头单向非循环链表&#xff08;单链表&#xff09;的实现 定义节点结构 单链表的尾部插入 单链表的头部插入 单链表的尾部删除 单链表的头部删除 在指定位置插入前数据 在指定位置之后插入数…

人工智能基础-Numpy.array基本操作

基本属性 查看维度 x.ndim查看维度&#xff08;元组形式&#xff09; x.shape元素个数 x.size数据访问 子矩阵 内容同步修改 加是copy&#xff08;&#xff09;则不同步修改 Reshape 修改维度 参数为-1时自动识别个数 合并 np.concatenate([x, y])沿着列合并 np.co…

Springboot使用数据库连接池druid

springboot框架中可以使用druid进行数据库连接池&#xff0c;下面介绍druid在springboot中使用和参数配置介绍。 数据库连接池&#xff08;Druid&#xff09;是一种用于管理数据库连接的机制&#xff0c;其工作原理和常见使用方法如下&#xff1a; 原理&#xff1a;数据库连接…

02神经网络的学习及代码实现

“学习”是指从训练数据中自动获取最优权重参数的过程。引入损失函数指标&#xff0c;学习的目的是以该损失函数为基准&#xff0c;找出尽可能小的损失函数的值。 1、从数据中学习 从数据中学习规律&#xff0c;模式&#xff0c;避免人为介入。 先从图像中提取特征量&#x…