首页 > 技术文章 > STMM32 ‘&’ 操作

DawaTech 2017-02-27 09:43 原文


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操作有些不一样

推荐阅读