百问网--七天物联网课程学习笔记(7)

问题1:在写WIFI模块测试程序的时候,发AT命令没反应

原因分析:使用串口输出信息,命令发送是没有问题的,命令接收也是没有问题的,使用上位机发送命令就有反应,单片机发送命令WIFI模块就是不理睬。然后发现是wifi模块一上电需要自己初始化一段时间,初始化的时候是不会理睬其他命令的

解决方法:在上电之后先延时一段时间,等WIFI模块自己初始化好,再发命令就好使了。

  

问题2:在发送完数据之后,需要判断是否发送成功,WIFI模块会返回一个OK信息。调试的时候发现,明明收到反馈字符串里面有需要的返回消息“OK”,但是使用strstr函数找不出来。

原因分析:strstr函数比较时,当源字符串中有‘\0’时,会自动截止,不会再看后面的字符串。因为没有关闭回显功能,所以回显有很多字符串,里面可能会出现‘\0’,导致比较失败

解决方法,关闭回显,只接收应答信息。

问题3:MQTT任务访问按键消息队列时出错误,系统跳转到hard fault(没有空闲任务也会进hard fault)

原因分析:MQTT任务的优先级太高,首先执行,但是按键队列是是在按键任务里面创建的,也就是说再创建队列之前,访问了队列,访问的是野指针。

解决方法:使用指针还是要判空。

问题4:任务创建失败。

原因分析:给FreeRTOS分配的堆太小(5k)导致创建任务失败。

解决方法:把空间加大到10k。

问题5:WIFI连接上,TCP连接不上

防火墙也关了,本机的端口也打开了。

上网搜索,发现是虚拟机的影响,因为之前学linux的时候安装过虚拟机。

解决方法:把虚拟机的两个网络禁用就好了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值