只需打印一次数据
问题描述:
我需要用我的项目制作一些“开关”按钮。 当按钮没有被按下,它应该打印只需打印一次数据
停止
如果按下
开始
的问题是,当我不是压力机,加工,它保持printin'停止',同样当我继续按下按钮。我希望它只能打印一次数据。 更多的细节,我需要的是,按钮保持在'开始'的位置,直到我再次按下它。
这里是我的代码
{
int main (void)
int TestM4;
while(1)
{
if (!(PORTJ_IN&PIN1_bm)) //test m4
{
testM4 = 1;
printf("%d\n", testM4);
}
else
{
testM4 = 0;
printf("%d\n", testM4);
}
答
while(1)
这连续运行while循环。
因此,它检查按钮,打印出语句,然后直接返回以再次检查它们。
要运行它只有一次,完全删除while循环,但然后程序会很快结束。也许,看看ways to pause the program。
答
我不知道所有的代码,所以while(1)
可能是好的或坏的代码,但你可以测试一个标志来改变它并打印一次。
while(1)
{
if (!(PORTJ_IN&PIN1_bm)) //test m4
{
if(testM4 != 1) // status as button up
{
testM4 = 1;
printf("%d\n", testM4);
}
}
else
{
if(testM4 != 0)
{
testM4 = 0;
printf("%d\n", testM4);
}
}
}
+0
即时对不起,先生,它不像我想要的。我试过了。但我想要做的更像是,如果我按下按钮,然后释放它(因为按钮不能锁定,我不知道按钮的类型是什么)它的'开'时,当我再次按它将'关' –
'while(1)'without'break'! –
当(1)按钮已经打开时(2)按钮已经关闭时,清楚地写入“PORTJ_IN”和“PIN1_bm”的值是什么(3)当您按下按钮并将状态从ON改变为OFF时(4)按下按钮并将状态从OFF更改为ON。 – MayurK