单片机根据应答发送AT指令控制ESP8266连接服务器—Station模式

单片机根据ESP8266的应答发送AT指令(Station模式)

在中断处理函数中对接收到的应答信息进行判断

写好程序烧写进单片机里后,按照程序理想的效果,接线应该是ESP8266的TX接单片机的RX,RX接单片机的TX,单片机自动发送AT指令给ESP8266,ESP8266把应答从TX发送给单片机,单片机根据应答发送下一条AT指令,接线方法如下

在这里插入图片描述

但这种测试不严谨,提前打开服务器后,单片机上电,此时ESP8266连接情况对于我们来说完全是透明的,是否连上网络我们是不清楚的,有可能会联网失败,只能等待服务器最后有没有数据发送上来,所以这不易测试程序的正确性

所以还需要用到白盒测试,先将ESP8266的TX口(应答信息)接到CH340的RX,340再接电脑的USB,用电脑的串口助手查看ESP8266的应答信息

此时应答信息发送到电脑的串口助手上了,可用安信可串口助手查看

那单片机怎么接收应答信息来判断是否发送下一个AT指令呢?可以将单片机的供电接到电脑的另一个USB口,通过STC-ISP的串口模拟发送ESP8266的应答给单片机,即将在安信可助手上收到的应答信息复制到STC-ISP串口助手上再发送回给单片机,单片机就可根据收到的应答信息发送下一条AT指令给ESP8266

在这里插入图片描述

虽然这种测试方法可以测试程序逻辑,看单片机是否会根据应答发送下一条AT指令,但这种测试方法需要手动发送应答信息,而且有时候手动发送应答程序可以顺利执行并连上服务器,换成单片机与ESP8266直接相连却等待很久都没有连上服务器,那有没有办法不用手动发送应答信息又能在串口助手上看到ESP8266与单片机之间的通信情况呢?

解决办法是:用一个分线器,或者说用一根杜邦线然后另一头分出两根线即可

这里选择用一根杜邦线,然后中间剪开,把铜线拉出来,用另外两根同样拉出铜线的杜邦线,把铜线端缠绕在一起然后用绝缘胶带包起来,这样就得到了一根简易的分线

在这里插入图片描述

然后接线就是:ESP8266的TX端经过分线,分别接到单片机的RX和CH340的RX,这样ESP8266发送的应答信息就可以同时被单片机和电脑串口助手接收到,人眼就可通过串口助手观察ESP8266与单片机的通行情况

在这里插入图片描述

接线接好后,ESP8266重启,单片机上电执行,就能清除看到单片机发送的AT指令以及ESP8266的应答,不用手动,后续代码优化也可以用这种方式查看单片机与ESP8266的通信情况

在这里插入图片描述

(代码后续传Gitee,地址:https://gitee.com/ONE_Day168)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值