打印
[STM32L4]

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

[复制链接]
1000|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 | 只看该作者
是不是判断的时机不对,时序没有处理好

使用特权

评论回复
5
dingy| | 2021-11-13 20:32 | 只看该作者
这个标志并不总是出来的。太久以前弄过,已经不记得了, 你查一下手册吧。

使用特权

评论回复
6
wangpe| | 2021-11-13 20:34 | 只看该作者
仿真的时候你可以看下寄存器这IDLE标志是否置位,还有确定你有使能空闲中断。

使用特权

评论回复
7
zhanghqi| | 2021-11-13 20:36 | 只看该作者
最后需要注意的就是空闲中断不会一上电发生

使用特权

评论回复
8
wyjie| | 2021-11-13 20:38 | 只看该作者
只会在发送完数据,出现空闲的时候发生

使用特权

评论回复
9
zwll| | 2021-11-13 20:41 | 只看该作者
你看看能否进空闲中断?

使用特权

评论回复
10
dingy| | 2021-11-13 20:44 | 只看该作者
另外,如果在调试状态下,不要打开UART寄存器查看窗口。

使用特权

评论回复
11
supernan| | 2021-11-13 20:45 | 只看该作者
跳过说明就没有执行这部分程序啊

使用特权

评论回复
12
dengdc| | 2021-11-13 20:47 | 只看该作者
在仿真下瞅瞅啥情况

使用特权

评论回复
13
heweibig| | 2021-11-13 20:48 | 只看该作者

没遇到过这种情况啊

使用特权

评论回复
14
aoyi| | 2021-12-7 19:31 | 只看该作者
什么样的代码会被优化呢

使用特权

评论回复
15
drer| | 2021-12-7 19:34 | 只看该作者
是预判不会进入的代码就优化吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

405

主题

7415

帖子

1

粉丝