else{ vd_OBJCMN_UPDATE_REF((PLR_ID_U4)u2_TFTWARNING_ANIM_STS_TBL[TFTWARNING_ANIM_TYPE9_CSR_BASE][u1_a_anim_sts], (PLR_FRAME_FT)OBJCMN_SET_ON_REF); for (u1_t_cnt = (U1)0; u1_t_cnt < (U1)TFTWARNING_SIDE_SONAR_NUM; u1_t_cnt++){ u1_t_sonar_side_sts = u1_s_TftWarningSonarSideDispSts(u2_TFTWARNING_SONAR_SIDE_TBL[u1_t_cnt]); if ((u1_t_sonar_side_sts >(U1)TFTWARNING_SONAR_STS_OFF) && (u1_t_sonar_side_sts < (U1)TFTWARNING_SIDE_SONAR_NUM)){ if (u1_t_sonar_side_sts == (U1)TFTWARNING_SONAR_STS_NEAR){ if (u1_t_csr_sts == (U1)TFTWARNING_SONAR_STS_4500_NEAR){ vd_OBJCMN_UPDATE_REF((PLR_ID_U4)u2_TFTWARNING_SONAR_PID_TBL[u1_t_cnt][u1_a_anim_sts], (PLR_FRAME_FT)OBJCMN_SET_ON_REF); } else{ } } else{ vd_OBJCMN_UPDATE_REF((PLR_ID_U4)u2_TFTWARNING_SONAR_PID_TBL[u1_t_cnt][u1_a_anim_sts], (PLR_FRAME_FT)OBJCMN_SET_ON_REF); vd_OBJCMN_UPDATE_STT((PLR_ID_U4)u2_TFTWARNING_SONAR_PID_STT_TBL[u1_t_cnt][u1_a_anim_sts], (PLR_FRAME_U4)u1_TFTWARNING_SONAR_SIDE_STT_TBL[u1_t_sonar_side_sts]); } } } }
时间: 2024-04-22 15:25:02 浏览: 104
这段代码是一个条件语句,根据条件的结果来执行相应的操作。如果前面的条件不满足,则执行else语句块中的操作。
首先,调用函数vd_OBJCMN_UPDATE_REF来更新引用值,参数为u2_TFTWARNING_ANIM_STS_TBL[TFTWARNING_ANIM_TYPE9_CSR_BASE][u1_a_anim_sts]和OBJCMN_SET_ON_REF。
然后,进行一个for循环,循环变量为u1_t_cnt从0到TFTWARNING_SIDE_SONAR_NUM。
在循环体内部,首先调用函数u1_s_TftWarningSonarSideDispSts来获取u2_TFTWARNING_SONAR_SIDE_TBL[u1_t_cnt]对应的状态值,并将结果存储在u1_t_sonar_side_sts中。
接下来,再次进行条件判断。如果u1_t_sonar_side_sts大于TFTWARNING_SONAR_STS_OFF并且小于TFTWARNING_SIDE_SONAR_NUM,则执行一系列操作。
如果u1_t_sonar_side_sts等于TFTWARNING_SONAR_STS_NEAR,并且u1_t_csr_sts等于TFTWARNING_SONAR_STS_4500_NEAR,则调用函数vd_OBJCMN_UPDATE_REF来更新引用值,参数为u2_TFTWARNING_SONAR_PID_TBL[u1_t_cnt][u1_a_anim_sts]和OBJCMN_SET_ON_REF。
否则,如果u1_t_sonar_side_sts不等于TFTWARNING_SONAR_STS_NEAR,则调用函数vd_OBJCMN_UPDATE_REF来更新引用值,参数为u2_TFTWARNING_SONAR_PID_TBL[u1_t_cnt][u1_a_anim_sts]和OBJCMN_SET_ON_REF。然后,调用函数vd_OBJCMN_UPDATE_STT来更新状态值,参数为u2_TFTWARNING_SONAR_PID_STT_TBL[u1_t_cnt][u1_a_anim_sts]和u1_TFTWARNING_SONAR_SIDE_STT_TBL[u1_t_sonar_side_sts]。
总体来说,这段代码根据一定条件更新一些引用值和状态值,并且在循环中进行了多次操作。
阅读全文