FreeRTOS编程,类似TCP三次握手、超时检测以及自动重发机制的通信任务该如何设计
我的设备的USART1和一个小模块进行通信,但是通信之前需要握手,过程如下:
第一步: 我的设备先定时(定时200毫秒时间,时间不需要非常准确)给小模块发送握手请求报文A
设备正常收到小模块的应答报文后,跳转到第二步;否则重复发送请求报文A
第二步: 我的设备先定时(定时200毫秒时间,时间不需要非常准确)给小模块发送握手请求报文B
设备正常收到小模块的应答报文后,跳转到第三步;
否则重复发送请求报文B,如果自动重发次数超过3,则跳转到第一步,重新发送握手请求报文A。
第三步: 我的设备开始定时(定时500毫秒时间,时间不需要非常准确)给小模块发送请求报文C。
请求报文C中包含要发送的数据从USART2通信和USART3通信以及其它任务中读取。
如果长时间(假如1分钟,时间不需要非常准确)没有收到小模块的应答报文(心跳包报文),则跳转到第一步,重新发送握手请求报文A。
请问:我该如何设计和规划通信任务?