首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于下降沿中断

关于下降沿中断

关于下降沿中断

发现一个很奇怪的现象

用下降沿(由5V变为0的信号)触发中断,该中断为void EInt1_OnInterrupt(void),如下所示。中断发生后iNum++,还有其他一些工作。

这时候,如果先把一个5V的信号加到该管脚(pad09s12hz64pin45),然后在断开该信号,这时候引起一个中断,iNum加一。

但是,如果用一根金属丝触发该管脚,这时候,这个中断会连续的发生,iNum不断递增,知道把该金属丝移开。这是怎么回事呢?难道金属丝还会产生下降沿吗?还有,如果用示波器的探头放到该管脚,这时候并不触发中断。大家说是不是由于示波器探头有去耦处理?于是我并联一个小电容在管脚和地之间,却不能触发中断了。这是什么原因呢?

这个中断我是用PE做的。版本是4.7

/* MODULE Events */

#include "Cpu.h"

#include "Events.h"

#pragma CODE_SEG DEFAULT

extern char sFlag;//进样器动作前的标志位

extern int iNum;//当前第几个试管

extern int j;//当前第几个高()电平

extern int jMP1;//电机1已经正转的次数

extern int jMP2;//电机2已经正转的次数

extern int jMP3;//电机3已经正转的次数

extern int jMN1;//电机1已经反转的次数

extern int jMN2;//电机2已经反转的次数

extern int jMN3;//电机3已经反转的次数

extern int iTx;//控制X方向电机M1转动的方波周期

extern int iTy;//控制X方向电机M2转动的方波周期

extern int iTz;//控制X方向电机M3转动的方波周期

extern int imT;

extern void PerPulse(int mP); //通过延迟产生控制电机转动的周期

unsigned int iTT,time1,time2;//

//int ii=0;

/* word result;

word myreturn,oldData;

float one_loop_us;

//char isTwo;//判读是不是连续两次发生中断*/

/*

** ===================================================================

** Event : EInt1_OnInterrupt (module Events)

**

** From bean : EInt1 [ExtInt]

** Description :

** This event is called when an active signal edge/level has

** occurred.

** Parameters : None

** Returns : Nothing

** ===================================================================

*/

//PAD0外部信号下降沿触发

// 在第2.5",1号泵通电,继电器输出5V电平.这里触发外部中断的,就是这个信号的变化

void EInt1_OnInterrupt(void)

{ iNum++;

/* place your EInt1 interrupt procedure body here */

FC161_Enable();

// IEE1_SetWord(0x808,iNum);

// IEE1_GetWord(0x808,&result);

// oldData=result;

//ii++;

//IEE1_SetWord(0x808,0xAA);

//IEE1_GetWord(0x808,&result);

//myreturn=result;

sFlag='T';

//for (iTT = 0; iTT < 60000; ++iTT); /* for-cycle */

//FC161_GetTimeUS(&time1);

/* get measured time of whole for-cycle */

FC161_Reset(); /* reset the counter */

}

金属丝直接接触管脚,相当于管脚悬空

如果金属丝端一端接地,另一端接触管脚,这时候就不连续触发了

下面接一个下拉电阻看看行不行

接一个下拉电阻就可以了

[em04]
我晕死了!!!
http://www.ruiyish.com  万艾可
http://www.zxgrow.com  卡王
http://www.gzkemei.com  基因育根
http://www.dfdzpcb.com  阴茎增大
http://www.jishiyaofang.com  超级P57
http://www.KYKYY.COM  充气仿真娃娃
http://www.jskmvchina.com  怎么样才能生儿子
http://www.cdwucheng.com  脚气的治疗方法
http://www.am688.com  阴茎短小
http://www.jxhaichuan.com  快高
http://www.chxtn.com  wifi 密码破解
返回列表