#define ExButton1() GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_14)
#define ExButton2() GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_12)
程序这样写就会出错,PE12的值读上来一直是1!
if(ExButton1()==0) //启动紧急开门1,并记录日志
{
q_doorcmd = DOOR_STATE_OPEN;
trig_openstyle = R_TRIG_EXBTN1OPEN;
RecordDoorState(trig_openstyle,DOOR_STATE_OPEN);//表示应急开门1
}
if(ExButton2()==0) //启动应急开门2,并记录日志
{
q_doorcmd = DOOR_STATE_OPEN;
trig_openstyle = R_TRIG_EXBTN2OPEN;
RecordDoorState(trig_openstyle,DOOR_STATE_OPEN);//52='4',表示应急开门2
}
程序这样写,读PE12的值就是0
if((ExButton1()==0) || (ExButton2()==0))
{
Door1Open(1);
}
郁闷了.....不知道怎么回事,有人遇到类似的问题吗?我上面是通用的硬件,其它程序都没有占用IO,正确的是PE12读上来为0 !
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
以前是这样写的
if((ExButton1()==0) || (ExButton2()==0)) 这两个按钮用于触发开门操作,不管是那个按下,都可以控制开门,没有任何问题!
但是我现在
ifi((ExButton1()==0)
{
开门
记录按钮1触发开门!
}
ifi((ExButton2()==0)
{
开门
记录按钮2触发开门!
}
这样就不行了,按钮2读到的电平时钟为高电平!!!
一周热门 更多>