[STM32F0] 请教 写flash后 USART1无法接收。

[复制链接]
1510|11
 楼主| GZZXB 发表于 2023-8-15 18:41 | 显示全部楼层 |阅读模式
     初始串口后收发正常,只要有写flash动作(当eeporm用),就会将CR1的 PEIE RXNEIE 及 CR3的EIE 3个中断清0,这样后续串口就无法接收数据了。
参考 https://blog.csdn.net/wanruiou/article/details/106897873?ydreferer=aHR0cHM6Ly9jbi5iaW5nLmNvbS8%3D  用 HAL_UART_Receive_IT(&UartHandle, (uint8_t *)aRxBuffer, 1);  重开问题依旧存在。


zhenykun 发表于 2023-8-15 20:37 | 显示全部楼层
楼主是追求真实自己吗
Bowclad 发表于 2023-8-15 23:19 | 显示全部楼层
在keil调试窗口看看
AloneKaven 发表于 2023-8-16 23:56 | 显示全部楼层
看下程序里什么情况会对中断使能清0
香水城 发表于 2023-8-17 11:40 | 显示全部楼层
flash写操作时可能临时堵塞CPU,UART接收到的数据没法及时取走的话 会发生溢出错误,
如果溢出中断不能清除会影响程序正常运行。
Jacquetry 发表于 2023-8-17 23:02 | 显示全部楼层
在内存中建立循环缓冲区试试
Henryko 发表于 2023-8-19 22:06 | 显示全部楼层
有可能是标志位清除太慢了吧
MessageRing 发表于 2023-8-23 21:46 | 显示全部楼层
有可能是串口的标志位没去掉吧
jcky001 发表于 2023-10-19 11:04 | 显示全部楼层
检查 USART1 的配置
两只袜子 发表于 2023-10-19 11:04 | 显示全部楼层
确保 USART1 的TX和RX引脚正确连接,以及所连接设备的串口设置与 USART1 的配置相匹配。
elephant00 发表于 2023-10-19 11:05 | 显示全部楼层
检查你的代码是否有潜在的错误或冲突。
BullTalented 发表于 2023-10-23 12:07 | 显示全部楼层
检查一下USART1 的TX和RX引脚是否正确连接
您需要登录后才可以回帖 登录 | 注册

本版积分规则

96

主题

331

帖子

10

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