新手入门
- 积分
- 8
- 金钱
- 8
- 注册时间
- 2021-12-17
- 在线时间
- 3 小时
|
发表于 2017-3-29 16:57:01
|
显示全部楼层
本帖最后由 linwei1234 于 2017-3-29 17:42 编辑
问题找到了吗? 我也遇到类似问题.
f0的一个long变量不为0进行减1;减1后为0则清标志,结果变量直接为0了没清标志,没有赋0操作,
只有一个赋值2和100的操作.
赋值2不可能进入,一直挂断点.
赋值100经常操作.不过是在变量为0时才赋值100.
都是非中断操作.代码没有做优化编译:
if(gRequest_read_wait_time_ms ) //清除请求读的硬件申请
{
gRequest_read_wait_time_ms--;
if(gRequest_read_wait_time_ms == 1)
{
GPIOB->ODR &= ~I2C_nINT_Pin;
//超时未读,自动清除
gSYS.SYS_FLAG &= ~(
// (1 << FLAG_KEY_IN)|
// (1 << FLAG_TOUCH_IN)|
(1 << FLAG_BR8881_IN)
| (1 << FLAG_ALARM)
| (1 << FLAG_RESET)
| (1 << FLAG_RESET_WATCHDOG)
| (1 << FLAG_POWER_EVENT)
);
}
}
QQ 475240581
|
|