RT-Thread AT组件添加自定义URC功能

这里需要在RT-Thread的AT组件中,添加自定义URC命令的解析功能,比如我这里是新短信到来的通知处理,首先就需要编写一个URC的响应函数urc_cmti_func,然后根据URC指令的前缀和结束符,修改urc_table以支持该命令的解析路由即可。

extern rt_mailbox_t mb_sms;
static void urc_cmti_func(struct at_client *client, const char *data, rt_size_t size)
{
    RT_ASSERT(data && size);

    char device[32];
    int index=0;
    LOG_I("URC data : %.*s", size, data);
    sscanf(data,"+CMTI: \"%[A-Z]\",%d",device,&index);
    LOG_D("device=>%s,index=>%d\n",device,index);

    rt_mb_send(mb_sms, index);

}

static const struct at_urc urc_table[] =
{
    {"SEND OK",     "\r\n",                 urc_send_func},
    {"SEND FAIL",   "\r\n",                 urc_send_func},
    {"+QIOPEN:",    "\r\n",                 urc_connect_func},
    {"+QIURC:",     "\r\n",                 urc_qiurc_func},
    {"+CMTI:",     "\r\n",                 urc_cmti_func},
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值