编译器:IAR 平台:stm32f4
我有这个代码,但它没有按预期工作。有人可以解释我为什么?
#define byteGetbit(x,y) ((x) & (0x01 << (y)))
volatile t_uint8 test=0xFF;
if(byteGetbit(test,0x03)==1){ //always false
printf("hello"); //can't reach the code here
test = 0;
}
解决方法:
if(byteGetbit(test,0x03)){
printf("hello");
test = 0;
}