Atmel studio注意事项
来源:互联网 发布:在线教育源码 编辑:程序博客网 时间:2024/06/09 19:18
注意事项整理如下:
1) MCU必须的头文件
Atmel Studio 6 (以下简称AS6)中统一用#include <avr/io.h>。这点很重要,AS6把atmel
所有的单片机头文件全都集成在一起了,以后不必再去分具体的每种芯片的头文件了
2) 汇编嵌入
在AS6 中,你可以直接使用asm("xxx")格式.或者用小写的sei();这个其实是很爽的,
最常用的就是中断控制,使用比较方便。
3) 延时函数
在AS6中,只需要加载一个头文件#include <util/delay.h>
,就可以使用两个标准的延时函数,分别是_delay_ms(double __ms)和_delay_us(double __us),虽然参数为double型,
但可赋整型值。注意在调用前定义#define F_CPU 8000000UL,如下图,
这样延时10ms
的函数写为_delay_ms(10),经过试用,只要晶振填写准确,这两个延时函数很准确。
4) 中断函数
在AS6中,需加载头文件#include <avr/interrupt.h>,并且函数名为ISR,不可自定义函数名,格式如下:
ISR( TIMER0_OVF_vect )
{„}
TIMER0_OVF_vect 含义同iv_TIMER0_OVF ,是T0溢出中断号。不同型号mcu
的中断向量号的名称不同,A6的中断向量号请从avr/iomXXX.h中查找。
5) EEPROM操作函数
在ICC中加载头文件#include <eeprom.h>后,可以使用如下两个读写函数:
EEPROM_read(addr, var); //读EEPROM中的一个字节
EEPROM_write (addr, var); //向EEPROM中写入一个字节
6) 定义数据在flash区
主要用于在字符点阵或图形点阵数据存放在flash区,这样可以减少data区的使用,不至于使data区溢出。
在AS6中,需加载头文件#include <avr/pgmspace.h>,然后用 PROGMEM 。
举例说明:
PROGMEM const unsigned char flash[10]; 在flash区声明一个unsiged char型的数组,成员个数10。
unsigned char a;
a = pgm_read_byte(flash[0]);
把flash [0]值赋给变量a。而a = flash[0]是不会从flash区读数据的,而是读data区的数据。
二维数组: PROGMEM const unsigned char flash[3][10]={„„};
指针数组: PROGMEM const unsigned char* const flash[3]={„„};
- Atmel studio注意事项
- Atmel Studio 6.0 SP2 2.4 Gb.txt
- atprogram.exe : Atmel Studio Command Line Interface
- Atmel Studio-SAM单片机开发 ---新建工程
- Atmel Studio-SAM单片机开发 ---PIO
- Atmel Studio-SAM单片机开发 ---EXTINT
- ATmega128a AVR开发工具:atmel studio 6.0下Makefile编写
- AVR/Atmel Studio延时函数没有被调用的问题
- Atmel Studio 6中延时函数错误的解决方法
- AVRWARE++开发笔记8:Atmel Studio去除拼写检查
- AVRWARE++开发笔记9:应用Atmel Studio学习C语言
- 使用Atmel Studio 7编程Arduino Due开发板
- 使用Atmel Studio编程Arduino Uno开发板
- Atmel Studio 6.1 delay函数错误的解决方法
- Using NuttX OS as a library on Atmel Studio 7
- studio ubuntu 注意事项
- android studio 注意事项
- Android Studio使用注意事项
- 十条命令检测linux系统上的服务器
- android自定义view 流式标签View
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系
- Java建造模式
- k-d tree
- Atmel studio注意事项
- 我的标题呢?在Centos 7下安装FFmpeg
- Android SDK Manager更新SDK
- Android学会属性动画的基本用法(下),Interpolator 与ViewPropertyAnimator的用法
- java网络多图片文件压缩zip
- zookeeper高可用配置
- 大型网站技术架构:核心原理与案例分析----Memcached分布式缓存集群的访问模型剖析
- ##如何通过写博客赚钱
- Android设备调试(二)Genymotion模拟器引起的Address already in use ADB server didn't ACK