爱吃西红柿 发表于 2024-4-1 15:29:54

求助各位大佬,有关程序的问题。

使用P34P35两个引脚,gnd只能连接其中一个,想实现最终
原本都不接地,之后P34接地,执行1
gnd从P34断开后不连接到P35,执行2
gnd从P34断开后连接到P35,执行3
gnd从P35断开后连接到P34,执行4
gnd从P35断开后不连接到P34,不执行操作,
从都不接gnd到gnd连接到P35,不执行操作,



21cnsound 发表于 2024-4-1 16:00:09

原本都不接地,之后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这两个动作的判断

jwd 发表于 2024-4-1 16:17:18

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]
查看完整版本: 求助各位大佬,有关程序的问题。