如下后面//////////////
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一个作用~
DSI_REG事指针
DSI_INTSTA是DSI_REG的内部的对象,BUSY是它里面的属性
BUSY是bool类型的,判断是不是为真
<!--google_ad_client = "pub-1654710028568330";/* 728x90, 创建于 08-5-19 */google_ad_slot = "5790075209";google_ad_width = 728;google_ad_height = 90;//-->答案就在这里:sql语句as是什么意思
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
BUSY是bool类型的,判断是不是为真