智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 646|回复: 2
打印 上一主题 下一主题

xs128 外部中断求助

[复制链接]

9

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
472
QQ
威望
244
贡献
134
兑换币
140
注册时间
2015-4-10
在线时间
47 小时
跳转到指定楼层
1#
发表于 2015-7-24 01:07:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
感觉要死了、
初始化如下:
void INTER_int()   //J1中断初始化
{            
  DDRJ_DDRJ0=0;
  DDRJ_DDRJ1=0;//设置J0 1为输入
  PPSJ_PPSJ0=0;//设置J0引脚中断为下降触发
  PPSJ_PPSJ1=1;//设置J1引脚中断为上升触发
  PIEJ_PIEJ0=1;//J0外部中断使能
   PIEJ_PIEJ1=1;//J1外部中断使能                                                                                                                                                                                            
}  


中断函数如下:
void interrupt 24 PORTJ_ISR(void)
{      
  if(PIFH_PIFH0)   
{     //检测到磁铁动作函数
     PIFJ_PIFJ0=1;//清中断标志位
      stop++;
      if(stop==1) Delay_ms(1000); //延时1s 冲过去
      send(stop);
}
else if(PIFH_PIFH1)
  {   //检测到超声波上升沿动作函数
     PIFJ_PIFJ1=1;//清中断标志位
    while(PTJ_PTJ1)
    {       count++;
             if(!PTJ_PTJ1)
             {
                    distance=(float)(count*3.4);    //转换成厘米。
                    count=0;
                    send(distance);
             }
          Delay_ms(1);       //延时1ms
    }

}   
楼主想用J0 J1 口外部中断来 检测高低电平上升沿~

主函数如下:
void main(void)
{   
    chaopin();   //超频60M
    EnableInterrupts;  
    INTER_int();   //J0 1通信中断初始化
    SCI_Init();      //串口初始化化

  for(;;) {
_FEED_COP(); /* feeds the dog */
}
}
send()为串口送回数据。

但是收不到,感觉没有进入中断 或则if.
求指导。。。
回复

使用道具 举报

9

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
472
QQ
威望
244
贡献
134
兑换币
140
注册时间
2015-4-10
在线时间
47 小时
2#
 楼主| 发表于 2015-7-24 01:24:18 | 只看该作者
没人不科学啊啊啊
回复 支持 反对

使用道具 举报

0

主题

15

帖子

0

精华

注册会员

Rank: 2

积分
118
威望
62
贡献
28
兑换币
41
注册时间
2015-7-4
在线时间
14 小时
毕业学校
燕山大学
3#
发表于 2015-7-27 11:36:26 | 只看该作者
我也遇到问题了,和你类似,不会啊!!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-8 17:59 , Processed in 0.037758 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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