請問一下 我這個程式用在switch 裡 用while 為什麼會出現warning??請求大神幫忙
還是要怎麼改才正確 謝謝^^
先針對這次的問題回答
warning訊息是「statement is unreachable」
指的是「永遠不會執行到」Delay_uSec(2000)
這列程式碼
因為
3266 while(1) //這是永不停止的無窮迴圈
3267 PE5=0; //而迴圈裡只會執行這列
在不知道這3000多列的程式在做什麼的前提之下
可能的改法如下
3262 case 52: {
3263 PA12 = 0;
3264 PB11 = 0;
//3265 { //刪掉
//3266 while(1) //刪掉
3267 PE5 = 0;
3268 Delay_uSec(2000);
3269 PE5 = 1;
3270 Delay_uSec(8000);
3271 }
3272 break;
另外講點良心的建議
你的問題一路看下來
真的只有四個字可以形容:越級打怪
建議你真的要考慮一下
要不要修正一下目前的工作內容
真心不騙
感謝大大回覆與解說
因這個while迴圈 我一定要執行 要怎麼改寫呢?
因為PE5這個是一顆LED燈 我想要讓他漸漸變亮或變暗 所以我才這麼寫的
因為不會PWM的設定 還是大大肯教學一下 PWM的簡易寫法呢QQ
不會 PWM 的設定
我也不會
沒關係 還是很感謝 大神您的幫忙 感恩^^
先把C語言基本語法學好吧.你基本的迴圈,判斷,程式流程會怎樣走都
沒掌握好,就一路寫下來,基礎不打穩,東拼西湊,這樣不會比較快的.
土法煉鋼的PWM呼吸燈可以這樣寫就好了
int count1=0,count2=10000;
while(1)
{
PE5=0;
Delay_uSec(count1);
PE5=1;
Delay_uSec(count2);
if(count1>=10000)
{
count1=0;
count2=10000;
}
else
{
count1+=1000;
count2-=1000;
}
}
count數字再自己調看看