網上有很多關于移動pos機操作,小白玩STM32天氣助手系列的知識,也有很多人為大家解答關于移動pos機操作的問題,今天pos機之家(www.chemsa.cn)為大家整理了關于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
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機操作的知識,希望能夠幫助到大家!
