uboot-cmd按鍵退出
需求
實際應用中經常出現需要存在無條件迴圈的命令,比如對於flash eeprom等儲存器的可靠性測試,這種測試往往是執行命令如果正確就一直進行讀寫和比對,指導鍵盤輸出Ctrl+C再退出。
由於uboot單執行緒的,執行的命令如果自己沒有退出就會一直在無條件迴圈裡面一直執行,這樣就出現了對於存在無條件迴圈的命令需要接受鍵盤輸入的退出命令。
實現
存在無條件迴圈的cmd 中一般是這樣的:
int do_xxxx(cmd_tbl_t *cmdtp,int flag ,int argc,char *argv[]){
xxxxx
unsigned data_in,data_out;
unsigned address;
while(1){
for(int i;i<1000;i++){
write_reg(address,data_in);
data_out = read_reg(address);
if(data_in !=data_out)
break;
}
}
}
這樣就明白如果進入這個cmd中如果資料比對一直正確就不能退出,但是這樣也就無法進入其他命令。
這裡可以通過呼叫series的介面進行鍵盤輸入檢測。
int do_xxxx(cmd_tbl_t *cmdtp,int flag ,int argc,char *argv[]){
xxxxx
unsigned data_in,data_out;
unsigned address;
while(1){
for(int i;i<1000;i++){
if(serial_tstc()){//檢測串列埠裡面是否有輸入
serial_getc();//獲取輸入,可以不要的,有輸入就退出,或者檢測輸入時ctrl+c 再退出
break;
}
write_reg(address,data_in);
data_out = read_reg(address);
if(data_in !=data_out)
break;
}
}
}
相關文章
- Qt全屏顯示和按鍵ESC退出全屏QT
- Flutter實戰之坑——按返回鍵回到手機桌面不退出appFlutterAPP
- 按鍵原理
- 三行程式碼按鍵消抖 獨立按鍵 矩陣按鍵 長按 短按 雙擊行程矩陣
- 鍵盤失靈按什麼鍵恢復 win10鍵盤恢復按鍵Win10
- 如何一鍵退出所有應用程式?
- QuitAll for Mac(應用程式一鍵退出)UIMac
- win10強制退出鍵是什麼 window10強制退出快捷鍵是哪個Win10
- AndroidStudio點選兩次返回鍵,退出APPAndroidAPP
- MAUI Blazor學習16-連續按BACK退出APPUIBlazorAPP
- 12.2 實現鍵盤模擬按鍵
- win10鍵盤按鍵速度在哪裡設定_win10鍵盤按鍵速度如何設定Win10
- 【JavaScript】鍵盤按鍵Keycode對照表(鍵碼對照表)JavaScript
- 925. 長按鍵入
- nodemcu arduino設定按鍵UI
- win10鍵盤部分按鍵錯亂怎麼辦_win10鍵盤按鍵錯亂如何解決Win10
- 鍵盤怎麼退出fn模式 關閉筆記本Fn鍵方法模式筆記
- 戴爾進入bios按什麼鍵 戴爾重灌系統按什麼鍵iOS
- textarea 響應按下Enter鍵
- 按鍵中斷驅動程式
- 二、zigbee裸機程式--按鍵
- Linux 按鍵輸入實驗Linux
- 獨立按鍵的掃描
- emacs按鍵繫結詳解Mac
- win10 禁用滑鼠滾輪按鍵熱鍵方法 win10怎麼禁用滑鼠滾輪按鍵Win10
- 鍵盤亂鍵怎麼處理 電腦鍵盤按鍵錯亂
- win10系統下不能連續按兩下鍵盤按鍵如何解決Win10
- JS判斷鍵盤是否按的Enter鍵並觸發指定按鈕點選操作JS
- 電腦鍵盤各個按鍵功能和作用介紹 電腦鍵盤各個按鍵功能高畫質圖片圖解圖解
- iOS 自定義鍵盤字母按鈕iOS
- UVC攝像頭按鍵拍照功能
- 一個按鈕,一鍵傳功!
- LVGL中實體按鍵的使用
- 史上最全的汽車按鍵功能圖解說明 車內按鍵全英文看不懂?圖解
- 2.3用按鍵精靈錄製鍵盤與滑鼠操作
- 清華機試oj——手機按鍵
- 解決虛擬按鍵遮擋popupWindow
- 滑鼠按鍵響應越快越好嗎?
- 按鍵的檢測與去抖動