概述
GPRS 中EAT 二次开发相关AT命令的操作接口函数。
注意:通用AT命令中的+UCRESET、+UCMODE不适用EAT接口函数,相关功能存在对应API函数可供使用,其它AT命令均适用。
接口函数说明
函数 | 描述 |
---|---|
void eat_wait_ready(void); | 等待进入EAT状态 |
void eat_rx_reset(void); | 清空响应数据缓冲区 |
EAT_ERROR_CODE eat_send_cmd(n8_t *cmd); | 发送AT命令 |
EAT_ERROR_CODE eat_wait_ok(void); | 等待AT命令的回复 |
EAT_ERROR_CODE eat_recv_line(n8_t *line, u32_t size); | 等待读取AT返回的1行数据 |
EAT_ERROR_CODE eat_wait_rsp(n8_t rsp, u32_t size, n8_t prompt, n8_t **ppara); | 等待接收AT返回的特定数据 |
EAT_ERROR_CODE eat_set_callback(n8_t *key, eat_callback cb); | 等待接收AT或服务端返回特定数据的注册回调函数 |
EAT_ERROR_CODE eat_del_callback(n8_t *key); | 删除注册的回调函数 |
EAT_ERROR_CODE eat_transparent(u8_t *data, u32_t lent); | 发送透传数据 |
n8_t parse(n8_t b, n8_t *f, ...); | 从字符串中解析提取数据 |
等待进入EAT状态
【目的】避免与其它内部状态冲突
【语法】void eat_wait_ready(void);
【描述】使用EAT接口发送AT前,使用此函数
【参数】无
【返回值】无
清空响应数据缓冲区
【目的】EAT清空响应数据缓冲区
【语法】void eat_rx_reset(void);
【描述】发送AT命令前/数据响应错误时,使用此函数
【参数】无
【返回值】无
发送AT
【目的】EAT发送 AT 命令
【语法】EAT_ERROR_CODE eat_send_cmd(n8_t *cmd);
【描述】发送AT命令,结尾必须有“\r\n”
【参数】
参数 | 取值范围 | 输入/输出 | 描述 |
---|---|---|---|
cmd | 0—1500 | 输入 | AT命令,详情参考AT文档 |
【返回值】
返回值 | 含义 | 描述 |
---|---|---|
EEC_OK | 成功 | — |
EEC_ERROR | 失败 | — |
EEC_TIMEOUT | 超时 | 等待超过6分钟 |
EEC_OVERFLOW | 超过范围 | — |
等待回复
【目的】等待EAT发送AT命令的返回结果
【语法】EAT_ERROR_CODE eat_wait_ok(void);
【描述】等待AT命令结果"OK"或者"ERROR"
【参数】无
【返回值】
返回值 | 含义 | 描述 |
---|---|---|
EEC_OK | 成功 | — |
EEC_ERROR | 失败 | — |
EEC_TIMEOUT | 超时 | 等待超过6分钟 |
EEC_OVERFLOW | 超过范围 | — |
等待读AT返回1行数据
【目的】EAT读取发送的AT命令返回数据
【语法】EAT_ERROR_CODE eat_recv_line(n8_t *line, u32_t size);
【描述】无
【参数】
参数 | 取值范围 | 输入/输出 | 描述 |
---|---|---|---|
line | 0—1500 | 输入 | 接收1行数据的缓存buffer |
size | 0—1500 | 输入 | 接收1行数据的最大长度 |
【返回值】
返回值 | 含义 | 描述 |
---|---|---|
EEC_OK | 成功 | — |
EEC_ERROR | 失败 | — |
EEC_TIMEOUT | 超时 | 等待超过6分钟 |
EEC_OVERFLOW | 超过范围 | — |
等待接收AT的返回特定数据
【目的】等待接收AT的返回特定数据
【语法】EAT_ERROR_CODE eat_wait_rsp(n8_t rsp, u32_t size, n8_t prompt, n8_t **ppara);
【描述】无
【参数】
参数 | 取值范围 | 输入/输出 | 描述 |
---|---|---|---|
rsp | 0—1500 | 输出 | 指定的行数据缓存buffer |
size | 0—1500 | 输入 | 缓存数据的长度 |
prompt | — | 输入 | 指定字符串数据 |
ppara | — | 输出 | 返回指定字符串后面的数据 |
返回值 | 含义 | 描述 |
---|---|---|
EEC_OK | 成功 | — |
EEC_ERROR | 失败 | — |
EEC_TIMEOUT | 超时 | 等待超过6分钟 |
EEC_OVERFLOW | 超过范围 | — |
注册回调函数
【目的】注册等待接收AT或服务端返回某特定数据对应的回调函数
【语法】EAT_ERROR_CODE eat_set_callback(n8_t *key, eat_callback cb);
【描述】无
【参数】
参数 | 取值范围 | 输入/输出 | 描述 |
---|---|---|---|
key | — | 输入 | 需要回调检测的AT数据或服务端返回的数据 |
cb | — | 输入 | 要注册的回调函数名(eat_callback 对应自定义的回调函数类型) |
【返回值】
返回值 | 含义 | 描述 |
---|---|---|
EEC_OK | 成功 | — |
EEC_ERROR | 失败 | — |
删除回调注册内容
【目的】删除注册的回调函数
【语法】EAT_ERROR_CODE eat_del_callback(n8_t *key);
【描述】无
【参数】
参数 | 取值范围 | 输入/输出 | 描述 |
---|---|---|---|
key | — | 输入 | 指明要删除的注册数据 |
【返回值】
返回值 | 含义 | 描述 |
---|---|---|
EEC_OK | 成功 | — |
EEC_ERROR | 失败 | — |
发送透传数据
【目的】EAT发送透传数据
【语法】EAT_ERROR_CODE eat_transparent(u8_t *data, u32_t lent);
【描述】无
【参数】
参数 | 取值范围 | 输入/输出 | 描述 |
---|---|---|---|
data | — | 输入 | 要透传的数据 |
lent | 0—1500 | 输入 | 透传数据的长度 |
【返回值】
返回值 | 含义 | 描述 |
---|---|---|
EEC_OK | 成功 | — |
EEC_ERROR | 失败 | — |
解析提取数据
【目的】从指定字符串中解析提取数据
【语法】n8_t parse(n8_t b, n8_t *f, ...);
【描述】无
【参数】
参数 | 取值范围 | 输入/输出 | 描述 |
---|---|---|---|
b | — | 输入 | 指定解析字符串 |
f | — | 输入 | 解析参量 |