网上有很多关于移动pos机操作,小白玩STM32天气助手系列的知识,也有很多人为大家解答关于移动pos机操作的问题,今天pos机之家(www.poszjia.com)为大家整理了关于这方面的知识,让我们一起来看下吧!
本文目录一览:
1、移动pos机操作
移动pos机操作
上个章节已经说过了,主要使用uart2,来跟esp8266来进行通讯,这里主要把相关的操作放在esp8266.h, esp8266.c文件中。
先描述下头文件
UnsolicitedHandler: 主动上报函数指针定义
at_payload_cb_t ; at命令返回内容解析的cb函数
定义了一堆状态,在esp_task_loop里面根据状态进行相关的action。
运行上下文,本想着里面可以放很多NB的信息,结果就放了一个state,context没用到。
发送at命令或者raw数据,然后处理esp返回的数据。resp这里定义的不友好,应该叫tag,返回串里面有tag,认为处理成功。
这里挑一个解释下,其他的类似
esp在发送数据的时候会进入透传模式,写入数据后,会有返回内容。
这里是根据设置的超时时间,按300ms划分,逐次去读串口返回,解析。如果读取到部分解析失败,就rx buffer缓存起来,移动pos准备接受余下的内容。如果找到resp后,继续判断是否有cb,有的话,调用回调函数。有些at命令的返回值内容,需要解析(后面会讲到,查询域名的ip地址)。
所有的核心就是esp8236_task这个函数
主要核心就是一个迷你的状态机。在没连接wifi前失败,不停的reset esp。连接成功了,就请求天气数据,请求成功了,就进入等待周期。
这里要留意下,在最后会处理下esp主动上报的数据
这里如果玩过GPRS模块都知道,模块会有主动上报信息,单片机要根据这里的信息做相应的动作。这里主要补货ready,这样主动给esp复位的时候,stm32不要复位。
处理主动上报代码解释
定义字符串和处理函数结构体
定义一个map,需要处理那些上报数据,添加对应的字符串,以及handler函数。
扫描缓存数据,按换行分割,逐个比较,找到的话,就调用handler。
以上就是关于移动pos机操作,小白玩STM32天气助手系列的知识,后面我们会继续为大家整理关于移动pos机操作的知识,希望能够帮助到大家!
