2012-06-22 56 views
0

我怎么做的这相反:睡眠而位未设置

while((*i2s) & (1<<19)) 
    usleep(10); 

我想保持睡眠,而19位为0

+0

'而(((* I2S)(1 << 19))== 0)' –

+1

我们真的需要4个不同的答案。评论是所有需要的。这甚至不应该成为一个问题。 – jn1kk

+0

我google搜索“虽然没有设置”,并没有得到一个好的答案,现在如果你这样做,这个问题是最好的答案!堆栈平台非常棒! –

回答

1

!不是运营商反转的条件:

while(!((*i2s) & (1 << 19))) { 
    usleep(10); 
} 
+0

虽然正确,但并不容易阅读。在Daniel的版本中,你希望该位为0更清楚。 –

+1

你想要的是条件为false;因此!更清楚。 –

0

使用运营商将否定你的表达:

while(!((*i2s) & (1<<19))) 
    usleep(10); 
3
while(((*i2s) & (1<<19)) == 0) 
    usleep(10); 
当然

0

为了做相反的事情,请使用!

while(!((*i2s) & (1<<19))) 
    usleep(10);