• ESP8266与单片机通信共地问题


    ESP8266与单片机通信共地问题

    1.共地:

    在数字电路中,要判断一个电平信号的高低,就需要一个标准来判断,这个判断标准就是0电平(也叫地),要把所有IC芯片的地连在一起,这就是共地。

    在模拟电路中,也需要参照一个电平来表示信号,但是模拟电路对地线没有什么要求,只要有驱动电源就行了。

    在实际中,各处的零电位实际上是不太相同的,将地线接在一起是为了统一零电位,以保证各处的电压,即电势差有统一的关系。

    通常,在数字电路和模拟电路合用时,工业上规定只能有一个共地。这在一般数字电路的书中能找到。

    总之一句话,要正常工作必须保证所有模块共地

    2.开发板与ESP8266模块接线:

    之前ESP8266的接线方法虽然能让整体模块进行工作,但开发板需要通过电脑与ESP8266、CH340模块进行共地,离开电脑这个共地介质就没法通信,比如想让单独供电的智能小车搭载ESP8266模块,并通过客户端控制小车启动,此时单片机的电源就不能是电脑USB线了

    如果ESP8266模块有工作电压为5V的型号的话,就可以用开发板上的5V和GND为其供电,TX接RX,RX接TX后就能直接与开发板通信了,不幸的是,手上的ESP8266模块是3.3V的,所以不能用开发板的供电(开发板只有5V引脚),虽然看别人也照样接到5V上工作,但不提倡,怕工作久了把芯片烧了,所以ESP8266模块需要额外供电

    经过尝试,不通过电脑共地的接线方法如下:

    在这里插入图片描述

    这种接线方法时电脑可以查看ESP8266与开发板的通信情况,但并没有给ESP8266供电,也没有给开发板供电,开发板和ESP8266都是独立供电,但它们的GND都是接在一起的,可以用面包板来做桥梁,将它们接在一起,这样才能保证基准都是一样的,才能正常通信;

    数据流向:

    TX与RX的的数据流向如图所示,单片机的发送的指令是不会到达CH340的,TX的数据始终流向RX

    通信情况:

    上电时,单片机发送AT指令给到ESP8266,等待ESP8266的应答信息从TX返回给单片机,同时也发送到了CH340的RX上,可在电脑串口上看到应答信息(这里连单片机发送的AT指令也能看到),单片机根据应答发送下一条AT指令,两三个循环后,AP模式下等待客户端的连接,连上后单片机就会不断发送数据到客户端上;在单片机与ESP8266连接的同时,电脑安信可串口助手也可以发送AT指令给ESP8266

    QA:

    单片机的AT指令明明不能通过TX发送到CH340的RX上,那为什么在电脑串口上也能看到这些AT指令呢?

    答:

    因为ESP8266模块将收到的AT指令和应答一并又从TX发送到了CH340的RX上,才能在串口助手上同时看到AT指令和应答;

    即模块将发送过来的指令原封不动的先复述了一遍后接着发送有效恢复,称这种复述为回显,关闭回显(要发送ATE0)后如再次发送AT,则只恢复OK

    想想一开始用串口助手发送AT指令给ESP8266不就是这种情况嘛,如果发送AT指令时不加换行,则ESP8266会把指令原封不动地返回到电脑上,加了换行后,才把指令和应答一起返回;如果把ESP8266模块的TX线拔掉,再通过串口助手发送指令,ESP8266是能收到的,指示灯会闪,发重启AT指令也能正常重启,但重启的指令那些重启后的初始化信息都没法在串口上显示,因为把TX的线拔掉了

    所以在串口上发送的AT指令是进入到ESP8266模块后,再从模块的RX加上应答一起返回到串口助手上的,所以既能看到自己发送的AT指令,也能看到应答

    这就解决了为什么能在串口助手上看到单片机发送的AT指令了,是ESP8266接收了再将指令和应答一起发送回去

    3.不用电脑串口助手查看单片机与ESP8266的通信情况

    不进行查看的话,完全就是单片机与ESP8266之间悄咪咪的通信了,就像它们之间在打电话,我们没法知道它们说了什么

    既然不看通信情况,就不用到CH340了,去掉CH340即可,接线方法如下

    在这里插入图片描述

    在开启单片机电源后,等待单片机与ESP8266之间的通信,等个两三秒,就可以用电脑连上ESP8266的WIFI,然后打开网络调试助手,设置为TCP Client后点击连接,就能连上ESP8266了,如果单片机有写串口发送数据的话,数据就能通过串口给到ESP8266,然后再无线传到客户端上,客户端也能下发信息通过ESP8266给到单片机,控制单片机做一些事情,比如亮个灯啥的

  • 相关阅读:
    Tomcat生产部署多个应用
    裸辞18K外包,面试阿里、字节全都一面挂,哭死.....
    微信小程序订阅消息前后端示例
    Java面试题(每天10题)-------连载(28)
    OpenStack-train版安装之环境准备
    【Flyweight模式】C++设计模式——享元模式
    大数据Flink(九十二):DML:集合操作
    PMD 6.47.0 发布,代码分析器
    Can‘t locate Bio/SeqIO.pm in @INC
    【JavaSE】类和对象
  • 原文地址:https://blog.csdn.net/weixin_46251230/article/details/126245036