if(0x04 == (new_cfg&0x04)){ sys_cfg_msg.pps_cfg = 1; cn_save_data[cn_save_index_stp].hash= 1; sys_cfg_msg.delay_cfg = 1; cn_save_data[cn_save_index_delay].hash= 1; } else{ sys_cfg_msg.pps_cfg = 0; cn_save_data[cn_save_index_stp].hash= 0; sys_cfg_msg.delay_cfg = 0; cn_save_data[cn_save_index_delay].hash= 0; }
/* 有问题的代码 ,一直未进入到else,计算顺序 可能是先比较再与操作*/ if(0x04 == new_cfg&0x04){ sys_cfg_msg.pps_cfg = 1; cn_save_data[cn_save_index_stp].hash= 1; sys_cfg_msg.delay_cfg = 1; cn_save_data[cn_save_index_delay].hash= 1; } else{ sys_cfg_msg.pps_cfg = 0; cn_save_data[cn_save_index_stp].hash= 0; sys_cfg_msg.delay_cfg = 0; cn_save_data[cn_save_index_delay].hash= 0; }
STMM32 中发现的一个现象,跟linux C操作有些不一样