×
嵌入式 > 嵌入式开发 > 详情

ICC AVR 过渡到 AVR STUDIO

发布时间:2020-08-06 发布时间:
|
列出ICCAVR过渡到AVRSTUDIO时要注意的几个问题

1.头文件更改

ICCAVR使用的是“#include

AVRSTUDIO更改为“#include<avr/io.h>”

在ICC中使用不同MCU的头文件是不同的,在AVRstudio中所有MCU的头文件都用“#include

2.AVRstudio中延时函数可直接使用“#include”头文件中的延时函数:

void_delay_us(double__us);

void_delay_ms(double__ms);

两个函数的参数均为double型的,通常使用整数延时即可。

(函数最大延时时间是有限制的,参考“util/delay.h”)

3.中断函数写法不同

在ICC中断函数名可以自定义

列出ATmega16的向量表:


#defineIT_RESET1
#defineIT_INT02
#defineIT_INT13
#defineIT_TIMER2_COMP4
#defineIT_TIMER2_OVF5
#defineIT_TIMER1_CAPT6
#defineIT_TIMER1_COMPA7
#defineIT_TIMER1_COMPB8
#defineIT_TIMER1_OVF9
#defineIT_TIMER0_OVF10
#defineIT_SPI_STC11
#defineIT_USART_RXC12
#defineIT_USART_UDRE13
#defineIT_USART_TXC14
#defineIT_ADC15
#defineIT_EE_RDY16
#defineIT_ANA_COMP17
#defineIT_TWI18
#defineIT_INT219
#defineIT_TIMER0_COMP20
#defineIT_SPM_RDY21

#pragmainterrupt_handleruser_fuc:Interruptvectornumber

如:

#pragmainterrupt_handlerTime2:iv_TIMER2_COMP

voidTime2()

{

}

AVRstudio中需添加“#include”头文件且中断函数名不能自定义

如:

#include

ISR(SIG_OVERFLOW0)//定时器/计数器0溢出中断(ICCAVR过渡到AVRSTUDIO


4.一些库函数的不同

ICCAVRstudio

nop()asm("nop")

WDR()asm("wdr")

CLI()cli()

SEI()sei()



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
寻找半导体产业未来10年的驱动力