CLI中添加一个自己的命令行

如何在FreeRTOS-Plus-CLI中添加一个自己的命令行

分类:FreeRTOS

根据上一篇添加完成后,下面就是添加一个自己的命令行。其实添加一个命令行格式很简单,,就是按照demo中的数据格式添加一个结构体,然后在注册函数中注册就可以使用了。第一步:添加自己的结构体/* The structure that defines command line commands. A command line commandshould be defined by declaring a const structure of this type. */typedef struct xCOMMAND_LINE_INPUT{ const char * const pcCommand;/* The command that causes pxCommandInterpreter to be executed. For example "help". Must be all lower case. */ const char * const pcHelpString;/* String that describes how to use the command. Should start with the command itself, and end with "\r\n". For example "help: Returns a list of all the commands\r\n". */ const pdCOMMAND_LINE_CALLBACK pxCommandInterpreter;/* A pointer to the callback function that will return the output generated by the command. */ int8_t cExpectedNumberOfParameters;/* Commands expect a fixed number of parameters, which may be zero. */} CLI_Command_Definition_t;参考实际格式:/* Structure that defines the "task-stats" command line command. This generatesa table that gives information on each task in the system. */static const CLI_Command_Definition_t xTaskStats ={ "task-stats", /* The command string to type. */ "\r\ntask-stats:\r\n Displays a table showing the state of each FreeRTOS task\r\n", prvTaskStatsCommand, /* The function to run. */ 0 /* No parameters are expected. */};于是按葫芦画瓢自己写一个自己的命令“whatbook”吧!如下:static const CLI_Command_Definition_t xWhatbook ={ "whatbook", "\r\nwhatbook:\r\n Displays a string "I Love ZML!"\r\n", prvWhatbookCommand, /* The function to run. */ 0 /* No parameters are expected. */};第二步:实现上面数据结构后,然后写数据结构中的回调函数。static BaseType_t prvWhatbookCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString ){BaseType_t xReturn;/* Remove compile time warnings about unused parameters, and check thewrite buffer is not NULL. NOTE – for simplicity, this example assumes thewrite buffer length is adequate, so does not check for buffer overflows. */( void ) pcCommandString;( void ) xWriteBufferLen;configASSERT( pcWriteBuffer );/* The first time the function is called after the command has beenentered just a header string is returned. */sprintf( pcWriteBuffer, "I Love ZML!!!\r\n" );xReturn = pdFALSE;return xReturn;}第三步:注册数据结构。FreeRTOS_CLIRegisterCommand( &xWhatbook );

版权声明:本文为博主原创文章,未经博主允许不得转载。

上一篇将FreeRTOS-Plus-CLI项目加入工程使用歩骤

顶0踩0

你是自由的,不仅是身体上的自由,

CLI中添加一个自己的命令行

相关文章:

你感兴趣的文章:

标签云: