• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32串口发送数据速率过快后,出现硬件错误

硬脂酸 2020-04-17 浏览量:3875
遇到这种情况应该怎么解决
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 对串口的数据发送过快到站硬件错误,可以通过这几个方面来解决

    1.降低串口的传输速度,可能是速度过快串口中断不能及时响应

    2.加大串口的缓冲区,保证数据可以正常缓存

    3.检查串口的数据,是否有越界访问的情况

    • 发布于 2020-04-21
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 我猜测应该是你的数据溢出。

    自己的检查下你的接收程序代码。

    是不是你的接收数据处理不及时,导致你的串口接收数据溢出。


    建议你把串口中断程序优化下,串口中断就干一件事,接收数据,快进快出。

    处理数据在主函数里面。


    另外,不论是发送数据还是接收数据,都不能越界。

    比如我定义了一个数组byte  A[3],而你的程序却访问到A[4]的值,这样肯定会报硬件错误。

    • 发布于2020-04-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 可能数据量太大完成堆栈数据溢出了,你可以在启动文件里面增加堆栈的大小,这样会好一些
    • 发布于2020-04-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般是要降低你的串口传输速度,可能是速度过快导致,无法及时响应

  • 这种问题有可能是走线太长导致的,尝试缩短走线
    • 发布于2020-04-29
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32串口发送数据速率过快后,出现硬件错误