共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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |