[STM32L4]

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

[复制链接]
552|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

粉丝