共2条
1/1 1 跳转至页
ATmega128,C0 ATmega128的T/C0溢出中断为什么进不去?!

问
T/C0的初始化如下:
void TC0_Init(void)
{
TIMSK=(1<<TOIE0); //中断使能
TCCR0=0x00; //先停止
T/C0
//SFIOR=(1<<TSM); //同步模式
TCNT0=0x00; //设置初始
值
TCCR0=(1<<CS00)|(1<<CS01)|(1<<CS02); //8M/1024
SEI();
}
中断程序声明及定义如下:
#pragma interrupt_handler TC0_OvIsr:17 //Time0 Overflow
void TC0_OvIsr(void)
{
。。。。
}
//主程序
void main(void)
{
TC0_Init();
for(;;)
;
}
在AVRStudio中调试时,在ISR中设断点,确进不去。请大虾指教。非常感谢 答 1: 检查一下M103熔丝是如何设置的? 答 2: 试试我的 //定时器0初始化
TCCR0B=0;
TCNT0=0xFE98; //定时100ms,高字节先写入
TCCR0B=0X05; //预分频比1024
TIMSK = (1<<TOIE0); //timer interrupt sources
试试我的初始化,我的项目已经完工了。 答 3: 错发//Time0_init
TCCR0 = 0x00;
TCNT0 = 0x4C; //定时50ms
TCCR1B=0;
TCNT1=0xF1F0; //定时1s,高字节先写入
TCCR1B=0X05;
//TCCR0 = (1<<CS22)|(1<<CS21)|(1<<CS20); //预分频比1024
TIMSK = (1<<TOIE0)|(1<<TOIE1);
初始化定时器0与定时器1 答 4: 请问,定时时间怎么计算的谢谢 答 5: 请教AVR前辈。
检查一下M103熔丝是如何设置的?
我不太理解。我把FUSES设置中的m13兼容选上了。还废了一个片子,
也修改了T/C0的初始化程序,但还是进不去ISR。非常着急。请大虾帮忙!
答 6: 用ICC application builder 建立一个样例,不要中断错了新的芯片不需要任何设置就可以进中断 答 7: M103熔丝是用于设置和MEGA103兼容的 M103熔丝是用于设置和MEGA103兼容的,STK500/JTAG ICE/SL ISP等都可以对其进行更改。
你的程序编译选项设置如果没有错误,应该可以正常运行的,但AVRSTUDIO模拟时的速度比较慢,如果你的机器比较慢的话要稍微耐心等待一会。 答 8: 非常感谢小易和AVR,//非常感谢小易和AVR, 我的程序如下:(用ICC AVR编译,然后用
//AVRStudio4.09调用.cof文件,现在用模拟仿真)
//在ISR中设置断点,F5后,还是进不了中断,观察相关的寄存器都变化正常;
//真不知道这么好,编写第一个小程序就碰见麻烦。使信心背收打击啊。
//请前辈给看看程序;小弟感激流涕。
#include "iom128v.h"
#include "macros.h"
unsigned char flag;
#pragma interrupt_handler TC0_Isr: 17 //Time0 Overflow
void TC0_Isr(void)
{
TCNT0 = 0x00; //重新定时
NOP();
NOP();
NOP();
}
void TC0_Init(void)
{
DDRD=(1<<PD6); //初始化PD6输出低
PORTD&=~(1<<PD6);
SFIOR=(1<<TSM); //同步模式
TCCR0=(1<<CS00)|(1<<CS01)|(1<<CS02); //8M/1024
TCNT0=0x00;
}
void main(void)
{
flag=0;
TC0_Init();
TIMSK=(1<<TOIE0); //T/C0中断使能
SEI(); //开全局中断
for(;;)
{
NOP();
NOP();
NOP();
}
} 答 9: 你原来的程序我在AVRSTUDIO409中调过,可以正常产生中断啊。 答 10: 原来是没有安心等待!模拟仿真进入中断了,原来是没有耐心等到进入中断的时候。一看半天没动静。就以为不行呢。谢谢AVR。谢谢小易,以后还得麻烦你们多帮忙。 答 11: 在JTAG ICE硬件调试下出现的问题我的T/C0中断在软件模拟环境下调试成功后,通过JTAG下载到目标板。出现如下问题:
请问是怎么回事,目标板的连线及电源和示众都正常。非常感谢!
JTAG ICE Warning: Reading the program counter, an invalid value (0x7FFFFFFF) was received from the device.
JTAG ICE Warning: A problem occured while executing this debug command! Please check the connections, the voltage, and the
clock system of the target application!
Error reading memory IO Address:0 Size:64
Error reading memory REGISTERS Address:0 Size:32
Error reading memory SRAM Address:96 Size:160
答 12: 原来是硬件的问题。谢谢各位前辈了
void TC0_Init(void)
{
TIMSK=(1<<TOIE0); //中断使能
TCCR0=0x00; //先停止
T/C0
//SFIOR=(1<<TSM); //同步模式
TCNT0=0x00; //设置初始
值
TCCR0=(1<<CS00)|(1<<CS01)|(1<<CS02); //8M/1024
SEI();
}
中断程序声明及定义如下:
#pragma interrupt_handler TC0_OvIsr:17 //Time0 Overflow
void TC0_OvIsr(void)
{
。。。。
}
//主程序
void main(void)
{
TC0_Init();
for(;;)
;
}
在AVRStudio中调试时,在ISR中设断点,确进不去。请大虾指教。非常感谢 答 1: 检查一下M103熔丝是如何设置的? 答 2: 试试我的 //定时器0初始化
TCCR0B=0;
TCNT0=0xFE98; //定时100ms,高字节先写入
TCCR0B=0X05; //预分频比1024
TIMSK = (1<<TOIE0); //timer interrupt sources
试试我的初始化,我的项目已经完工了。 答 3: 错发//Time0_init
TCCR0 = 0x00;
TCNT0 = 0x4C; //定时50ms
TCCR1B=0;
TCNT1=0xF1F0; //定时1s,高字节先写入
TCCR1B=0X05;
//TCCR0 = (1<<CS22)|(1<<CS21)|(1<<CS20); //预分频比1024
TIMSK = (1<<TOIE0)|(1<<TOIE1);
初始化定时器0与定时器1 答 4: 请问,定时时间怎么计算的谢谢 答 5: 请教AVR前辈。
检查一下M103熔丝是如何设置的?
我不太理解。我把FUSES设置中的m13兼容选上了。还废了一个片子,
也修改了T/C0的初始化程序,但还是进不去ISR。非常着急。请大虾帮忙!
答 6: 用ICC application builder 建立一个样例,不要中断错了新的芯片不需要任何设置就可以进中断 答 7: M103熔丝是用于设置和MEGA103兼容的 M103熔丝是用于设置和MEGA103兼容的,STK500/JTAG ICE/SL ISP等都可以对其进行更改。
你的程序编译选项设置如果没有错误,应该可以正常运行的,但AVRSTUDIO模拟时的速度比较慢,如果你的机器比较慢的话要稍微耐心等待一会。 答 8: 非常感谢小易和AVR,//非常感谢小易和AVR, 我的程序如下:(用ICC AVR编译,然后用
//AVRStudio4.09调用.cof文件,现在用模拟仿真)
//在ISR中设置断点,F5后,还是进不了中断,观察相关的寄存器都变化正常;
//真不知道这么好,编写第一个小程序就碰见麻烦。使信心背收打击啊。
//请前辈给看看程序;小弟感激流涕。
#include "iom128v.h"
#include "macros.h"
unsigned char flag;
#pragma interrupt_handler TC0_Isr: 17 //Time0 Overflow
void TC0_Isr(void)
{
TCNT0 = 0x00; //重新定时
NOP();
NOP();
NOP();
}
void TC0_Init(void)
{
DDRD=(1<<PD6); //初始化PD6输出低
PORTD&=~(1<<PD6);
SFIOR=(1<<TSM); //同步模式
TCCR0=(1<<CS00)|(1<<CS01)|(1<<CS02); //8M/1024
TCNT0=0x00;
}
void main(void)
{
flag=0;
TC0_Init();
TIMSK=(1<<TOIE0); //T/C0中断使能
SEI(); //开全局中断
for(;;)
{
NOP();
NOP();
NOP();
}
} 答 9: 你原来的程序我在AVRSTUDIO409中调过,可以正常产生中断啊。 答 10: 原来是没有安心等待!模拟仿真进入中断了,原来是没有耐心等到进入中断的时候。一看半天没动静。就以为不行呢。谢谢AVR。谢谢小易,以后还得麻烦你们多帮忙。 答 11: 在JTAG ICE硬件调试下出现的问题我的T/C0中断在软件模拟环境下调试成功后,通过JTAG下载到目标板。出现如下问题:
请问是怎么回事,目标板的连线及电源和示众都正常。非常感谢!
JTAG ICE Warning: Reading the program counter, an invalid value (0x7FFFFFFF) was received from the device.
JTAG ICE Warning: A problem occured while executing this debug command! Please check the connections, the voltage, and the
clock system of the target application!
Error reading memory IO Address:0 Size:64
Error reading memory REGISTERS Address:0 Size:32
Error reading memory SRAM Address:96 Size:160
答 12: 原来是硬件的问题。谢谢各位前辈了
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 |