智能车制作
标题:
xs128 外部中断求助
[打印本页]
作者:
Mark_
时间:
2015-7-24 01:07
标题:
xs128 外部中断求助
感觉要死了、
初始化如下:
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.
求指导。。。
作者:
Mark_
时间:
2015-7-24 01:24
没人不科学啊啊啊
作者:
ysdx12011
时间:
2015-7-27 11:36
我也遇到问题了,和你类似,不会啊!!!!
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2