久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2102|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

can多包接收解析求解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:378659 發(fā)表于 2023-8-5 17:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
can一幀數(shù)據(jù)最多8個字節(jié),發(fā)送超過8個字節(jié)就涉及到多幀發(fā)送了,那么接收函數(shù)怎么寫?
現(xiàn)在設(shè)想的是把擴展標識符拆成8bit發(fā)送地址8bit接收地址8bit發(fā)送長度,接收方判斷接收數(shù)據(jù)長度一致或者接收到一幀后后面10ms都沒收到就判斷接收結(jié)束(超時處理,避免拆包發(fā)送中發(fā)一幀后突發(fā)死機不再發(fā)送,那buf會卡死一直達不到接收長度一致的情況)。但是假設(shè)我發(fā)送15個字節(jié),第一幀發(fā)出去后,恰巧有個高優(yōu)先級的插入發(fā)送,后面那個原本低優(yōu)先級的又重發(fā),那么我接收端接收到的不就是8Byte+高優(yōu)先級的數(shù)據(jù)+剩下的7byte,那樣解析就錯換了,后來又想了個接收方解析,收到的數(shù)據(jù)根據(jù)不同發(fā)送地址設(shè)定不同的接收buf,但是要是節(jié)點一點多那不是要設(shè)立很多buf很麻煩,請問有啥更好的方法

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:771630 發(fā)表于 2023-8-6 07:38 | 只看該作者
can不是可以指定地址的么,你把數(shù)據(jù)包拆分成 1字節(jié)的拆分標志位,7字節(jié)的數(shù)據(jù),只接收該地址,并判斷拆分標志位進行數(shù)據(jù)完整度判斷和組合不就行了
回復(fù)

使用道具 舉報

板凳
ID:378659 發(fā)表于 2023-8-7 09:41 | 只看該作者
XLinliY.Zhang 發(fā)表于 2023-8-6 07:38
can不是可以指定地址的么,你把數(shù)據(jù)包拆分成 1字節(jié)的拆分標志位,7字節(jié)的數(shù)據(jù),只接收該地址,并判斷拆分標 ...

一個節(jié)點不止接收一個地址的數(shù)據(jù)啊,要是有個廣播和有個地址的
回復(fù)

使用道具 舉報

地板
ID:123289 發(fā)表于 2023-8-8 14:01 | 只看該作者
1、CAN的硬件系統(tǒng)中有一個8字節(jié)的數(shù)據(jù)緩沖器,必須寫滿8個字節(jié)才能發(fā)送出去(當指令成8字節(jié)時)。不存在發(fā)了3個再等5個的問題。
2、CAN更高級端口,不能打正在發(fā)送中尚未結(jié)束的幀,這是CAN的硬件特征。更高級的CAN端口,即使你用軟件下達了發(fā)送命令,實際執(zhí)行時,也會自己進入等待狀態(tài),等總線掛起后(正在發(fā)送的幀結(jié)束)才會執(zhí)行發(fā)送。
你要更深入地了解CAN通訊的特點,了解它的優(yōu)缺點。
回復(fù)

使用道具 舉報

5#
ID:378659 發(fā)表于 2023-8-9 15:05 | 只看該作者
yzwzfyz 發(fā)表于 2023-8-8 14:01
1、CAN的硬件系統(tǒng)中有一個8字節(jié)的數(shù)據(jù)緩沖器,必須寫滿8個字節(jié)才能發(fā)送出去(當指令成8字節(jié)時)。不存在發(fā) ...

不是,我的意思是假設(shè)有個低優(yōu)先級的需要發(fā)送15個字節(jié),can特性8個最多,就先發(fā)8個字節(jié),此時正常后面會拆分發(fā)剩下7個字節(jié),若此時有高優(yōu)先級的節(jié)點也發(fā)送了,那我接收端的不就容易錯亂嗎
回復(fù)

使用道具 舉報

6#
ID:378659 發(fā)表于 2023-8-9 15:12 | 只看該作者
yzwzfyz 發(fā)表于 2023-8-8 14:01
1、CAN的硬件系統(tǒng)中有一個8字節(jié)的數(shù)據(jù)緩沖器,必須寫滿8個字節(jié)才能發(fā)送出去(當指令成8字節(jié)時)。不存在發(fā) ...

舉個例子有三個節(jié)點abc,a往b節(jié)點發(fā)送 1 2 3 4 5 6 7 8 9共9個字節(jié),那么發(fā)送一定是先發(fā)送1 2 3 4 5 6 7 8,然后再發(fā)送一幀9,那么若a往b發(fā)送完1 2 3 4 5 6 7 8后此時恰巧c往b發(fā)送1,2,3優(yōu)先級又更高,can仲裁一定是先讓c發(fā),那么b節(jié)點接收到的數(shù)據(jù)就會錯亂成 1 2 3 4 5 6 7 8 1 2 3 9
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 青青久草 | 国产欧美在线播放 | 亚洲品质自拍视频网站 | 99re在线| 中国免费黄色片 | 一级毛片视频免费观看 | 精品欧美一区二区在线观看 | 精品免费观看 | 少妇特黄a一区二区三区88av | 日韩视频在线免费观看 | 国产精品久久亚洲7777 | 婷婷毛片| 免费在线h视频 | 国产亚洲人成a在线v网站 | 国产一区二区三区 | 国产免费一区二区 | 人人鲁人人莫人人爱精品 | 成人做爰www免费看视频网站 | 97人澡人人添人人爽欧美 | 国产美女自拍视频 | 欧美一区二区三区在线播放 | 国产精品久久久久久久久 | 欧美中文字幕一区 | 国产精品久久久久久久久免费樱桃 | 日日噜噜噜夜夜爽爽狠狠视频, | 在线一区二区观看 | 久久精品国产一区二区三区不卡 | 亚洲一区二区免费看 | 在线国产中文字幕 | 亚洲精品国产成人 | 99久久国产免费 | 日韩欧美三级电影 | 成人在线视频网 | 精品视频在线一区 | 午夜影院 | 天天摸天天看 | 国产精品 欧美精品 | 欧美日韩视频在线播放 | 国产精品一区二区三区四区 | 午夜精品一区二区三区在线观看 | 欧美日韩国产综合在线 |