• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

这个C语言程序怎么跳出这个WHILE循环

7f671d7372c127f3 2020-09-05 浏览量:671
        printf("AT+CGATT?\r\n")
                        delay_ms(700);
        strx=strstr((const char*)RxBuffer(const char*)"+CGATT: 1");//·μ1
        Clear_Buffer();        
                while(strx==NULL)
                {
            Clear_Buffer();        
            printf("AT+CGATT?\r\n");/
            delay_ms(700);
            strx=strstr((const char*)RxBuffer(const char*)"+CGATT: 1“)
                                delay_ms(1000);
                }


怎么跳出这个while循环  模块不返回正确数据他就一直卡在这了
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 在while里面加一个计数变量,循环一次对变量加加,当加到一定值就用break跳出循环,也就是使用超时检测,大于一个值的时候跳出循环
    • 发布于 2020-09-05
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 如果是你的这个程序的话,是的,要一直等待返回结果正确才会跳出来的
    • 发布于2020-09-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般情况下会加一个标志位,循环询问多少次以后,如果还是没有结果,就认为不会有结果,那么就可以退出了
    • 发布于2020-09-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般这种可以设置一个次数限制,比如超过3次都失败,就跳出,然后重启模块
    • 发布于2020-09-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 你的这个应该是跳不出的,你要加一个计数,当计数到后,就设置strx的值,再跳出
    • 发布于2020-09-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 你这样是跳不出来的,可以加上尝试次数,比如超过三次就会退出
    • 发布于2020-09-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

这个C语言程序怎么跳出这个WHILE循环