目录

工欲善其事

实践出真知

活跃标签: linux java mysql 待分类 js springboot win10 电路 vue macOS nginx esp32 windows git docker idea maven esp8266 python Arduino

存档:

[ ESP ] 聊一聊万恶的esp家族中ESP-12F的管脚定义

平常DIY中,很多人都在使用ESP kits,常见的是开发板 ESP-8266,ESP32,NODEMCU等。
如果大家用的都很多,估计不会翻车。但我在画板子的时候,还是出了问题。经过多次验证,终于明白了官方所谓的管脚定义。所以,这篇文章就当个笔记,记录下一些心得体会。

0x01:首先,管脚定义:

来,一个一个说:
这里先说一个概念:pin,pin指的是芯片管脚号,不是名字,是芯片管脚脚序。在ESP-12F官方定义中,如下图。芯片右侧最上面那个脚是pin 1,然后往下依次到PIN8,然后最下面一排不算!!!不算!!!跳过!!从最左侧的最下面开始算,这个是PIN9!!依次往上累加,左侧最上为PIN16。

b875dc63f7c662eb309ba98da6739c61.jpg

好了。了解了Pin,我们再来看这一张图:
管角定义.gif

这张图里面的英文标识及其GPIO标识是芯片管脚的功能名。其与管脚序号的对应关系及管脚功能是:

e619f66aabef1b80889d549e37282558.jpg

好的,接下来,我们讨论下在Arduino IDE中如何使用这些对应的IO口。
因为大家都用成熟的开发板,很少用最小电路来DIY,写程序。所以大家应该对这张图特别熟悉:

大家更多的是在Arduino IDE中用D0,D1,D2等管脚名字来使用它,比如:pinMode(D1, INPUT)
而同样,针对esp-12F芯片,他也可以对应到这种标号方式,如下图:

3063b7211d409b3dc611aa6db6915232.jpg

所以,使用esp-12F的时候,你是可以根据对应的管脚名字找到其对应的D字标号,在IDE中进行编程的,当然,如果你懒得对应,当然也支持使用他自己的管脚名来写,这里的管脚名指的就是GPIO后面的数字。比如我们想初始化GPIO5, 你可以这样写:pinMode(5, INPUT),同样也可以这样写pinMode(D1, INPUT). 这两种写法,在IDE中是一样的效果。如果你想使用Dx或者Ax来写,D和A是绝对不可以省略的。

0x02:GPIO的默认设置。
首先,ESP-12F中可以用的IO口只有9个。IO9,IO10是不可用的!!!那只是个摆设!!!
然后剩下的9个可用口中,
IO15/D8/pin10,它已经强制下拉到地,无论什么时候它都是低电平输入,这个口也是无法使用的,当然片选的时候可以用下。
ADC/A0/PIN2,这个脚是唯一的模拟输入口,支持10bit分辨率
GPIO0/D3/PIN12,这个脚是上载软件烧写时需要拉低的,正常使用时,需要拉高或者悬空,所以比较难用。
最万恶的是GPIO2/D4/PIN11,这个脚是系统默认的串口发送!如果你不对其进行初始化定义的话,你会发现,它一直在输出系统日志。。。有时候即便你定义了,他还在发日志!!靠!!!慎用!!但是它同时又是I2C的SDA口,真是见鬼了,我发现用I2C的时候,这个SDA会很乖的履行职责。所以推荐使用它做日志输出或者I2C的SDA.
GPIO14/D5/PIN5,这是硬件时钟口,一般是SPI的CLK或者是I2C的SCL.
剩下的就没有什么很特殊的了。目前我测试了下,在管脚不外加上拉和下拉电阻的时候,把数字GPIO口都做输入初始化,除了GPIO16和GPIO15(运行工况下必须下拉),是低电平输入外,其他都是高电平。
还有就是IO的驱动能力都有限,不要用去直驱大电流元件。

安信可常见模块对比

abd954a7833e4d708ba49eae8e52ad30.png

417331bb42f442ff9a3080c655705314.png

ESP-12F参数

4db160e5c6634f2cbe11104dec59a9dd.png

ESP-12F引脚

2f0f11a16bc2474684ae8b4e6876086b.png

ESP-12F推荐电路

669c13f09db44d13b8fc5395c859ada5.png

ESP-12F内部原理图

42d3083a3e3a4522bead637ccd034edb.png

可以看到板载的LED被连到了GPIO2
内部晶振频率是26MHz
SPI FLASH型号是W25Q32,4MB,支持4线SPI。
复位引脚RST内部有12K电阻的上拉。


标题:[ ESP ] 聊一聊万恶的esp家族中ESP-12F的管脚定义
作者:llilei
地址:http://solo.llilei.work/articles/2023/03/27/1679891103940.html