PIC读书笔记4:中断函数注意事项
时间:09-05
来源:互联网
点击:
1:中断名称
例如Timer1中断:
void __attribute__ ((interrupt)) _T1Interrupt (void)
{
//interrupt service roution code here..
}
函数名_T1Interrupt并不是随意选择的,她是中断向量表中预先定义的Timer1中断标志符,并且在连接器脚本中需要加载代码,加载的是“.gld”文件。
C30编译器中用到的__attribute__(())机制是用于说明特殊功能的C语言扩展功能。个人认为这种语法又长又难读。推荐使用include文(.h)件里的宏定义,这样可以大大提高代码的可读性。下面代码与上面功能一样。使用宏_ISR_实现:
void _ISR _T1Interrupt (void)
{
//interrupt service roution code here..
}
2:关于中断代码长度:
冗长的计算应该放在主函数中,而不是放在中断服务程序中。
- dsPIC33F系列DSC的 SD存储卡接口设计(01-05)
- 基于dsPIC30F2010的土壤水分测量仪的设计研究(08-27)
- 基于AD7862和dsPIC30F的数据采集系统(08-25)
- 基于DSPIC30F4011单片机的CAN总线通信设计(02-08)
- PICCl8编译器命令行驱动及其应用(02-11)
- 基于dsPIC33F系列单片机的应用程序升级方法(04-03)