PIC MCV14A 使用C语言编程时else语句不执行

2020-02-09 11:33发布

if(条件)
{}
else
{}
当IF条件为假时,应该执行else语句,
软件仿真的时候,单步运行并没有执行else语句
开始时怀疑编译优化把这段else后的语句忽略了
但是我设置编译器的优化选项为0后,问题依旧
请解答
MPLAB8.53+PICC9.6
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
eduhf_123
1楼-- · 2020-02-09 11:36
把你的语句帖出来,现在都流行这么问问题么?是期待预言家还是神仙来回答你的问题?
yoyobbs
2楼-- · 2020-02-09 12:09
if( smUserApp==SM_CHECK_FAN )
                        {
                                //检查FAN按钮,Control1,2+Touch3
                                if( Touch3 )
                                {
                                        i=250;
                                        do{
                                                        if( !Touch3 )
                                                        break;
                                                }
                                        while(--i);
                                        if( i==0 )
                                        {
                                                        if( FAN_Button_status )
                                                        {
                                                                        FAN_Button_status=0;
                                                                        if( FAN_status )
                                                                        {
                                                                                FAN_status=0;//关断
                                                                                PORTC_Shadow &= ~(1<<Nomal_Out_p);
                                                                                PORTC_Shadow |=  (1<<Dim_Out_P);

                                                                        }
                                                                        else
                                                                        {
                                                                                FAN_status=1;
                                                                                PORTC_Shadow &= ~(1<<Dim_Out_P);
                                                                                PORTC_Shadow |=  (1<<Nomal_Out_p);
                                                                        }
                                                                        PORTC=PORTC_Shadow;
                                                               
                                                                        if( !Bedlight_status )
                                                                                button_count=10;
                                                                        else
                                                                                button_count=20;
                                                       
                                                                        smUserApp=SM_CHECK_FAN_WAIT;
                                                                        time_count2=3000;
                                                                        PORTB_Shadow |= (1<<LED2_Con_P);
                                                                        PORTB=PORTB_Shadow;
                                                                        goto main_loop;
                                                        }
                                        }
                                        else
                                                FAN_Button_status=1;
                                }
                                else
                                        FAN_Button_status=1;
                        }
yoyobbs
3楼-- · 2020-02-09 15:38
 精彩回答 2  元偷偷看……
eduhf_123
4楼-- · 2020-02-09 16:55
全局变量加“volatile”修饰符。
yoyobbs
5楼-- · 2020-02-09 19:23
所有变量都加上了,都是全局变量

一周热门 更多>