|
请教下比较诡异的问题, 提示 公共段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周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|