您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么為AliOS Things應用增加自定義cli命令”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么為AliOS Things應用增加自定義cli命令”吧!
參數名稱
參數描述 | |
char *pwbuf | 當函數執行完成返回時,通過控制臺打印出來的字符串指針。可以不傳入。 |
int blen | 上述字符串長度 |
int argc | 命令調用時傳入的參數長度,沒有參數傳入時為1 |
char **argv | 傳入參數緩存,字符串。第一個有效參數的角標從1開始。 |
接下來填寫注冊用結構體,以便將命令信息傳遞給cli服務。按照前所講的設計,注冊結構體信息如下,將結構體拷貝到blink.c文件中。
struct cli_command led_switch_command[] = { { .name = "led_switch", // 命令名稱 .help = "[on] turn on led2;[off] trun off led2",// 幫助文本 .function = led_switch // 命令具體執行的函數指針 }};
將cli命令注冊到系統中。cli命令注冊只需要一個函數如下:
aos_cli_register_commands(&led_switch_command[0],1);
函數需要傳入兩個參數,參數1為剛剛創建的命令信息體的結構體指針;參數2,為本次需要注冊的命令數,也就是說可以一次性注冊多個命令,只需要在命令信息結構體中,用數組的方式同時填入幾個命令的信息即可。
將上述函數調用加入到blink.c文件application_start函數的如下位置:
aos_cli_register_commands(&led_switch_command[0],1); // 注冊cli命令函數 aos_loop_run();
至此,一個cli命令的實現和注冊的代碼編寫部分就完成了。編譯并下載至開發板中運行。在cli控制臺輸入help,看到led_switch命令已注冊成功。
# help====Build-in Commands========Support 4 cmds once, seperate by ; ====help : print this p : print memorym : modify memoryecho : echo for commandexit : close CLI devname : print device name sysver : system versionreboot : reboot systemtime : system timeota : system ota====User Commands====loglevel : set log level tasklist : list all thread info dumpsys : dump system info udp : [ip] [port] [string data] send udp data wifi_debug: wifi debug mode mac : get/set mac kv : kv [set key value | get key | del key | list]version : show version led_switch: [on] turn on led2;[off] trun off led2
測試命令是否執行,在命令提示符下輸入如下命令,并回車:
#led_switch on
led2點亮
測試參數有效性判斷,輸入如下指令,不帶參數。命令按設計返回錯誤報警。
## led_switch[1291080]<V> 參數錯誤
感謝各位的閱讀,以上就是“怎么為AliOS Things應用增加自定義cli命令”的內容了,經過本文的學習后,相信大家對怎么為AliOS Things應用增加自定義cli命令這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。