找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 6737|回復: 10
收起左側

51單片機串口如何接收 24字節(jié)數(shù)據(jù),解析有用數(shù)據(jù)

[復制鏈接]
ID:128402 發(fā)表于 2018-4-27 21:37 | 顯示全部樓層 |閱讀模式
在使用單片機測試一款芯片的時候,使用串口接收芯片發(fā)送的數(shù)據(jù),數(shù)據(jù)總是讀不對。串口通訊部分沒問題,問題是如何找到幀頭??有效數(shù)據(jù)如何保存?
會的大佬提供一下思路或者代碼,,感激不盡

數(shù)據(jù)幀的格式

數(shù)據(jù)幀的格式
回復

使用道具 舉報

ID:213173 發(fā)表于 2018-4-28 06:52 | 顯示全部樓層
這個應該是自定義通訊協(xié)議,1、2字節(jié)是數(shù)據(jù)頭3~23是有效數(shù)據(jù),24是數(shù)據(jù)尾,用于校驗數(shù)據(jù)傳輸是否正確。定義一個數(shù)組,通常在接收到數(shù)據(jù)時對第1、2字節(jié)判斷,如正確連同繼續(xù)接收的字節(jié)按序保存在緩存數(shù)組,否則拋棄繼續(xù)等待接收。此時對保存在緩存數(shù)組里的數(shù)據(jù)進行校驗,現(xiàn)在還沒有看出來這個數(shù)據(jù)格式的校驗算法,通常有累加校驗和的校驗方法。把前面所有字節(jié)的數(shù)據(jù)相加,超過一個字節(jié)的溢出部分自動丟棄,或把前面所有字節(jié)的數(shù)據(jù)相加后取反再+1,超過一個字節(jié)的溢出部分自動丟棄。解析數(shù)據(jù)就比較簡單,緩存中提取3或2個字節(jié)的有效數(shù)據(jù)用左移16+左移8位+低8位的方法還原成24位或16位數(shù)據(jù)。
回復

使用道具 舉報

ID:312464 發(fā)表于 2018-4-28 09:30 | 顯示全部樓層
建立一個接收數(shù)組,根據(jù)自己的需要處理接收數(shù)組的數(shù)據(jù)即可。樓上說的很詳細
回復

使用道具 舉報

ID:397757 發(fā)表于 2018-9-14 08:19 | 顯示全部樓層
你好,這個串口問題解決了嗎?
回復

使用道具 舉報

ID:303383 發(fā)表于 2018-9-14 13:53 | 顯示全部樓層
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
回復

使用道具 舉報

ID:397757 發(fā)表于 2018-9-14 14:05 | 顯示全部樓層
你好,你的問題解決了嗎?
回復

使用道具 舉報

ID:397757 發(fā)表于 2018-9-14 14:07 | 顯示全部樓層
xiaqjchint 發(fā)表于 2018-9-14 08:19
你好,這個串口問題解決了嗎?

我現(xiàn)在也遇到同樣的情況,不知從何下手
回復

使用道具 舉報

ID:434663 發(fā)表于 2019-12-13 12:40 | 顯示全部樓層
同樣的困惑,,,大多的教程都是講解用串口助手發(fā)送  一個字節(jié),,,,沒有講解發(fā)送大批量數(shù)的,,,,,困惑中
回復

使用道具 舉報

ID:639665 發(fā)表于 2020-2-18 16:16 | 顯示全部樓層
哪個大神可以搞定?求分享
回復

使用道具 舉報

ID:219796 發(fā)表于 2020-2-18 16:35 來自觸屏版 | 顯示全部樓層
開頭應該是55 5A,讀取一個字節(jié)是55再度一個是5a就開始讀,直到一個數(shù)值為67時停止,可以依次在數(shù)組里保存,需要那個就把他取出來
回復

使用道具 舉報

ID:93224 發(fā)表于 2020-2-18 17:06 | 顯示全部樓層
betar00 發(fā)表于 2020-2-18 16:16
哪個大神可以搞定?求分享

我可以搞定
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表