历史上的今天
今天是:2024年10月07日(星期一)
2018年10月07日 | 基于STM32的队列与栈
2018-10-07 来源:eefocus
使用ESP8266接收云端传输数据,云端下发数据可能为好几组数据同时下发,而下位机处理只能单个依次进行,因此需要建立一个缓冲数组,接收云端数据,然后一个个依次处理-->队列。
队列:
顺序队列:建立顺序队列结构必须为其静态分配或动态申请一片连续的存储空间,并设置两个指针进行管理。一个是队头指针front,它指向队头元素;另一个是队尾指针rear,它指向下一个入队元素的存储位置
数据结构之顺序队列(C实现)
循环队列:基于stm32串口环形缓冲队列处理机制—入门级(单字节)
栈:https://jingyan.baidu.com/article/6c67b1d6a09f9a2786bb1e4a.html
这里选用循环队列,因为下发处理数据为双字节,需建立二维数组存储
队列定义:


队列初始化:

入队:

出队:

定时器处理:

出队数据处理:

根据测试ESP8266和阿里云下发数据响应时间最小不能小于200ms否则ESP8266串口接收处理数据会丢失。
上一篇:STM32学习之GPIO
史海拾趣
|
用89C2051、24C02设计程序,达到下列功能:(最好能用C51语言设计) 89S2051接受两个按键的控制信号进行增减计数,并在数码管显示0、1、2、3、4、5、6、7、8、9、A、B、C|、D、E、F共16种状态。 同时输出控制信号0~16的二进制步进数值(D1~D4)给 ...… 查看全部问答> |
|
目前在做VxWorks的应用程序代码移植,从5.4到6.5,在5.4的代码使用了ifLib库里的函数,如ifunit()、ifAddrGet()等;而在VxWorks6.5中,ifLib库已经没用,请问是用别的库来代替?若是,可否有针对性的对ifunit()做个移植的解释?谢谢!… 查看全部问答> |
|
C#写的MMI程序不能在CE里运行。在XP下双击该程序,运行正常,可拷到CE下却不能运行,什么也不提示。可是在.net studio中下载到CE中,却可以调试并正常显示。 请问,是不是PB生成bin时,什么组建没加进去? 其中,.net compact framework1.0已经 ...… 查看全部问答> |
|
在WINCE6.0上使用附带的WEB服务器,能够访问htm文件。但是不能打开ASP文件。错误是501/505。不明白是怎么回事。 望有经验者指导一下。… 查看全部问答> |
|
如何将一个wince应用程序通过pc机下载到wince平台中,通自已写的开发的程序进行下载,而不是通过开发工具下载。下载程序与cdtk类似(将exe或dll下载到wince平台中),请各位大虾指点该下载程序的开发思路。 … 查看全部问答> |
|
请问谁有MSG710芯片驱动(最好是linux下面的)的,现在正在做模拟屏的驱动,第一次做芯片驱动又比较急,不知道该怎么下手,想要一份参考一下。谢谢。 luogk@magliving.com … 查看全部问答> |




