找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3223|回復(fù): 10
收起左側(cè)

請問,STM32串口接收數(shù)據(jù)整體右移了一個字節(jié)什么原因。

[復(fù)制鏈接]
ID:367460 發(fā)表于 2021-6-3 20:09 | 顯示全部樓層 |閱讀模式
本帖最后由 昆明路口賣提莫 于 2021-6-4 09:37 編輯

請問,使用STM32串口發(fā)送和接收,剛開始數(shù)據(jù)是對的,多發(fā)幾次就出現(xiàn)了這個現(xiàn)象,前面幾次沒問題,應(yīng)該也不是波特率的問題,不知道為啥,麻煩大家看一下。
51hei圖片_20210603200708.png
51hei截圖20210604093536.png
51hei截圖_20210604093415.png
回復(fù)

使用道具 舉報(bào)

ID:879809 發(fā)表于 2022-2-23 22:59 | 顯示全部樓層
yabiyff 發(fā)表于 2021-6-3 20:45
看看程序,串口接收和發(fā)送用的同一個寄存器,可能是串口來不及清空接收

錯,51的SBUF是兩個寄存器,一個收一個發(fā)。其他單片機(jī)也有類似結(jié)構(gòu),收發(fā)寄存器用同名同地址的,寫就是發(fā)送寄存器,讀就是接收寄存器。
回復(fù)

使用道具 舉報(bào)

ID:395220 發(fā)表于 2022-2-23 20:30 | 顯示全部樓層
兄弟 問題解決了嗎 我也遇到了一樣的問題 是怎么一回事呢?
回復(fù)

使用道具 舉報(bào)

ID:932412 發(fā)表于 2021-6-4 20:40 | 顯示全部樓層
看你前面部分正常,可以先看一下硬件是否有受到干擾,比如換個串口助手等等,第二就是看一下代碼邏輯。
回復(fù)

使用道具 舉報(bào)

ID:883031 發(fā)表于 2021-6-4 17:10 | 顯示全部樓層
可能是你的發(fā)送被其他中斷打斷了,
回復(fù)

使用道具 舉報(bào)

ID:298123 發(fā)表于 2021-6-4 16:32 | 顯示全部樓層
while(1) 循環(huán)太快,接收太快,發(fā)送來不及,如果你發(fā)送是堵塞的,倒問題不大
回復(fù)

使用道具 舉報(bào)

ID:367460 發(fā)表于 2021-6-4 09:50 | 顯示全部樓層
本帖最后由 昆明路口賣提莫 于 2021-6-4 11:01 編輯

我現(xiàn)在將USART2->DR  數(shù)據(jù)寄存器每次用完清零,
USART2->DR = 0x00
效果也不行
回復(fù)

使用道具 舉報(bào)

ID:367460 發(fā)表于 2021-6-4 09:38 | 顯示全部樓層
kimoye 發(fā)表于 2021-6-3 21:08
我也贊同二樓說的 麻煩貼一下代碼可以么

代碼是照著一些學(xué)習(xí)例程
回復(fù)

使用道具 舉報(bào)

ID:861414 發(fā)表于 2021-6-4 00:25 來自觸屏版 | 顯示全部樓層
建議把代碼貼出來給你看看
回復(fù)

使用道具 舉報(bào)

ID:811711 發(fā)表于 2021-6-3 21:08 | 顯示全部樓層
我也贊同二樓說的 麻煩貼一下代碼可以么
回復(fù)

使用道具 舉報(bào)

ID:818024 發(fā)表于 2021-6-3 20:45 | 顯示全部樓層
看看程序,串口接收和發(fā)送用的同一個寄存器,可能是串口來不及清空接收
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表