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

標題: 單片機延時程序問題 [打印本頁]

作者: jianuli    時間: 2020-9-29 16:46
標題: 單片機延時程序問題
大家好呀,我是想在這個延時里當t為0時跳出,所以加了break,但是編譯錯誤,把break屏蔽了就可以通過,為什么呢?

IMG_20200929_163911.jpg (2.04 MB, 下載次數: 58)

IMG_20200929_163911.jpg

作者: jianuli    時間: 2020-9-29 16:48
說錯了,是當f為1是跳出這個延時
作者: man1234567    時間: 2020-9-29 17:25
這個延時是個閉環,如果搞條件的話放在外面。
作者: jianuli    時間: 2020-9-29 17:46
man1234567 發表于 2020-9-29 17:25
這個延時是個閉環,如果搞條件的話放在外面。

詳細說下,謝謝啦
作者: robinsonlin    時間: 2020-9-29 18:56
f是全局變量吧?  在定時器中斷還是外部中斷里面被改變?  if語句沒有起到延遲的限制作用,for循環執行完后,無論if判斷結果如何,都會退出這個延遲函數。 if判斷只能判斷f的值,而去改變t的值。  多看看c語言基礎知識吧。
作者: ccsyjq    時間: 2020-9-29 21:45
開環和閉環你應該沒有搞清楚吧
作者: jianuli    時間: 2020-9-30 00:46
說說原因
作者: qq603599910    時間: 2020-9-30 08:16
if一般沒有帶break的,你的k循環不受if控制,if在這里不是for循環內嵌語句.一句話,邏輯沒理清.
作者: 小炒肉111    時間: 2020-9-30 10:54
先看下C語言for循環
作者: 暖西夏    時間: 2020-9-30 16:04
可以看一下循環,這個好像在switch也是在括號外面吧!其次在if能用break嗎?留個問題借樓
作者: jianuli    時間: 2020-9-30 17:56
所以來這里問咯
作者: 上進求學    時間: 2020-10-4 08:40
你定義的i為參數。
參數應該賦給j或k,
這樣才是正確for語句用法

作者: angmall    時間: 2020-10-4 09:45
jianuli 發表于 2020-9-30 00:46
說說原因

改成這樣, 編譯不會錯誤

void delay_x2ms(unsigned int i)
{
        unsigned char j, k;
        for(i; i>0;i--)       
        for(j=4;j>0;j--)
        for(k=248;k>0;k--)  //; 后面多了個分號
        if(f==1)
        {
                t=0;
                break;
        }
}




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1