1.Warning[Pe549]: variable “p_syncVal” is used before its value is set。
描述:变量’p_syncVal’在使用前没有明确的赋值.如:
void bt_sync_end_handle(void)
{
P_SPEEDBALL_RUN_DATA_T p_syncValEnd ;
u8 len = sizeof(P_SPEEDBALL_RUN_DATA);
p_syncValEnd->time_u.para = 0x03020100;
p_syncValEnd->counts = 0x0504;
p_syncValEnd->duration = 0x0706;
p_syncValEnd->SpeedBallRunFre_u.para =0x0B0A0908;
p_syncValEnd->SpeedBallRunStr_u.para = 0x0F0E0D0C;
tn_ParaRetSend(CMD_HISTORY_SYNC,(void*)p_syncValEnd,len);
}
解决:应仔细衡量该变量的初始值是否为0,若是,可以不理会这个警告,因为IAR编译器在程序执行前,会将使用到的数据区初始化为0,但若是该变量的初始值不应该是0,忽略这个警告可能会引起致命错误.这个警告应引起足够重视.应养成变量赋初值的习惯。