IAR Warning[Pe549]: variable “XXX” is used before its value is set。

Q :描述:變量’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);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

解決:應仔細衡量該變量的初始值是否爲0,若是,可以不理會這個警告,因爲IAR編譯器在程序執行前,會將使用到的數據區初始化爲0,但若是該變量的初始值不應該是0,忽略這個警告可能會引起致命錯誤.這個警告應引起足夠重視.應養成變量賦初值的習慣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章