如何编写应用程序


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

1. 模块化

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

2.模块初始化

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

3.工作逻辑

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


1532705-20190707231100211-1586713324.jpg

转载于:https://www.cnblogs.com/wangjian1226/p/11148757.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值