新手学习avr单片机ATmage 128 遇到问题 。中断程序被忽略问题,找不到原因。 10

avrstudio4软件仿真时,编译通过了,单在编译信息栏却看到中断程序被忽略。在软件仿真时也发现中断程序没有执行。不知道问题出在哪里。忘各位单片机大虾们解答。我用的是a... avr studio 4 软件仿真时,编译通过了,单在编译信息栏却看到中断程序被忽略。在软件仿真时也发现中断程序没有执行。不知道问题出在哪里。忘各位单片机大虾们解答。
我用的是avr studio 4 ATmage 128 单片机

程序如下

#include <avr/io.h>
#include <avr/interrupt.h>
void main() //用的是TC0 溢出中断,来控制八位LED 一秒闪烁
{
PORTE = 0xFF; //LED 关 端口高电平位关
DDRE = 0xFF;
MCUCR |=(1<<TOIE0); //打开定时器中断使能
sei(); //开启全局中断
TIMSK|=(1<<TOIE2); //定时器中断使能
TCNT0 =155; //定时器赋初值
TCCR0 |= (1 << CS01); //8分频
while (1);

}

volatile unsigned int j =0;
#pragma interrupt_handler timer0_ovf_isr:17
void timer0_ovf_isr(void)
{
TCNT0 = 156; //设初值
j++;
if(j <= 5000) //中断5000次后 执行LED 电平翻转
PORTE ^= 0xFF; //LED 电平翻转

}

../lesson2.c:18: warning: ignoring #pragma interrupt_handler timer0_ovf_isr

上面是写的程序。还有编译信息栏里的话。
望高人指点
展开
 我来答
909080747
2011-08-08 · 超过10用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:29.2万
展开全部
打开avr/interrupt.h看看面可能有说明
#pragma interrupt_handler timer0_ovf_isr
应该是这句话的问题,

lcz_saving的说错了吧。
TCCR1A,TCCR1B都是Timer1的,TCCR0是定时器0的。当然你改了头文件的话另说。
我用的是Atmage32;编译器AVR-GCC;
wangweinan247
2011-08-10 · TA获得超过295个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:98.5万
展开全部
你把“#pragma interrupt_handler timer0_ovf_isr:17”这句话放错地方了,应该放在头文件包含的下面。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
广飇22
2011-08-06 · 超过10用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:35.2万
展开全部
还没设置定时器工作模式
TCCR1A=0X04;
追问
谢谢,我用的是tc0,怎么要设置tc1 呢?我觉得最重要的是编译栏里的这句话。
../lesson2.c:18: warning: ignoring #pragma interrupt_handler timer0_ovf_isr
其中一个单词ignoring 是忽略的意思。编译器忽略了这个中断向量。
追答
TCCR1A 定时器0
TCCR1B定时器1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式