TsingSoftware2014 2015-09-01 07:39 采纳率: 25%
浏览 1489
已采纳

如下的////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);

  • 写回答

5条回答 默认 最新

  • vipcxj 2015-09-01 09:12
    关注

    DSI_REG->DSI_INTSTA.BUSY
    DSI_REG是某个类指针或结构体指针,这显然是个共享资源,其他地方也在操作这个指针,所以这个指针内部的成员有可能被改变。
    DSI_INTSTA是这个指针的一个成员变量,这个成语变量同样是结构体或类
    BUSY是DSI_INTSTA的成员变量。
    那个循环的意思很简单,就是只要这个BUSY不为假,就永远循环下去,即你的程序会卡在那不动。
    另外我上面也提到DSI_REG是某个共享资源,其他线程可能也会改变其内部值。所以某个时刻其他线程改了BUSY,使其为假,就跳出while,程序继续执行了。
    换句话说你这while意思就是只要忙,那就得等着,不忙,继续~
    下面那个while一个作用~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘