wuyangang 发表于 2010-9-6 12:57:34

很奇怪的问题

设置中断入口地址pISR_TIMER1 = (U32)Timer1_ISR时; 在定时器初始化函数里编译时就会出错
如下图
但将 pISR_TIMER1 = (U32)Timer1_ISR 放在主函数里编译时就不会出错
函数如下

/****************************************
void Timer1_init(void)

{

U32 val;

   ...这里是定义的寄存器已省略.......

pISR_TIMER1 = (U32)Timer1_ISR;//放在这里编译时就出错??????????????????????

}
//****************************************************
void __irq Timer1_ISR(void)

{
  static int count;
  //在中断时对一个数值进行计数
   //到了一定值时,控制一个输出
   
}

//****************************************88


int Main(void)      
{
 U8 key;

    Timer1_init();

    pISR_TIMER1 = (U32)Timer1_ISR;//放在里时就可以!!!!!!!!!!!!!!
   
   while(1) ;
       
}

wuyangang 发表于 2010-9-6 13:00:57

错误代码如下
页: [1]
查看完整版本: 很奇怪的问题