我需要做一些"开 - 关"按钮与我的项目。 当没有按下按钮时,它应该打印
停止
如果按下
问题是,当我没有按下它时,它会保持打印状态,当我继续按下按钮时,它会一直停止。我希望它只打印一次数据。 更多的细节,我需要的是,按钮按住“开始”#39;位置直到我再次按下它。开始
这是我的代码
{
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);
}
答案 0 :(得分:0)
while(1)
这会连续运行while循环。
因此,它检查按钮,打印出语句,然后直接返回再次检查它们。
要仅运行一次,完全删除while循环,但程序将很快结束。
答案 1 :(得分:0)
我不知道所有代码,因此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);
}
}
}