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

標題: 單片機C語言程序最后的這個while起什么作用? [打印本頁]

作者: 一口一個大胖子    時間: 2020-5-26 17:48
標題: 單片機C語言程序最后的這個while起什么作用?



它這里的while起什么作用啊?

作者: 一口一個大胖子    時間: 2020-5-26 17:50


作者: wulin    時間: 2020-5-26 18:22
等你松手
作者: 江湖兔子    時間: 2020-5-26 18:35
您好,意思是當K1=0(!k1=1)的時候程序會在這里無限循環,原地等待;當k1=1時跳出循環,返回主程序。
作者: xuyaqi    時間: 2020-5-26 18:39
一口一個大胖子 發表于 2020-5-26 17:50

等待按鍵K1抬起。
作者: angmall    時間: 2020-5-26 18:58
按鍵松手檢查  按鍵已抬起
作者: f556    時間: 2020-5-26 19:23
當kl口線為1時,什么都不做。沒有什么意義。
作者: muzhi    時間: 2020-5-26 19:57
等待用戶松開按鍵

keypress是按鍵檢測函數,k1 == 0時代表按鍵按下

while中判斷條件是“!k1”,也就是按鍵抬起k1 == 1時,!k為假,才會退出循環,否則一直死循環等待用戶松開按鍵,沒有這個處理當按下不放時就會造成不斷觸發。
作者: botgs    時間: 2020-5-26 20:15
等待按鍵釋放,當按鍵一直按下,K1==0,循環等待;當按鍵釋放,K1==1, 結束循環。
作者: 丿小候鳥    時間: 2020-5-26 21:00
按鍵在按下的時候有大約幾個毫秒的抖動,
作者: chengp    時間: 2020-5-26 21:19
當k1值不為零時,跳出循環
作者: 丿小候鳥    時間: 2020-5-26 21:24
樓主你這應該是獨立按鍵防抖動程序,我首先講一下獨立按鍵掃描原理:
  當按鍵k1按下時會有幾個毫秒的抖動,也就是不會立馬為低電平,只有過了這個時間段才會徹底穩定在低電平,當按鍵松開時k1又會回到高電平。
我再啰嗦一下while語句用法:
  while是一個循環語句,如 while(1); 就是一個死循環語句,程序在里面出不來,我們知道在c語言里規定“0”為假,非“0”為真,這里括號里是“1”,也就是真,那么就相當于 while(真); ,程序是出不來的。
while起什么作用?
  回到樓主的程序,假設程序從21行語句開始,當按鍵k1按下時,k1為低電平,滿足if條件語句,程序進而調到22行,這里的delay語句延時消抖,前面也講過為什么消抖,程序進而到23行,這里又是一個if語句,但這個if語句不能少。此時按鍵還沒松開,但是已趨于穩定,穩定在低電平,運行的24行……然后到26行,由于此時K1為低電平,我用“0”代替,那么 !k1 為“1”,while(!k1)相當于while(真),程序跳不出去,只有當松開按鍵改變k1的電平才能跳出這個循環。如果不在這里設置while(!k1),那么程序會一直跑,24行的led會一直閃。
作者: xxpp2011    時間: 2020-5-26 21:28
當K1等于0時循環,當K1等于1時跳出循環。
作者: 405616736    時間: 2020-5-26 21:31
等待按鍵釋放
作者: YTTYL    時間: 2020-5-26 21:34
最后這個while就是 檢測按鍵k1是否被釋放 的作用
作者: YTTYL    時間: 2020-5-26 21:36
最后這個while就是 檢測按鍵k1是否被釋放 的作用




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