给位大大,今天遇到奇怪的事情
u32 CalRead()
{
u32 temp;
temp = (u32)VerifyPara.u8ATTReadBuf[2]<<16 + (u16)VerifyPara.u8ATTReadBuf[1]<<8 + VerifyPara.u8ATTReadBuf[0];
return temp;
}这个函数返回的值一直都是0,如果我把加(+)改为(|),值就对了。我用的是IAR,如果单个验证也是对的(比如 temp = (u32)VerifyPara.u8ATTReadBuf[2]<<16),输出的值是对的,但是加上后面就出错。 |