基于FreeRTOS的嵌入式代码设计技术问询:如何实现支持MQTT、同步TCP、异步TCP三种连接的故障处理及多步骤操作适配
基于FreeRTOS的嵌入式代码设计技术问询:如何实现支持MQTT、同步TCP、异步TCP三种连接的故障处理及多步骤操作适配
嘿,各位嵌入式开发的大佬们,我最近在做基于FreeRTOS的项目时卡壳了,想请教下大家的经验!我们的系统是跑在FreeRTOS上的,服务器会通过三种不同的通信方式给设备下发操作请求——MQTT、同步TCP、异步TCP,而且有些操作本身包含好几个执行步骤和状态变化。
就拿其中一个具体的操作场景来说:
- 服务器下发操作请求,要求设备上传最近的1000条日志
- 设备先给服务器回复一个应用层的ACK,确认已经收到这个请求
- 设备从本地文件系统里读取对应的日志数据
- 设备把读取到的日志发送给服务器
(原本的流程内容到这里截断了,不过我的核心困惑是)现在我完全摸不准该怎么针对这三种不同的连接通道做合理的故障处理——比如连接突然中断、请求超时、发送失败这些情况;还有怎么适配这类多步骤操作的状态管理:比如如果在读取日志的环节出了错,该怎么给服务器反馈?不同通道的重试逻辑该怎么设计才能既满足各自的特性,又能复用部分代码?
有没有大佬能给我分享下这类场景下的代码设计思路或者实际的实践方案呀?
内容来源于stack exchange
相关产品推荐
相关产品推荐

