Arduino 通過串列埠給上位機發資料報研究

2021-10-12 05:04:57 字數 1215 閱讀 8754

填入報文

上位機解析

目前有個需求是要用arduino從暫存器讀感測器資料,然後把資料傳送給unity開發的上位機,在傳送資料時,通過協議確定資料報的格式。

//這裡構建乙個7位陣列

byte sendarray[7]

;

012

3456

報頭報文1

報文2報文3

報文4報文5

報尾報頭

報文1 為資料型別

報文2 為資料1高位

報文3 為資料1低位

報文4 為資料2高位

報文5 為資料2低位

報尾 為驗證位

報文具體內容自行定義

//設定報頭

sendarray[0]

=byte

(0x37);

//設定當前資料是哪個型別的

sendarray[1]

=byte

(0x33);

//要傳送的資料

short sval =8;

//定義高低位

byte bhigh, blow;

//右移8位 計算資料高位

bhigh = sval >>8;

//與運算子 計算資料低位 &表示按位與,只有兩個位同時為1,才能得到1

blow = sval &

0xff

;sendarray[2]

=blow ;

sendarray[3]

=bhigh ;

//下面是測試資料

sendarray[4]

=0; sendarray[5]

=1;//報尾可以計算上面所有低位的和

sendarray[6]

=blow +

1;

從報頭開始拆包,每7位拆成乙個包,讀取報文1區分型別,按照以下方法解析出包內內容,這裡最好計算最後一位校驗位是否相同,保證資料完整性。

var x =((

short

)(onegroup[3]

<

<8)

| onegroup[2]

)var y =((

short

)(onegroup[5]

<

<8)

| onegroup[4]

)

Matlab串列埠上位機

code matlab的 串列埠上位機,徐方鑫,2011,2,16 clearall 清空資料 clf 清除figure port1 serial com2 開啟串列埠2 port1.baudrate 9600 串列埠波特率9600 fopen port1 開啟串列埠 b fread port1,1...

C 上位機軟體 串列埠

using system.io.ports 串列埠類 serialport 屬於該命名空間 string portstr serialport.getportnames 搜尋當前裝置下的串列埠 該方法為串列埠類的靜態方法,呼叫方法 類名 函式名public serialport sp newseri...

微控制器與上位機通過串列埠通訊 筆記

先說什麼是串列埠?1 他是一種通訊介面,微控制器 io 口上的復用功能,上位機 電腦 和下位機 開發板 之間的資料傳輸。2 序列介面簡稱串列埠,也稱序列通訊介面或序列通訊介面 通常指 com 接 口 是採用序列通訊方式的擴充套件介面。3 序列介面 serial inte ce 是指資料一 位一位地順...