|
你好,
请看宠物屋mcu的例子(https://github.com/gizwits/gokit-mcu),这个函数:SendToUart
就是你提到的”MCU这边是直接for循环3次,发等发等发等,其中有一次收到了就退出循环。”
这个函数是有检测MCU发送之后wifi模组过来的回应的,如:
memcpy(&recv_commonCmd, uart_buf, sizeof(pro_commonCmd)); //把wifi模组过来的数据放到缓存:recv_commonCmd
//只有当sn和ACK(recv_commonCmd.head_part.cmd )均配对时,才表明发送成功;
if((send_headPart.cmd == CMD_SEND_MODULE_P0 && recv_commonCmd.head_part.cmd == CMD_SEND_MODULE_P0_ACK) &&
(send_headPart.sn == recv_commonCmd.head_part.sn)) break;
只有sn和ACK匹配,才被认为mcu发送成功!
|
|