寄存器操作的问题

2019-08-14 05:01发布

   (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)  完全相同吗?



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。