共3条
1/1 1 跳转至页
atmega128,timer1,timer3 atmega128的timer1和timer3可以同时设为溢出中断吗?

问
我在程序中,使用timer1来完成数据采集(64分频),使用timer3(256分频)产生1秒的时间中断,我使用ICCAVR的代码向导来编写两个定时器的初始化代码。现在的问题是使用定时器1可以进入其中断程序,但是定时器3的中断允许打印后,延时1S,应该进入timer3的中断程序时,却产生问题,系统复位从头开始。。。。
也就是timer3根本进入不了中断程序
//TIMER3 initialisation - prescale:256
// WGM: 0) Normal, TOP=0xFFFF
// desired value: 1Hz
// actual value: 1.000Hz (0.0%)
void timer3_init(void)
{
TCCR3B = 0x00; //stop
TCNT3H = 0x1F; //setup
TCNT3L = 0x00;
OCR3AH = 0xE1;
OCR3AL = 0x00;
OCR3BH = 0xE1;
OCR3BL = 0x00;
OCR3CH = 0xE1;
OCR3CL = 0x00;
ICR3H = 0xE1;
ICR3L = 0x00;
TCCR3A = 0x00;
TCCR3B = 0x04;
ETIMSK = 0x04;
}
#pragma interrupt_handler timer3_ovf_isr:30
void timer3_ovf_isr(void)
{
//TIMER3 has overflowed
TCNT3H = 0x1F; //reload counter high value
TCNT3L = 0x00; //reload counter low value
putchar0('g');
} 答 1: 后期的处理我在英文PDF中,发现说使用兼容M103模式时,只有一个16位的定时器,并且没有中断矢量号30!!!可我在烧熔丝时,却没有选兼容模式!!
后来,我将原来的程序做了处理。使用了一个8位的timer0和16位的timer1,这次两个全都可以中断工作了。以后使用还真要注意一下了,我在想,atmega 128在正式的中文资料出现之前,不知有多少位同仁在吃亏!!!
也就是timer3根本进入不了中断程序
//TIMER3 initialisation - prescale:256
// WGM: 0) Normal, TOP=0xFFFF
// desired value: 1Hz
// actual value: 1.000Hz (0.0%)
void timer3_init(void)
{
TCCR3B = 0x00; //stop
TCNT3H = 0x1F; //setup
TCNT3L = 0x00;
OCR3AH = 0xE1;
OCR3AL = 0x00;
OCR3BH = 0xE1;
OCR3BL = 0x00;
OCR3CH = 0xE1;
OCR3CL = 0x00;
ICR3H = 0xE1;
ICR3L = 0x00;
TCCR3A = 0x00;
TCCR3B = 0x04;
ETIMSK = 0x04;
}
#pragma interrupt_handler timer3_ovf_isr:30
void timer3_ovf_isr(void)
{
//TIMER3 has overflowed
TCNT3H = 0x1F; //reload counter high value
TCNT3L = 0x00; //reload counter low value
putchar0('g');
} 答 1: 后期的处理我在英文PDF中,发现说使用兼容M103模式时,只有一个16位的定时器,并且没有中断矢量号30!!!可我在烧熔丝时,却没有选兼容模式!!
后来,我将原来的程序做了处理。使用了一个8位的timer0和16位的timer1,这次两个全都可以中断工作了。以后使用还真要注意一下了,我在想,atmega 128在正式的中文资料出现之前,不知有多少位同仁在吃亏!!!
共3条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 | |
分享电子控制安全气囊计算机知识点被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【OZONE】使用方法总结被打赏20分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K314】芯片启动流程分析被打赏40分 |