C 代码不会在满足条件的循环处停止

C 代码不会在满足条件的循环处停止,c,mplab,C,Mplab,所有输入均为零,并与第一个if语句匹配,我正试图将它们转换为无限循环,但它只会转到下一个语句。bruh有任何帮助吗?请告诉我如何获得问题的向上投票,但没有回答。我不知道mplab,但您能否设置断点并逐步查看发生了什么?您能否向代码添加跟踪以打印出它正在测试的值并显示它正在执行的代码?有没有其他选项供您自己调试?如果您完全肯定C语言中的所有内容都是正确的,那么就值得检查为此生成的汇编程序,以验证它是否符合您的预期。但如果这是一个编译器错误,我会非常惊讶。我怀疑这和@SK-11BJ 816097 R

所有输入均为零,并与第一个if语句匹配,我正试图将它们转换为无限循环,但它只会转到下一个语句。

bruh有任何帮助吗?请告诉我如何获得问题的向上投票,但没有回答。我不知道mplab,但您能否设置断点并逐步查看发生了什么?您能否向代码添加跟踪以打印出它正在测试的值并显示它正在执行的代码?有没有其他选项供您自己调试?如果您完全肯定C语言中的所有内容都是正确的,那么就值得检查为此生成的汇编程序,以验证它是否符合您的预期。但如果这是一个编译器错误,我会非常惊讶。我怀疑这和@SK-11BJ 816097 Rick Hansen s的问题是一样的-你怎么知道所有的输入都是零?
if ((PORTAbits.RA0 == 0) && (PORTAbits.RA1 == 0) && (PORTAbits.RA2 == 0))
   {
    while(1){
         
                LATBbits.LATB6 = 1;
                delay (SHORT_DELAY);
                LATBbits.LATB6 = 0;
                delay (SHORT_DELAY);
    }          
}
           

else if ((PORTAbits.RA2 == 1))
        {
           
         LATB = nine;
         delay (SHORT_DELAY);

         LATB = eight;
         delay (SHORT_DELAY);

         LATB = seven;
         delay (SHORT_DELAY);

         LATB = six;
         delay (SHORT_DELAY);
         
         }