搜索
bottom↓
回复: 14

AVR定时器中断有个警告不知怎么解决

[复制链接]

出0入0汤圆

发表于 2013-5-21 22:38:43 | 显示全部楼层 |阅读模式
警告是这样的[warning] unknown #pragma interrput_handler_miao
程序是想在数码管前两位显示一个一分钟的计数器,但是数码管根本不走.
能帮我看看吗?程序好像真没问题哎,是不是编译器设置问题啊

#include<iom16v.h>
#include<macros.h>
#define uint unsigned int
#define uchar unsigned char
#pragma interrput_handler_miao:9
#pragma data:code
flash uchar table[10]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};
uint num;  
void delay(uint ms)
{
         uint i,j;
         for(i=0;i<ms;i++)
                 for(j=0;j<600;j++);
}
void show(uchar add,uchar date)
{
         DDRD|=0xf0;       //设置PD口高四位为输出模式,低四位模式不变
         PORTD=BIT(add+3);//打开位选
         
         DDRB=0xff;   
         PORTB=table[date];//段选
         delay(5);
}
void init(void)
{
         TCCR1B=0x04;
         TCNT1H=0x85;      //装初值,先写高位在写低位
         TCNT1L=0xED;      //读则相反
         TIMSK|=BIT(2);
         SREG|=BIT(7);
}
void miao(void)
{
         num++;
         if(num==60)
                 num=0;
         
         TCNT1H=0x85;
         TCNT1L=0xED;
}                                                        
void main(void)
{
         uchar shi,ge;
         num=0;
         init();
         while(1)
         {
                   shi=num/10;
                 ge=num%10;
                   show(1,shi);
                 show(2,ge);
                // show(3,2);
                // show(4,3);
         }
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2013-5-21 22:58:06 | 显示全部楼层
本帖最后由 zhujinliang2124 于 2013-5-21 23:09 编辑

楼主用的什么编译器?

Winavr或者说Gccavr,代码不是这样写的

出0入0汤圆

 楼主| 发表于 2013-5-22 07:52:17 | 显示全部楼层
zhujinliang2124 发表于 2013-5-21 22:58
楼主用的什么编译器?

Winavr或者说Gccavr,代码不是这样写的

我用的是ICCAVR

出0入0汤圆

发表于 2013-5-22 08:20:08 | 显示全部楼层
我用的是ICCAVR


Have you read the compiler manual?

出0入0汤圆

发表于 2013-5-22 08:22:48 | 显示全部楼层
w灰太狼x 发表于 2013-5-22 07:52
我用的是ICCAVR

中断就衔接不上,建议你直接在ICCAVR里设置好想要的参数,直接生成初始化程序

#pragma interrupt_handler int1_isr:iv_INT1     //外部中断入口
void int1_isr(void)
{
      ...
           }

出0入0汤圆

发表于 2013-5-22 08:23:30 | 显示全部楼层
搜了一个ICCAVR的中断例子,其中一段是这样写的,楼主对照这个改改看看:

#pragma interrupt_handler int0_isr:2
void int0_isr(void)
{
//external interupt on INT0
i++;  //在中断里进行操作
}

相关链接:http://www.avrvi.com/avr_examples/interrupt.html

出0入0汤圆

 楼主| 发表于 2013-5-22 08:46:36 | 显示全部楼层
millwood0 发表于 2013-5-22 08:20
Have you read the compiler manual?

没怎么读,才入手.

出0入0汤圆

 楼主| 发表于 2013-5-22 08:47:03 | 显示全部楼层
zhujinliang2124 发表于 2013-5-22 08:23
搜了一个ICCAVR的中断例子,其中一段是这样写的,楼主对照这个改改看看:

#pragma interrupt_handler int0 ...

谢谢,我试试看.

出0入0汤圆

 楼主| 发表于 2013-5-22 08:47:48 | 显示全部楼层
zhpowerpcb 发表于 2013-5-22 08:22
中断就衔接不上,建议你直接在ICCAVR里设置好想要的参数,直接生成初始化程序

#pragma interrupt_handle ...

这个怎么设置呢?我才入手,不太会设置啊

出0入0汤圆

 楼主| 发表于 2013-5-22 09:07:50 | 显示全部楼层
zhpowerpcb 发表于 2013-5-22 08:22
中断就衔接不上,建议你直接在ICCAVR里设置好想要的参数,直接生成初始化程序

#pragma interrupt_handle ...

我用的是定时器中断,不是外不中断啊

出0入0汤圆

发表于 2013-5-22 09:09:03 | 显示全部楼层
本帖最后由 zhujinliang2124 于 2013-5-22 09:10 编辑
w灰太狼x 发表于 2013-5-22 09:07
我用的是定时器中断,不是外不中断啊


学人家说话就是了:
#pragma   interrupt_handler                           int0_isr:2
中间是断开的

另可猜测int0_isr指的是后面的中断服务函数,2指的是中断号, 把这两个改成自己的

出0入0汤圆

 楼主| 发表于 2013-5-22 09:33:42 | 显示全部楼层
zhujinliang2124 发表于 2013-5-22 09:09
学人家说话就是了:
#pragma   interrupt_handler                           int0_isr:2
中间是断开的

这个我知道,谢谢,偶尔可以冒几个数出来.

出0入0汤圆

发表于 2013-5-22 22:57:05 | 显示全部楼层
#pragma interrput_handler_miao:9     

==>  
     
#pragma interrput_handler miao:9

出0入0汤圆

发表于 2013-5-23 08:31:24 | 显示全部楼层
interrupt 这个才是正确的 楼主英文估计比我都菜  呵呵 开玩笑

出0入0汤圆

 楼主| 发表于 2013-5-23 13:14:40 | 显示全部楼层
yklstudent 发表于 2013-5-23 08:31
interrupt 这个才是正确的 楼主英文估计比我都菜  呵呵 开玩笑

原来是这样啊!万分感谢.说实话我英文重来没及格过.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 01:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表