6.1.中断函数:
#pragma vector=0x12//定时器0溢出中断入口地址
__interrupt void time0(void)
{
;
}
6.2.内在函数也可以称为本征函数
6.2.1延时函数,以周期为标准
__delay_cycles(unsigned long );
如果处理器频率为1M,延时100us,如下:
__delay_cycles(100 );
当然你也可以对该函数进行修改:
#define CPU_F 1000000
#define delay_us (unsigned long) __delay_cycles((unsigned long )*CPU_F)
#define delay_ms (unsigned long) __delay_cycles((unsigned long )*CPU_F/1000)
6.2.2中断指令

本文档介绍了IAR for AVR编译器中如何定义中断函数,包括使用#pragma vector和__interrupt关键字,以及中断函数的注意事项。此外,还详细讲解了内在函数,如延时函数__delay_cycles、中断指令__disable_interrupt和__enable_interrupt,以及从FLASH读取数据、定点乘法和半字节交换等操作。这些函数提供了对MCU底层功能的直接访问,增强了编程灵活性。
最低0.47元/天 解锁文章
1481

被折叠的 条评论
为什么被折叠?



