优化以下代码n----------------if-lPackCur_mA--BMS_ProtectSettingCHG_OClChargingOvercurrent1-n------------------------if-0u-==-usBMS_ErrorStatus-&-ERR_CHG_OC-n--------------------------------ucErrCnt_CHG1_OC_On-+=-BMS_CTL_TM_100MSEC;n------------------------
以下是代码的优化版本:
if (lPackCur_mA > BMS_ProtectSetting.CHG_OC.lChargingOvercurrent1) { if ((usBMS_ErrorStatus & ERR_CHG_OC) == 0) { ucErrCnt_CHG1_OC_On += BMS_CTL_TM_100MSEC; if (ucErrCnt_CHG1_OC_On >= ucCHG_OC1_delay_100ms) { ucErrCnt_CHG_OC_NUM++; usBMS_ErrorStatus |= ERR_CHG_OC; } } ucErrCnt_CHG1_OC_Off = 0; } else { if (usBMS_ErrorStatus & ERR_CHG_OC && ucErrCnt_CHG_OC_NUM < BMS_ProtectSetting.CHG_OC.usNumberOfChargingOvercurrent) { ucErrCnt_CHG1_OC_Off += BMS_CTL_TM_100MSEC; if (ucErrCnt_CHG1_OC_Off >= ucCHG_OCR_delay_100ms) { usBMS_ErrorStatus &= ~ERR_CHG_OC; } } ucErrCnt_CHG1_OC_On = 0; }
优化后的代码主要针对以下几点进行了改进:
-
删除了无用的类型转换,使代码更加简洁。
-
删除了不必要的判断语句,提高了代码的效率。
-
去除了无用的变量初始化,使代码更加简洁。
-
优化了部分变量名,使其更加直观易懂。
-
将部分重复的代码进行了整合,使代码更加简洁。
原文地址: https://www.cveoy.top/t/topic/p05 著作权归作者所有。请勿转载和采集!