提问———ATmega16 T/C1 进不了溢出中断

2019-07-15 17:11发布

编译环境是ICCV8AVR普通模式溢出中断,调了100遍他死活不进中断
求解。。。
/* */

#include <macros.h>
#include <iom16v.h>
void Delay_ms(int a)
{
    int i,j;
    for(i = 0;i < a;i++)
        for(j = 0;j < 1140;j++);
}
#pragma interrupt_handler timer1_ovf_isr:iv_TIM1_OVF
void timer1_ovf_isr(void)
{
     PORTC = 0xff;
     TCNT1H = 0X85;
     TCNT1L = 0XED;
     PORTC = 0X00;
}

void main(void)
{
    TCCR1A = 0X00;
    TCCR1B = 0X04;
    TCNT1H = 0X85;
    TCNT1L = 0XED;
    CLI();
    TIMSK = 0x04;
    SEI();
    DDRC = 0xff;
    PORTC = 0x00;

    while(1)
    {
        ;
    }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
smr41453009
1楼-- · 2019-07-15 22:01
问题解决了,8秒时才进第一次中断,而且中断函数的执行用肉眼看不出来。。。
(用protues仿的,PORTC端口一直是小蓝点)
smr41453009
2楼-- · 2019-07-16 02:43
xianyoudian 发表于 2015-5-14 10:17
确实溢出?总中断是否开启?子中断是否调用?不行改用查询模式

我找到问题了,还是谢谢您

一周热门 更多>