STMM32 ‘&’ 操作

STM32配置问题解析
本文探讨了STM32中一个特殊的配置问题,通过对比不同的条件判断语句,揭示了在进行位操作时可能出现的问题,并提供了正确的解决方案。该问题与嵌入式系统的配置逻辑有关,特别是针对STM32微控制器。

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

转载于:https://www.cnblogs.com/DawaTech/p/6472179.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值