收藏官网首页

MCU发给Wifi的指令,不接收回应?

查看数: 13567 | 评论数: 8 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-4-16 10:38

正文摘要:

今天心急先试了一下生成分协议看了下。看到里面有这个: 第一反应MCU这边是直接for循环3次,发等发等发等,其中有一次收到了就退出循环。 但又看到协议里面有指令SN序列码什么的,我觉得MCU应该有缓冲队列来实现 ...

回复

蓝色工程师 发表于 2015-4-20 16:24:35
真的是一个BUG, 我在这里纠结了好一阵, 多线程的想法都出来了
疯狂者 发表于 2015-4-16 15:59:18
Snail 发表于 2015-4-16 14:13
你好,
      这个是中断处理函数,这段逻辑上是有问题,后续gokit mcu的源码我们也会做一次完善。
      ...

哦哦,原来如此....
Snail 发表于 2015-4-16 14:13:20
疯狂者 发表于 2015-4-16 11:57
谢谢,还有啊,请问宠物屋里串口接收这部分....cmd_flag2有什么用呢?

怎么if(cmd_flag2 == 0)然后就 ...

你好,
      这个是中断处理函数,这段逻辑上是有问题,后续gokit mcu的源码我们也会做一次完善。
      感谢发现!
Snail 发表于 2015-4-16 11:28:50
memcpy(&recv_commonCmd, uart_buf, sizeof(pro_commonCmd)); //uart_buf就是mcu接收到wifi串口过来的数据(wifi模组的回应),这里放到缓存,下面下一步就是检测了。
疯狂者 发表于 2015-4-16 11:25:19
Snail 发表于 2015-4-16 11:23
你好,
        请看宠物屋mcu的例子(https://github.com/gizwits/gokit-mcu),这个函数:SendToUart
    ...

是的是的,看到了..谢谢!
Snail 发表于 2015-4-16 11:23:21
你好,
        请看宠物屋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发送成功!
疯狂者 发表于 2015-4-16 11:07:23
好吧,我错了,刚发完,就看到了...
加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表