使用ICC AVR过渡到AVR STUDIO
来源:互联网 发布:航天信息税金java开发 编辑:程序博客网 时间:2024/05/21 18:29
列出ICC AVR 过渡到 AVR STUDIO时要注意的几个问题
1.头文件更改
ICCAVR使用的是“#include <iom16v.h>”
AVR STUDIO更改为“#include <avr/io.h>”
AVR Studio 4 的头文件 “#include <avr/twi.h>” 对应 AVR Studio 5 的头文件 “#include <compat/twi.h>”
在ICC中使用不同MCU的头文件是不同的,在AVR studio中所有MCU的头文件都用“#include <avr/io.h>”
2.AVR studio中延时函数可直接使用“#include <util/delay.h>”头文件中的延时函数:
void _delay_us (double __us);
void _delay_ms(double __ms);
两个函数的参数均为double型的,通常使用整数延时即可。
(函数最大延时时间是有限制的,参考“util/delay.h”)
3.中断函数写法不同
在ICC 中断函数名可以自定义
列出ATmega16的向量表:
#define IT_RESET 1
#define IT_INT0 2
#define IT_INT1 3
#define IT_TIMER2_COMP 4
#define IT_TIMER2_OVF 5
#define IT_TIMER1_CAPT 6
#define IT_TIMER1_COMPA 7
#define IT_TIMER1_COMPB 8
#define IT_TIMER1_OVF 9
#define IT_TIMER0_OVF 10
#define IT_SPI_STC 11
#define IT_USART_RXC 12
#define IT_USART_UDRE 13
#define IT_USART_TXC 14
#define IT_ADC 15
#define IT_EE_RDY 16
#define IT_ANA_COMP 17
#define IT_TWI 18
#define IT_INT2 19
#define IT_TIMER0_COMP 20
#define IT_SPM_RDY 21
#pragma interrupt_handler user_fuc:Interrupt vector number
如:
#pragma interrupt_handler Time2:iv_TIMER2_COMP
void Time2()
{
}
AVR studio中需添加“#include <avr/interrupt.h>”头文件且中断函数名不能自定义
如:
#include <avr/interrupt.h>
SIGNAL(SIG_OVERFLOW0 ) //定时器/计数器0溢出中断(ICC AVR 过渡到 AVR STUDIO
4.一些库函数的不同
ICC AVR studio
nop() asm("nop")
WDR() asm("wdr")
CLI() cli()
SEI() sei()
- 使用ICC AVR过渡到AVR STUDIO
- 使用ICC AVR和AVR STUDIO的一些差别
- WinAVR(or ICC AVR)+AVR Studio 新手入门必读
- ICC AVR自制库文件
- 使用AVR Studio 4.0编程进行AVR外部中断学习
- AVR
- Ultraedit + WinAVR + AVR Studio
- AVR 定时器使用范例
- AVR单片机使用总结
- AVR usart使用札记
- AVR 看门狗使用
- AVR Studio 5 使用初体验及完整版下载地址
- AVR Studio 中使用 sprintf 和 获取浮点支持
- 使用AVR Studio 设置熔丝位并烧写程序
- D001-开发工具-AVR Studio 环境配置和使用笔记
- WinAVR+AVR Studio 新手入门必读
- WinAVR+AVR Studio 新手入门必读
- AVR Studio 6设置技巧
- 字体 中文
- 单片机的C语言中位操作用法
- SPI协议简介
- GCCAVR(AVR Studio)数据存储在程序存储器(flash)空间的定义
- struts2 + jsonplugin
- 使用ICC AVR过渡到AVR STUDIO
- 母函数 By Tanky Woo
- LINUX驱动编程
- Makefile 理解
- Cadence16.3安装破解过程
- 我的成长记录一
- hibernate中的二级缓存
- Windows Phone开发者必知的10大问题
- 错误记录和解决办法:globalmem虚拟驱动在 insmod 时出现 busy/*嵌入式学习*/