欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1483|回復: 4
打印 上一主題 下一主題
收起左側

求大神看看這單片機程序哪里出錯了,找不出原因

[復制鏈接]
跳轉到指定樓層
樓主
寫了一個電機控制程序,需要有急停,當急停按鍵按下時,電機立刻停止工作。用break結束循環,結果程序判斷出錯。麻煩大神看看,究竟哪里有問題?

0.png (74.12 KB, 下載次數: 37)

0.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:883242 發表于 2023-4-12 00:16 | 只看該作者
break不能直接用于if,除非if屬于循環內部的一個子句。

更離譜的是你以為寫了個break語句電機就能break???
回復

使用道具 舉報

板凳
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:622606 發表于 2023-4-13 14:43 | 只看該作者
根據提示:break需要放在循環內,還有步進電機使用break做急停的范程,我用for語句進行修改,問題已解決,也達到預期,以下是我的修改:

1681368077030.png (36.91 KB, 下載次數: 49)

1681368077030.png
回復

使用道具 舉報

5#
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 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表