找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2291|回复: 10
收起左侧

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

[复制链接]
ID:367460 发表于 2021-6-3 20:09 | 显示全部楼层 |阅读模式
本帖最后由 昆明路口卖提莫 于 2021-6-4 09:37 编辑

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

使用道具 举报

ID:818024 发表于 2021-6-3 20:45 | 显示全部楼层
看看程序,串口接收和发送用的同一个寄存器,可能是串口来不及清空接收
回复

使用道具 举报

ID:811711 发表于 2021-6-3 21:08 | 显示全部楼层
我也赞同二楼说的 麻烦贴一下代码可以么
回复

使用道具 举报

ID:861414 发表于 2021-6-4 00:25 来自手机 | 显示全部楼层
建议把代码贴出来给你看看
回复

使用道具 举报

ID:367460 发表于 2021-6-4 09:38 | 显示全部楼层
kimoye 发表于 2021-6-3 21:08
我也赞同二楼说的 麻烦贴一下代码可以么

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

使用道具 举报

ID:367460 发表于 2021-6-4 09:50 | 显示全部楼层
本帖最后由 昆明路口卖提莫 于 2021-6-4 11:01 编辑

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

使用道具 举报

ID:298123 发表于 2021-6-4 16:32 | 显示全部楼层
while(1) 循环太快,接收太快,发送来不及,如果你发送是堵塞的,倒问题不大
回复

使用道具 举报

ID:883031 发表于 2021-6-4 17:10 | 显示全部楼层
可能是你的发送被其他中断打断了,
回复

使用道具 举报

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

使用道具 举报

ID:395220 发表于 2022-2-23 20:30 | 显示全部楼层
兄弟 问题解决了吗 我也遇到了一样的问题 是怎么一回事呢?
回复

使用道具 举报

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 单片机教程网

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