共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |
| 【S32K3XX】LIN 通讯模块使用被打赏¥31元 | |
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
我要赚赏金
