求助各位大佬,有关程序的问题。
使用P34P35两个引脚,gnd只能连接其中一个,想实现最终原本都不接地,之后P34接地,执行1
gnd从P34断开后不连接到P35,执行2
gnd从P34断开后连接到P35,执行3
gnd从P35断开后连接到P34,执行4
gnd从P35断开后不连接到P34,不执行操作,
从都不接gnd到gnd连接到P35,不执行操作,
原本都不接地,之后P34接地,执行1------ if(!P34&P34_last&P35&P35_last) function1
gnd从P34断开后不连接到P35,执行2----- if(P34&!P34_last&P35&P35_last) function2
gnd从P34断开后连接到P35,执行3-------- if(P34&!P34_last&!P35&P35_last) function3
gnd从P35断开后连接到P34,执行4-------- if(!P34&P34_last&P35&!P35_last) function4
gnd从P35断开后不连接到P34,不执行操作----不用处理
从都不接gnd到gnd连接到P35,不执行操作---- 不用处理
定时中断中处理按键动作,这样处理有个条件:断开到连接的时间要尽可能快,且要小于定时器定时,否则容易误判。---比如执行2和执行3这两个动作的判断
u8 num=0;
switch num
{
case 0:
{
if(!P34)
{
function1();
num++
}
}break;
case 1:
{
if(P34)
{
if(!P35)
{
function3();
}
else
function2();
num++
}
}break;
case 2:
{
if(P35)
{
if(!P34)
{
function4();
//条件跳出
}
}
}break;
default:break;
}
页:
[1]