wuchaosxl 发表于 2017-5-5 10:36

求教一个STM32关于 do while 程序问题

if ( (shift_right_flag==1) )                        //第一位闪烁
       {   
                 up_flag=e;
                    
           do
          {
               //iwdg_init();          
               switch(up_flag)
                        {
                          case 0:        e=0; break;
                                case 1: e=1; break;
                                case 2: e=2; break;
                                case 3: e=3; break;
                                case 4: e=4; break;
                                case 5: e=5; break;
                                case 6: e=6; break;
                                case 7: e=7; break;
                                case 8: e=8; break;
                                case 9: e=9; break;
                                case 10:e=0; break;
             }                                       
                disp_sanshuo();//闪烁显示
                } while (enter_flag==0x02) ;
       
                 i++;
       
       }

我的目的是在 enter_flag不等于0x02时,程序一直在do{}做循环,但是现在的问题是enter_flag不等于0x02的时候却执行了i++;这句。请问一下有什么问题吗?

长夜 发表于 2017-5-18 08:47

本帖最后由 长夜 于 2017-5-18 08:51 编辑

本人学生狗 不是很确定原因 楼主可以试下感觉是不是因为 break吧 第一次就跳出 do while了

decai 发表于 2017-5-24 07:22

本帖最后由 decai 于 2017-5-24 07:24 编辑

enter_flag==0x02这叫enter_flag不等于0x02?那么enter_flag!=0x02是什么意思?
楼主基础薄弱到这地步我看不像,就是不细心.

LMCH 发表于 2017-5-25 13:18

支持楼上!

wind~风 发表于 2017-8-24 09:36

二楼真相了

山东电子小菜鸟 发表于 2017-8-30 14:15

{:smile:}
页: [1]
查看完整版本: 求教一个STM32关于 do while 程序问题