码迷,mamicode.com
首页 > 其他好文 > 详细

如何编写应用程序

时间:2019-07-08 00:24:22      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:建立   str   逻辑   http   mqtt   关闭   也有   准备   模块化   


每次要编写嵌入式应用程序的时候总是不知道该如何入手,于是简单的研究了下现在普遍的扫码支付模块的SDK开发结构。

1. 模块化

拿到一个项目需求时,我们需要看下该项目分为几个模块,每个模块之间又是以什么形式连接的。模块化会使程序结构清晰,维护也会方便很多。比如说扫码支付模块就分为三个部分,底层core部分,mqtt功能模块,uart功能模块。分好了模块之后开始入手写程序了。

2.模块初始化

在函数入口写各模块的初始化程序,底层core部分,里面的许多功能底层已经能够初始化好了,我们只要等待消息即可。mqtt模块我们需要建立一个task,该task有四个功能函数,连接,关闭,读,发送。
uart功能模块有两个功能函数,读和写。初始化也就是各种准备工作,每个模块都需要,就不写了。

3.工作逻辑

1.底层自动附着上网络后,会有消息上报,消息的分类用switch函数。在这种情况下,mqtt才可以去连接服务器。连接好后,mqtt线程阻塞等待底层的读消息上报。(也有初始化的时候将读函数当作回调函数传入底层的)。
2.串口收到消息上报时(也有在初始化的时候将读函数当作回调函数传入底层的),一顿处理之后(组协议包),调用mqtt发送接口将数据发送给服务器。
3.mqtt收到服务器发来的消息之后,一顿分析之后(分析协议包),调用uart写函数将数据发送给外设主板,至于外设怎么再操作就不用关系了(外设与uart口之间也有串口协议)。


技术图片

如何编写应用程序

标签:建立   str   逻辑   http   mqtt   关闭   也有   准备   模块化   

原文地址:https://www.cnblogs.com/wangjian1226/p/11148757.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!