6.添加自定义命令¶
无附件提供不为DA14531 / DA14585 / DA14586平台编写固件的选项,但您可能希望添加自己的命令或修改现有的命令以更好地服务于您的应用程序。本节将展示如何将自己的味道添加到无附件。
在跳入这一点之前,你需要两件事
6.1。实施概述¶
通过所有必要的理解,我们将看到如何使用创建自定义命令进行。
概述:
- 我们将实现一个可以作为一个真正原始计算器的命令(仅支持添加两到五个操作数 - 所有整数)
- 如果参数的数量小于2或超过5,则对命令的响应将是两到五个操作数或错误的总和
- 我们将允许以十六进制或十进制格式输入操作数。结果将仅在响应中仅为小数
- 我们会命名我们的新命令AT +添加
新命令的示例:AT + Add = 1,2,3,4(应该返回10)
使用设计规范,我们可以开始实施。
6.2。实施¶
打开包含无附件SDK的文件夹并转到位置
我们将在USE_AT_BAUD命令实现后立即添加我们的命令。简化了实现能够通过仅在两个文件中编写代码来添加自定义命令user_at_commands.h.和user_at_commands.c.如下所示。
1. user_at_commands.h.
定义USE_AT_ADD以启用自定义添加。您可以在#define use_at_baud之后包含在所有其他定义结束时的代码。
。。。#define使用_at_baud.//已经是SDK的一部分#define使用_at_add.//习惯
还包括在命令集的该组支持的无附件中。
。。。#ifdef使用_at_baud.//已经是SDK的一部分use_at_baud.那/ ** <设置或请求当前的PIN码* /#万一#ifdef使用_at_add.AT_ADD.那/ ** <添加最多5个数字* ///习惯#万一
2. user_at_commands.c.
现在,允许在AT命令中添加我们的自定义AT命令,如下所示。
。。。#ifdef使用_at_baud.{AT_BAUD.那“波特”那4.那user_at_baud.那0.那1那RPLY_MAX_SIZE.},#万一#ifdef使用_at_add.{AT_ADD.那“加”那3.那user_at_add.那2那5.那RPLY_MAX_SIZE.},//习惯#万一
在下面的图中描绘了语法的描述。您创建的每个自定义命令都需要遵循此语法。
允许在USE_AT_PIN定义之后定义为我们添加的作业的函数。
#ifdef使用_at_add.空虚user_at_add.(塑造at_cmd_params_t.*arg那char*Reply_String.){//初始化总和UINT32_T.和=0.;对于(uint8_t.一世=0.;一世<arg- >arg_count.;一世++)和+ =ahtoi32(&arg- >cmd_buffer.[arg- >arg_index.[一世]]);Arch_sprintf.(Reply_String.那“%d”那和);arg- >成功_flag.=真正;}#万一