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

STM32F103串口波特率问题

lilei 2018-09-25 浏览量:2589

使用芯片STM32F103CBT6的串口1通信,波特率设置为9600以上的波特率通信正常,但设置成4800或4800以下的波特率,电脑接收到的数据就是乱码,请问大神这是咋回事?STM32F103不能使用低的波特率通信吗?
1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 理论上是没有问题的,只有高波特率会容易乱码,没有低波特率容易乱码,只能怀疑是不是上位机波特率设置错误,或者下位机根本不是标准的4800,时钟什么的设置错了
    • 发布于 2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:21
  • 可以使用低波特率通讯,电脑端的串口助手也要设置的和单片机一样,才可以,重新设置一下电脑端串口助手的波特率试试
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 1
    • 0

  • 要那种可以设置波特率,可以手写波特率的软件试试。

    因为市面上大多客户端的波特率是个下拉列表,最小是 9600要能改成 4800bps 的客户端试试,多找几个都试试。

    或者再 linux 下 minicom 也可以设置 波特率

    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 1
    • 0

  • 太低波特率导致电脑串口助手那里的缓存出现错误了吧,这个跟波特率关系不大,是电脑串口缓存的问题。

    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 1
    • 0

  • 首先要明确,上位机的波特率与单片机的波特率设置要一致,其次,使用低波特率通信的话会更稳定,所以低波特率通信是没问题的,个人觉得可能是你的波特率没有设置一致
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口发射和接受要处于同一波特率,你这个乱码应该是处于不同的不同的波特率导致的
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 其实波特率是和时钟有关的

    你看看是不是apb1时钟速率太高,usart_brr寄存器装载不了那么大的值

    可以参考这个https://blog.csdn.net/ljymoonlight/article/details/39205507

    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 你先确定两边的波特率是不是一致的,不一致就会乱码!而且波特率设置时候要分频的,设计时钟设置,这三个错一个都是乱码!
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 高的可以,低的更可以了。

    这种问题,应该是你的波特率的计算不对造成的

    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 你将电脑上的串口助手设置的 9600波特率改成和你的串口的波特率一致,数据才会正常传送,不然就会有乱码,不规则等  错误发生
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 两个对应的波特率设置一样才可以正常通信显示的
    • 发布于2018-09-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 发送,接受是需要相同波特率的,这样才能发送接受正常
    • 发布于2018-09-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 有可能是你的串口调试助手不能支持那么低的波特率,或者是你的主板不能支持
    • 发布于2018-10-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 发送和接收端的波特率都要一样,不一样就会出现乱码等问题
    • 发布于2018-10-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 接收端口和发送的端口波特率要一致,否则不能接收到正确的数据
    • 发布于2018-10-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 要把你发送和接受的设备串口波特率设置成一样,这样才可以正常通信
    • 发布于2018-10-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 低波特率完全是可以进行通信的,如果不可以,检查一下你电脑串口助手的设置,看看是不是设置成对应的波特率
    • 发布于2018-10-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 还是你的波特率的计算不对,有乱码就是波特率不对的原因

    看看你的电脑上的串口波特率与单片机的设置是不是一样,是不是忘记修改了

    • 发布于2018-10-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 低波特率是没有问题的,即使是1200也应该能正常通讯,关键看串口调试助手是否支持这个波特率,不行换一个串口调试工具试试。
    • 发布于2018-10-24
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32F103串口波特率问题