标签:usart 内存分配 处理 输出 优先 情况下 字符串 网络数 操作
此博文介绍如何将代码移植到STM32单片机上,也是最后一篇关于OneNET的博文。以硬件STM32F103RCT6和ESP8266,系统为FreeRTOS为例。设AT命令使用USART1,ESP8266使用USART2,并且你已经配置好FreeRTOS。如果不会可百度搜索如何移植。下面简单叙述一下移植需要修改或注意的内容:
以下是移植的效果示例(其中+IPD开头的是ESP8266模块接收数据的输出,可以忽略。图中可以发现有的+IPD输出和AT+CIPSEND命令的回显会连在一块,不知道为什么,和淘宝店家交涉她也不知道原因。我仅仅在程序中屏蔽了这种错误情况认为这样的数据无效。但有时会造成上报数据后服务器的回复和AT回显连一块,导致模块以为服务器没有回复而出现超时错误。不过不会引起模块异常)。按照图的顺序分别是登录流程;FOTA数据下发;北向执行和写操作;北向写操作的Fiddler截图:
经过简单的测试Notify上报数据,在连续上报近一个小时,每1秒上报一次的过程中未出现异常。这说明在这方面程序没有内存泄漏。实际上在VS中已测试过起码在AT输入正常的情况下代码不会有内存泄漏。以下是OneNET平台方面的上报数据记录截图:
最后说明代码中已有的问题和不完善之处。仅供记录,这些代码不会再被更新了。
标签:usart 内存分配 处理 输出 优先 情况下 字符串 网络数 操作
原文地址:https://www.cnblogs.com/mengxiangdu/p/11279751.html