共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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |