コンパイラ: 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;
}