单片机/MCU论坛
直播中

smr41453009

10年用户 6经验值
擅长:可编程逻辑 测量仪表 嵌入式技术
私信 关注
[问答]

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

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

#include
#include
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)
    {
        ;
    }
}


已退回1积分

回帖(2)

smr41453009

2015-5-14 13:46:47
问题解决了,8秒时才进第一次中断,而且中断函数的执行用肉眼看不出来。。。
(用protues仿的,PORTC端口一直是小蓝点)
举报

smr41453009

2015-5-14 13:49:44
引用: xianyoudian 发表于 2015-5-14 10:17
确实溢出?总中断是否开启?子中断是否调用?不行改用查询模式

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

更多回帖

发帖
×
20
完善资料,
赚取积分