打印
[AVR单片机]

M8定时器1溢出中断号是9?

[复制链接]
824|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sanguanko|  楼主 | 2015-3-8 21:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
M8定时器1溢出中断号是9?但是当我无意中把中断号写成了15,似乎也能进中断,接PC0和PC1的LED会交替闪烁,怎么可能呢?求解释,程序如下,用的是ICCAVR。

#include <iom8v.h>
#include <macros.h>

unsigned char i=0;
void timer1_init(void)
{
  TCNT1H = 0XCF;//TC1赋处初值
  TCNT1L = 0X2C;
  TCCR1B = (1<<CS11)|(1<<CS10);//64分频  0X03;
  TIMSK = (1<<TOIE1); //使能TC1溢出中断
}

#pragma interrupt_handler TC1_serve:9
void TC1_serve(void)
{   
     CLI();
         i++;
           TCNT1H = 0XCF;
     TCNT1L = 0X2C;
     if(i<10) PORTC=(0<<PORTC0)|(1<<PORTC1); //PC0和PC1交替闪烁
         else PORTC = (1<<PORTC0)|(0<<PORTC1);
         if(i==20)i=0;
         SEI();
}

void portc_init(void)
{
  DDRC  = 0xFF;//端口PC全部配置为输出
  PORTC = 0xFF;//初始输出为1
}

main()
{
  CLI();
  timer1_init();
  portc_init();
  SEI();
}  

相关帖子

沙发
yklstudent| | 2015-3-8 21:57 | 只看该作者
楼主估计是新人,好新的新人

使用特权

评论回复
板凳
sanguanko|  楼主 | 2015-3-9 00:33 | 只看该作者
是的,到今天M8才刚学满一周

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

262

主题

290

帖子

2

粉丝