while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR)))
{ };
这个while循环理解不了,括号里面会出现1或0吗?
下面是这个函数原型 #define SYS_STATUS_ID 0x0F #definedwt_read32bitreg(x) dwt_read32bitoffsetreg(x,0) uint32dwt_read32bitoffsetreg(int regFileID,int regOffset) { uint32 regval = DWT_ERROR ; int j ; uint8 buffer[4] ; int result =dwt_readfromdevice(regFileID,regOffset,4,buffer); // Read 4 bytes (32-bits)register into buffer if(result == DWT_SUCCESS) { for (j = 3 ; j >= 0 ; j --) { regval = (regval << 8) +buffer[j] ; } } return regval ; }
|