Board logo

标题: 请教中断 [打印本页]

作者: cobyl_leeheng    时间: 2006-4-29 23:35     标题: 请教中断

用cw_12新建项目时自带下列函数是什么意思啊 ,麻烦解释一下


#pragma CODE_SEG __NEAR_SEG NON_BANKED /* Interrupt section for this module. Placement will be in NON_BANKED area. */
interrupt void RTI_ISR(void) { /* simple RTI interrupt service routine */
  /* clear RTIF bit */
  CRGFLG = 0x80; 
}


#pragma CODE_SEG DEFAULT
static void RTIInit(void) {
  /* setup of the RTI interrupt frequency */
  /* adjusted to get 1 millisecond (1.024 ms) with 16 MHz oscillator */
  RTICTL = 0x1F; /* set RTI prescaler */
  CRGINT = 0x80; /* enable RTI interrupts */
}


 


作者: strongchen    时间: 2006-4-30 10:38

实时中断RTI的初始化和中断服务程序。
作者: cobyl_leeheng    时间: 2006-4-30 14:50

是程序中必须要加的吗
我在写程序时只写成如下的话,编译就无法通过
/* clear RTIF bit */
CRGFLG = 0x80;
RTICTL = 0x1F; /* set RTI prescaler */
CRGINT = 0x80; /* enable RTI interrupts */
作者: Fetchlove    时间: 2006-4-30 20:21

既然是清状态标志,不应该写在一起呀(CRGFLG = 0x80; )
作者: cobyl_leeheng    时间: 2006-5-1 16:47

回楼上 我只是说用那几句话而已(肯定是不能在一起用),而不是用interrupt void RTI_ISR(void)这个函数来写的
作者: seuafu2005    时间: 2006-5-3 08:35

你编译出现什么错误
自己写的话,对应的中断向量表是否写准确了




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0