(SysTick->CTRL) & (1<<16)其中CTRL 是32位的,要判断第16位是否为1 代码如下:
while( !((SysTick->CTRL) & (1<<16)) );
我是这样理解的:由于CTRL是32为,其中17~32保留,其中 (x未知,0或1)
0X0000 0000 0000 000x 0000 0000 0000 0000 & 0x0000 0000 0000 0001 0000 0000 0000 0000
当 x=1时,结果为 0x 0000 0000 0000 0001 0000 0000 0000 0000
那么 while(0x 0000 0000 0000 0001 0000 0000 0000 0000 ) 与while(1) 完全相同吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
while(0x 0000 0000 0000 0001 0000 0000 0000 0000 ) 与while(1) 功能上是一样的,while() 里面只作条件的真,假判断,假=0;真!=0;
一周热门 更多>