|
请教下比较诡异的问题, 提示 公共段intvec中地址0x3c处的字节有多个定义。它在“定时器”模块和“应用程序”模块中定义。
但是在程序中我明明就只定义了一个中断向量
以前使用 ATmega128A 是没有出现这个问题的,
现在单片机使用 ATmega1281 , 程序移植自 ATmega128A
程序中断向量定义
#pragma vector = TIMER1_OVF_vect //10ms 溢出中断使能,用于按键扫描,蜂鸣器
__interrupt void TIMER1_OVF_vectInterrupt(void)
{
TCNT1H = 0xFD; //定时10ms;256分频 16MHZ 0xFD8F
TCNT1L = 0x8F;
if(InitFlag)
{
BEEP_Poll();
REMOTE_RxOutTime();
bsp_KeyScan();
}
}
// 貌似问题主要就出现在下面的这个中断向量定义,如果把这个 TIMER2_OVF_vect 改成 TIMER4_OVF_vect 或者 TIMER5_OVF_vect 都是没有问题, 我只是不明白为何使用 TIMER2_OVF_vect 不行, 程序中也明明只有 一个 TIMER2_OVF_vect 中断向量定义
// 也还是会出现这个问题 ????????????????????????????
#pragma vector = TIMER2_OVF_vect // 100us 溢出中断使能, 用于调节LCD背光亮度,模拟PWM
__interrupt void TIMER2_OVF_vectInterrupt(void)
{
TCNT2 = 0xE7;
if(InitFlag)
{
.................
}
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。
|