找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

求大神看看这单片机程序哪里出错了,找不出原因

查看数: 1253 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-4-11 21:44

正文摘要:

写了一个电机控制程序,需要有急停,当急停按键按下时,电机立刻停止工作。用break结束循环,结果程序判断出错。麻烦大神看看,究竟哪里有问题?

回复

ID:1071489 发表于 2023-4-14 15:28
break语句通常用在循环语句和开关语句中。
当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则会从满足条件的地方开始执行,直到switch结构结束。
当break语句用于do-while、for、while循环语句中时,可使程序终止循环。
执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:230500 发表于 2023-4-12 07:47
brea是关键词,不是你这样用的 , 你还需要阅读以下内容学习一下,
break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则会从满足条件的地方(即与switch(表达式)括号中表达式匹配的case)开始执行,直到switch结构结束。
当break语句用于do-while、for、while循环语句中时,可使程序终止循环。而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。
例:
main()
{
    int i=0;
    char c;
    while(1) /*设置循环*/
    {
        c='\0'; /*变量赋初值*/
        while(c!=13&&c!=27) /*键盘接收字符直到按回车或Esc键*/
        {
            c=getch();
            printf("%c\n",c);
        }
        if(c==27)
        break; /*判断若按Esc键则退出循环*/
        i++;
        printf("The No. is %d\n",i);
    }
    printf("The end");
}
注意:
1. break语句对if-else的条件语句不起作用。
2. 在多层循环中,一个break语句只向外跳一层。
ID:883242 发表于 2023-4-12 00:16
break不能直接用于if,除非if属于循环内部的一个子句。

更离谱的是你以为写了个break语句电机就能break???

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表