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
- Android實現點選兩次返回鍵和長按返回鍵退出應用實踐Android
- Mac按鍵Mac
- Mac OS X上的Finder選單沒有退出按鈕 如何退出 Finder?Mac
- 三行程式碼按鍵消抖 獨立按鍵 矩陣按鍵 長按 短按 雙擊行程矩陣
- 微信小程式開發中按下自己手機的返回按鍵是直接退出小程式而不是返回上級頁面微信小程式
- tmux常用按鍵UX
- QuitAll for Mac(應用程式一鍵退出)UIMac
- 如何一鍵退出所有應用程式?
- 關於對話方塊介面上按回車和ESC鍵退出問題的處理 (轉)
- 鍵盤失靈按什麼鍵恢復 win10鍵盤恢復按鍵Win10
- win10強制退出鍵是什麼 window10強制退出快捷鍵是哪個Win10
- true--按了整數鍵, false--按了非整數鍵False
- 關閉瀏覽器按鈕退出系統問題瀏覽器
- MAUI Blazor學習16-連續按BACK退出APPUIBlazorAPP
- win10鍵盤按鍵速度在哪裡設定_win10鍵盤按鍵速度如何設定Win10
- Android 點選兩次返回鍵退出程式Android
- nodemcu arduino設定按鍵UI
- 按鍵精靈 使用教程
- AssistiveTouch熱鍵按鈕
- android 按鍵聲音Android
- 12.2 實現鍵盤模擬按鍵
- js獲取鍵盤按鍵的碼值JS
- js實現阻止指定鍵盤按鍵效果JS
- 電腦按鍵以及鍵盤的總結
- 遠端桌面按鍵失效變成快捷鍵
- 戴爾進入bios按什麼鍵 戴爾重灌系統按什麼鍵iOS
- 鍵盤怎麼退出fn模式 關閉筆記本Fn鍵方法模式筆記
- win10鍵盤部分按鍵錯亂怎麼辦_win10鍵盤按鍵錯亂如何解決Win10
- jQuery按鍵響應事件keypress對應的按鍵編碼keycodejQuery事件
- AndroidStudio點選兩次返回鍵,退出APPAndroidAPP
- 兩次點選BACK鍵退出應用的效果
- js捕獲鍵盤按鍵程式碼例項JS
- 鍵盤亂鍵怎麼處理 電腦鍵盤按鍵錯亂
- emacs按鍵繫結詳解Mac
- 新型的按鍵掃描程式
- windows遠端桌面按鍵失效Windows