[AVR单片机] 求助!Atmega 16a 的定时器1溢出中断的中断向量不是9吗?

[复制链接]
1736|16
 楼主| whirt_noob 发表于 2017-3-30 23:02 | 显示全部楼层 |阅读模式
那这是怎么回事?下面是我的中断函数

ISR (TIMER1_OVF_vect )
{


        TCNT1H = 0xf0;
        TCNT1L = 0xbd;

}
但是我在头文件中看到这样的代码


#define TIMER1_OVF_vect_num  8
#define TIMER1_OVF_vect      _VECTOR(8)  /* Timer/Counter1 Overflow */

这是把溢出中断向量设置成了8?

可是手册中明明说是9啊,本人菜逼求大神解惑





我用的atmel studio 6.2 ,另外就是中断函数完全不能运行

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| whirt_noob 发表于 2017-3-30 23:03 | 显示全部楼层
 楼主| whirt_noob 发表于 2017-3-30 23:04 | 显示全部楼层
求问正确的中断函数写法是什么
 楼主| whirt_noob 发表于 2017-3-31 08:17 | 显示全部楼层
 楼主| whirt_noob 发表于 2017-3-31 08:44 | 显示全部楼层
 楼主| whirt_noob 发表于 2017-3-31 09:21 | 显示全部楼层
山东电子小菜鸟 发表于 2017-3-31 10:36 | 显示全部楼层
你自己顶没顶 意思 我帮你
yzai 发表于 2017-4-1 11:07 | 显示全部楼层
interrupt [9] void timer1_isr(void)
{
  SREG &= ~0X80;//关全局中断
  TCNT1H = 0X48;
  TCNT1L = 0XE4;//重新装入初
}
yzai 发表于 2017-4-1 11:10 | 显示全部楼层
开中断了吗
ddllxxrr 发表于 2017-4-26 15:29 | 显示全部楼层
你看的程序不是MEGA16的吧,搞不好是MEGA8的
 楼主| whirt_noob 发表于 2017-4-28 11:11 | 显示全部楼层
山东电子小菜鸟 发表于 2017-3-31 10:36
你自己顶没顶 意思 我帮你

谢谢了
xlong_06 发表于 2017-4-28 15:27 | 显示全部楼层
程序头文件是从0开始的,手册是从1开始的!
 楼主| whirt_noob 发表于 2017-5-2 09:34 | 显示全部楼层
山东电子小菜鸟 发表于 2017-3-31 10:36
你自己顶没顶 意思 我帮你

多谢了
 楼主| whirt_noob 发表于 2017-5-2 09:35 | 显示全部楼层
xlong_06 发表于 2017-4-28 15:27
程序头文件是从0开始的,手册是从1开始的!

谢谢啊,原来是这样,我还以为我看的是我弄错了
 楼主| whirt_noob 发表于 2017-5-2 09:36 | 显示全部楼层
ddllxxrr 发表于 2017-4-26 15:29
你看的程序不是MEGA16的吧,搞不好是MEGA8的

确实MEGA16的,只不过我自己弄错了
 楼主| whirt_noob 发表于 2017-5-2 09:37 | 显示全部楼层

中断开了,自己检查了一下程序,发现在读温度的时候给关了中断
 楼主| whirt_noob 发表于 2017-5-2 09:39 | 显示全部楼层
yzai 发表于 2017-4-1 11:07
interrupt [9] void timer1_isr(void)
{
  SREG &= ~0X80;//关全局中断

我用的Atmel stdio6.2,这是那个软件中的中断的写法?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:永远保持一颗充满激情的心

16

主题

286

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部