硬汉嵌入式论坛

 找回密码
 立即注册
查看: 547|回复: 3
收起左侧

[STM32CubeH7] 求助keil中,while循环判断标志位的奇怪BUG

[复制链接]

3

主题

2

回帖

11

积分

新手上路

积分
11
发表于 2023-7-6 12:41:17 | 显示全部楼层 |阅读模式

如图

如图
如图,用while判断adc采样标志位,调试过程adc1_flag已经置1,则!adc1_flag为0(见右侧的变量窗口),那么按道理说while循环应该已经跳出,但调试过程中始终卡在while循环内部。adc1_flag已经定义为全局变量,且做过声明。求大佬指教,或有相同经历的小伙伴回应一下。
回复

使用道具 举报

3

主题

2

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2023-7-6 12:47:07 | 显示全部楼层
补充一点,用if判断就是正常的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2023-7-7 09:21:24 | 显示全部楼层
如果中断里面也有调用这个变量,试试这个变量定义前加__IO, 防止编译器优化,保证每次从这个变量源地址读取数据。
回复

使用道具 举报

3

主题

2

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2023-7-9 16:49:29 | 显示全部楼层
eric2013 发表于 2023-7-7 09:21
如果中断里面也有调用这个变量,试试这个变量定义前加__IO, 防止编译器优化,保证每次从这个变量源地址读取 ...

好的解决了,谢谢硬汉哥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 19:44 , Processed in 0.316197 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表