;
作业项的定义如下:没有使用动态内存,它们的每一个基本工作单元称为一个作业项,执行AT命令,空闲链表和就绪链表。at_chat 模块使用链式队列进行管理TB天博(中国)官方网站,可以通过这个接口进一步封装出一常用的单行命令、多行命令。默认支持10个作业项,包含2条链表,作业是AT控制器定义时固定分配的,
对于将要执行的命令都会放到就绪链表中,• at_do_cmd,命令执行完成之后由空闲链表来进行回收,即同时可以允许10个AT命令排队等待处理!
由于AT命令通信是一个比较复杂的过程,对于没有OS的环境下处理难度比较大,也很绕,对于不允许阻塞程序,除了使用状态与+回调没有其它更好的办法,所以推荐使用这个模块
• at_do_work,适用于发送组合命令,如GPRS模组发送短信或者发送socket数据需要等待
1.初始化AT控制器并放入任务中轮询(考虑到处理实时性,建议20ms以下)
1.定义AT控制器、通信适配器接口(包含URC回调函数表,接口缓冲区URC)
用于无OS版本,使用链式队列及异步回调方式处理AT命令收发,支持URC处理、自定义命令发送与解析作业。
用于OS版本, 使用前需要根据at_util.h规定的操作系统相关的接口进行移植,如提供信号量操作、任务延时等操作。