ESP32通过UART串口使用AT指令

ESP32是乐鑫公司生产的物联网芯片内部集成了WIFI和蓝牙的功能,无论是运行速度还是片上资源,都非常强大。和ESP8266一样,安信可公司对ESP32这个芯片进行了模组封装,以模块的形式和大家见面。

常见的有ESP32S,ESP32-WROOM-32、ESP32-A1S。

它既可以自己做CPU,成为一块板子的核心,也能做为辅助设备,协助单片机或者其它处理器,通过UART串口使用AT指令进行相关操作。AT指令的使用也是非常方便!

这里以ESP32-S为例,给大家说下如何进行AT指令的测试。首先找到该模块的引脚分布图:

如图所示,包括EP管脚在内,它一共有39个管脚,最明显的串口是UART0。此时,如果该模块已经接在底板上,芯片内烧录的是出厂默认的固件,串口接到电脑上,波特率115200,上电后,UART0会打印ESP32上电初始化时的LOG信息,内容如下:

看到这个界面,说明你的ESP32已经启动成功了。如果这个时候你通过UART0测试AT指令,你会发现根本没有反应。

为什么?

因为ESP32-S的出厂默认固件中,UART0只用来打印LOG信息,不接受AT指令。如果要使用AT指令的话,需要使用ESP32的UART1。这组串口在ESP32的管脚描述里并没有明显的体现出来,需要通过查阅资料才能找到。

如图所示,UART1在ESP32的GPIO16和17上。连接串口到电脑上,波特率为115200,上电,会打印信息:ready

纠正:这里纠正一下,上面的GPIO16和17应该是UART2,当时资料整理的比较着急,写错了。

然后电脑端发送测试指令:AT+回车。ESP32回复:OK

如此,说明ESP32的AT指令没有问题,测试成功。

《ESP32通过UART串口使用AT指令》有9条评论

    • UART1默认映射在了ESP32S的SD2和SD3(序号(非管脚)17、18,),外接flash去了,所以无法直接使用。

      回复

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据