真的是一个BUG, 我在这里纠结了好一阵, 多线程的想法都出来了 |
Snail 发表于 2015-4-16 14:13 哦哦,原来如此.... |
疯狂者 发表于 2015-4-16 11:57 你好, 这个是中断处理函数,这段逻辑上是有问题,后续gokit mcu的源码我们也会做一次完善。 感谢发现! |
memcpy(&recv_commonCmd, uart_buf, sizeof(pro_commonCmd)); //uart_buf就是mcu接收到wifi串口过来的数据(wifi模组的回应),这里放到缓存,下面下一步就是检测了。 |
Snail 发表于 2015-4-16 11:23 是的是的,看到了..谢谢! |
你好, 请看宠物屋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发送成功! |
好吧,我错了,刚发完,就看到了... |
版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )