找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3505|回复: 10
打印 上一主题 下一主题
收起左侧

请问,STM32串口接收数据整体右移了一个字节什么原因。

[复制链接]
跳转到指定楼层
楼主
本帖最后由 昆明路口卖提莫 于 2021-6-4 09:37 编辑

请问,使用STM32串口发送和接收,刚开始数据是对的,多发几次就出现了这个现象,前面几次没问题,应该也不是波特率的问题,不知道为啥,麻烦大家看一下。

51hei图片_20210603200708.png (174.37 KB, 下载次数: 82)

51hei图片_20210603200708.png

51hei截图20210604093536.png (33.7 KB, 下载次数: 100)

51hei截图20210604093536.png

51hei截图_20210604093415.png (55.96 KB, 下载次数: 95)

51hei截图_20210604093415.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:818024 发表于 2021-6-3 20:45 | 只看该作者
看看程序,串口接收和发送用的同一个寄存器,可能是串口来不及清空接收
回复

使用道具 举报

板凳
ID:811711 发表于 2021-6-3 21:08 | 只看该作者
我也赞同二楼说的 麻烦贴一下代码可以么
回复

使用道具 举报

地板
ID:861414 发表于 2021-6-4 00:25 来自触屏版 | 只看该作者
建议把代码贴出来给你看看
回复

使用道具 举报

5#
ID:367460 发表于 2021-6-4 09:38 | 只看该作者
kimoye 发表于 2021-6-3 21:08
我也赞同二楼说的 麻烦贴一下代码可以么

代码是照着一些学习例程
回复

使用道具 举报

6#
ID:367460 发表于 2021-6-4 09:50 | 只看该作者
本帖最后由 昆明路口卖提莫 于 2021-6-4 11:01 编辑

我现在将USART2->DR  数据寄存器每次用完清零,
USART2->DR = 0x00
效果也不行
回复

使用道具 举报

7#
无效楼层,该帖已经被删除
8#
ID:298123 发表于 2021-6-4 16:32 | 只看该作者
while(1) 循环太快,接收太快,发送来不及,如果你发送是堵塞的,倒问题不大
回复

使用道具 举报

9#
ID:883031 发表于 2021-6-4 17:10 | 只看该作者
可能是你的发送被其他中断打断了,
回复

使用道具 举报

10#
ID:932412 发表于 2021-6-4 20:40 | 只看该作者
看你前面部分正常,可以先看一下硬件是否有受到干扰,比如换个串口助手等等,第二就是看一下代码逻辑。
回复

使用道具 举报

11#
ID:395220 发表于 2022-2-23 20:30 | 只看该作者
兄弟 问题解决了吗 我也遇到了一样的问题 是怎么一回事呢?
回复

使用道具 举报

12#
ID:879809 发表于 2022-2-23 22:59 | 只看该作者
yabiyff 发表于 2021-6-3 20:45
看看程序,串口接收和发送用的同一个寄存器,可能是串口来不及清空接收

错,51的SBUF是两个寄存器,一个收一个发。其他单片机也有类似结构,收发寄存器用同名同地址的,写就是发送寄存器,读就是接收寄存器。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表