搜索
bottom↓
回复: 4

INT中断进不去【恢复】

[复制链接]

出0入0汤圆

发表于 2009-1-12 10:04:18 | 显示全部楼层 |阅读模式
先贴上我的程序:

/*

  单片机:PIC16F690

  功  能:INT中断测试

*/

#include<pic.h>              



#define uchar unsigned char 

#define uint  unsigned int 



//-------------------- 

//主程序 

void main() 

{ 

  OPTION=0X00;                //INT 引脚的下降沿触发中断 



  TRISA=0X0F;                //A2为中断口

  TRISB=0X00;                // 

  TRISB=0X00;

  INTE=1;                        //INT 外部引脚中断允许位 

  GIE=1;            //开放全局中断 

  PEIE=1;           //使能外部中断 

  PORTB=0X00; 



  while(1)                     

           { 

        } 

  } 



//中断函数 

void interrupt INT(void) 

  { 

   if(INTE && INTF)     //判断是否为外部中断 

     { 

                INTF=0; 

                PORTB=0X40;;    //RB6仅仅应该没有出现了高脉冲,就又恢复为低电平了,怎么回事呢? ?

     } 

   }

以上程序好像是进不了中断,是否设置有问题? 

公司里现在开始使用PIC单片机,望高手指点指点!

出0入0汤圆

发表于 2009-1-22 23:52:03 | 显示全部楼层
IO口的方向要符合逻辑,如果是输入作用的,比如INT中断,232的RX,捕捉模块,如果DATASHEET没有很特殊的说明,都是要设置为输入的,即1。

出0入0汤圆

发表于 2009-1-22 23:50:30 | 显示全部楼层
既然是中断口,你的全部引脚都是输出,怎么中断,改一改,记得检查一下AD相关的寄存器设置了没有——ANSEL,把引脚都设置为数字口。

出0入0汤圆

发表于 2009-1-22 16:01:24 | 显示全部楼层
先声明我是菜鸟,正在学dsPIC30F的,不知道区别大不大。

可能是中断函数不对吧。

改成void _ISR _INT(void)试试,还应该在前面先声明一下。

出0入0汤圆

发表于 2009-4-6 20:19:15 | 显示全部楼层
路过
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-9 23:14

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

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