[STM32L4] 利用串口空闲中断接收数据一直无法判断起空闲状态

[复制链接]
1332|14
 楼主| xxrs 发表于 2021-11-13 20:17 | 显示全部楼层 |阅读模式

if(RESET != __HAL_UART_GET_FLAG(&huart2, UART_IT_IDLE) ){}
一直无法判断起空闲状态,仿真到这里直接跳过,无法进入if语句内,求解
spark周 发表于 2021-11-13 20:19 | 显示全部楼层

被优化了
建一个全局变量,如x
执行一行代码 如x++;
 楼主| xxrs 发表于 2021-11-13 20:22 | 显示全部楼层
串口中断是能进入,也能发送数据的,但就是判断不了空闲IDLE状态
zwll 发表于 2021-11-13 20:30 | 显示全部楼层
是不是判断的时机不对,时序没有处理好
dingy 发表于 2021-11-13 20:32 | 显示全部楼层
这个标志并不总是出来的。太久以前弄过,已经不记得了, 你查一下手册吧。
wangpe 发表于 2021-11-13 20:34 | 显示全部楼层
仿真的时候你可以看下寄存器这IDLE标志是否置位,还有确定你有使能空闲中断。
zhanghqi 发表于 2021-11-13 20:36 | 显示全部楼层
最后需要注意的就是空闲中断不会一上电发生
wyjie 发表于 2021-11-13 20:38 | 显示全部楼层
只会在发送完数据,出现空闲的时候发生
zwll 发表于 2021-11-13 20:41 | 显示全部楼层
你看看能否进空闲中断?
dingy 发表于 2021-11-13 20:44 | 显示全部楼层
另外,如果在调试状态下,不要打开UART寄存器查看窗口。
supernan 发表于 2021-11-13 20:45 | 显示全部楼层
跳过说明就没有执行这部分程序啊
dengdc 发表于 2021-11-13 20:47 | 显示全部楼层
在仿真下瞅瞅啥情况
heweibig 发表于 2021-11-13 20:48 | 显示全部楼层

没遇到过这种情况啊
aoyi 发表于 2021-12-7 19:31 | 显示全部楼层
什么样的代码会被优化呢
drer 发表于 2021-12-7 19:34 | 显示全部楼层
是预判不会进入的代码就优化吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

405

主题

7415

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部