标题: stm32串口接收出现问题,请大佬帮忙解疑 [打印本页]

作者: wd1657744680    时间: 2021-8-25 10:58
标题: stm32串口接收出现问题,请大佬帮忙解疑
最近在做RS485的发送接收时,出现了一个问题,就是RS485的接收中断好像有问题

有时候上位机还没发数据呢,mcu已经成功进入接收中断了,但实际上是没有数据的,他就会隔几十ms再次进入接收中断,而这期间上位机发送的数据它却不会进入中断。

使用的是USART1,PA9、PA10串口
我还多使用了一个PDout(8)用来辅助分析接收中断。


详细见图片,请各位老哥帮忙瞅瞅咋回事?多谢!!

GPIO.png (140.82 KB, 下载次数: 27)

GPIO初始化

GPIO初始化

USART1.png (174.5 KB, 下载次数: 20)

USART1.png

USART接收程序.png (126.04 KB, 下载次数: 16)

USART接收程序.png

usart1接收中断.png (82.01 KB, 下载次数: 28)

usart1接收中断.png

示波器.png (216.81 KB, 下载次数: 34)

USART_RXD和PD8示波器图片

USART_RXD和PD8示波器图片

作者: xuyaqi    时间: 2021-8-25 16:33
“上位机还没发数据呢,mcu已经成功进入接收中断了”这是干扰,先从硬件解决干扰问题。
作者: wd1657744680    时间: 2021-8-25 16:40
xuyaqi 发表于 2021-8-25 16:33
“上位机还没发数据呢,mcu已经成功进入接收中断了”这是干扰,先从硬件解决干扰问题。

多谢,已经解决过了,确实是硬件的问题,解决办法是只在接收时开启接收中断,其余时间关上
作者: zyluglugl    时间: 2021-8-25 16:57
我建议你用官方的例程,你一个接收函数整这么我延时,上拉下拉,不麻烦吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1