「串列埠命令字解析」測試

2021-08-25 11:43:03 字數 1551 閱讀 3706

實驗平台:stm32f103開發板

串列埠例程參考:戰艦例程

目錄前言

測試過程

程式設計

測試**

注意事項

測試結果 總結

串列埠命令字解析,多用於裝置測試。由生產裝備(測試裝置)傳送命令資料幀給被測裝置,被測裝置接收命令資料幀並返回相應的引數。通過這些引數,我們可以得知被測裝置是否有故障,也可獲得被測裝置的韌體資訊等。本測試簡單設計了幾種典型的命令並得到了驗證,大家可根據實際情況進行修改。

命令資料幀格式為0xaa  0x..  0x.. ··· 0x.. 0x55。生產裝備(測試裝置)由pc代替。通過pc端串列埠助手傳送區域輸入命令資料幀,由usart2傳送給stm32,stm32解析命令字後,再由usart2把相應引數返回到pc端串列埠助手接收區域。若接收區域顯示內容與解析部分的執行結果一致,說明命令字解析成功。

1. 接收來自生產裝備的命令資料幀,並放入接收緩衝區中

2. 如果接收到的資料幀的幀頭不是0xaa,則為無效資料幀,返回「error command!」

3. 若幀頭正確,則進行命令解析。本測試寫了4條命令:

//接收緩衝區命令解析

while(1)

//判斷第乙個元素不是0xaa

else

}break;

case 0x97:

break;

case 0x0a:

break;

default:

break;}}

usart2_rx_sta=0;//清空接收標誌位

} }

下面是附加的兩個函式:

//usart2傳送陣列 

//傳送緩衝區u8 send_buff[manuf_max_buff],緩衝區大小為5個位元組

void usart2_send_data()

{ u8 t;

for(t=0;t1. 傳送傳送緩衝區的資料時,傳送完成後,必須清空緩衝區,否則第4條命令將會返回錯誤資訊(aa 0e 55 55 00)。所以,每傳送一次, 就要清空一次。

2. 這裡清空緩衝區用的方法是呼叫memset(buffer, 0, sizeof(buffer)),注意使用時需加標頭檔案string.h

4條命令的測試結果依次如下圖1-4所示

顯然,與所設計的結果一致。如此,便實現了串列埠命令字解析。

以上!

效能測試命令字段解釋

vmstat 檢視系統狀態 硬體和系統資訊等 vmstat 1 procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy id wa st 2 1 140 2787980 336304 35319...

linux統計功能命令字 wc

1 命令格式 usage wc option file or wc option files0 from f2 命令功能 列印每個檔案的行數 字和位元組計數,如果指定了多個檔案,則列印乙個總行。如果沒有檔案,或者當檔案為 時,讀取標準輸入。單詞是由空格分隔的非零長度字串行。下面的選項可以用來選擇列印...

串列埠相關測試命令(可供參考)

1 檢視串列埠速率 cat proc clocks 2 掛載系統 busybox mount o remount,rw system 3 shell模式 busybox sh 4 獲取event事件 getevent 6 清楚logcat快取 logcat c 7 檢視系統啟動列印的資訊 cat p...