程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c-如下的////while語句分別是什麼意思

c-如下的////while語句分別是什麼意思

編輯:編程綜合問答
如下的////while語句分別是什麼意思

如下後面//////////////

while(DSI_REG->DSI_INTSTA.BUSY); ////////////////
......

OUTREGBIT(DSI_START_REG,DSI_REG->DSI_START,DSI_START,1);

while(DSI_REG->DSI_INTSTA.CMD_DONE == 0);//////////////////
OUTREGBIT(DSI_INT_STATUS_REG,DSI_REG->DSI_INTSTA,CMD_DONE,0);

最佳回答:


DSI_REG->DSI_INTSTA.BUSY
DSI_REG是某個類指針或結構體指針,這顯然是個共享資源,其他地方也在操作這個指針,所以這個指針內部的成員有可能被改變。
DSI_INTSTA是這個指針的一個成員變量,這個成語變量同樣是結構體或類
BUSY是DSI_INTSTA的成員變量。
那個循環的意思很簡單,就是只要這個BUSY不為假,就永遠循環下去,即你的程序會卡在那不動。
另外我上面也提到DSI_REG是某個共享資源,其他線程可能也會改變其內部值。所以某個時刻其他線程改了BUSY,使其為假,就跳出while,程序繼續執行了。
換句話說你這while意思就是只要忙,那就得等著,不忙,繼續~
下面那個while一個作用~

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved