列出ICC AVR 過(guò)渡到 AVR STUDIO時(shí)要注意的幾個(gè)問(wèn)題
1.頭文件更改
ICCAVR使用的是“#include
AVR STUDIO更改為“#include
在ICC中使用不同MCU的頭文件是不同的,在AVR studio中所有MCU的頭文件都用“#include
2.AVR studio中延時(shí)函數(shù)可直接使用“#include
void _delay_us (double __us);
void _delay_ms(double __ms);
兩個(gè)函數(shù)的參數(shù)均為double型的,通常使用整數(shù)延時(shí)即可。
(函數(shù)最大延時(shí)時(shí)間是有限制的,參考“util/delay.h”)
3.中斷函數(shù)寫(xiě)法不同
在ICC 中斷函數(shù)名可以自定義
列出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
如:
#include
ISR(SIG_OVERFLOW0) //定時(shí)器/計(jì)數(shù)器0溢出中斷(ICC AVR 過(guò)渡到 AVR STUDIO
4.一些庫(kù)函數(shù)的不同
ICC AVR studio
nop() asm("nop")
WDR() asm("wdr")
CLI() cli()
SEI() sei()