我使用的是CCS编译器,对于这段代码,我得到了一个警告,条件总是真的。这是一个用于PIC16F877的代码,所以当输入为1时,它应该会中断循环。我是不是漏掉了什么?
int read_keypad()
{
int value=0;
while(1)
{
UpButton=0; // In case of bad Input
DownButton=0;
RightButton=0;
LeftButton=0;
EnterButton=0;
output_high(sat1);
if (input(sut1))
{
value=1;
while(input(sut1));
break;
}
}发布于 2013-04-13 18:06:10
循环条件始终为真。该警告并不意味着您的循环不可能退出,只是不能通过它的测试条件退出。
当input(sut1)返回true时,您正在进入一个在input返回false之前什么也不做的循环,然后您将退出外部循环并退出read_keypad()
https://stackoverflow.com/questions/15986593
复制相似问题