操作直达:?
官方手册电路(注意uno的tx接txd!)
连接步骤总结
忙中偷闲瞥了眼旁边的零件盒,一块闲置正点原子esp8266模块闯入了我的视线。这一刻起,我产生了一个大胆的想法——把atk-esp8266上面的esp12f拆下来,造个天气时钟!
身边没有现成的usb转ttl模块,脑海中灵光一闪,不是有人用树莓派给cc2530刷固件吗,以此类推,那arduino uno r3岂不是🤔。。。我伸手拿来一块unor3,目光扫了下上面的一块长条芯片,卧槽?!ch340g!而且r3右下角还有tx和rx,那可太好了!
打开百度搜索arduino刷esp12f,清一色用arduino ide刷esp01s的教程。。。要他有何用😅。。。然后试了试搜uno刷esp,翻啊翻,卧槽还真有!找着了用uno刷esp01s的教程,虽然和我这个esp12f没有直接关系,但很接近了!
需要注意的是,用arduino uno来刷时,唯一不一样的是txd要对应tx,rxd对应rx。另外arduino要初始化一下!
//arduino初始化代码,arduino ide开发板项记得选arduino uno
void setup() {
// put your setup code here, to run once:
pinMode(0,INPUT_PULLUP);
pinMode(1,INPUT_PULLUP);
}
void loop() {
// put your main code here, to run repeatedly:
}
我按教程操作后发现arduino ide提示连接失败。。。?仔细看了看,教程上用到了tx,rx,vcc,gnd,gpio0,en,rst,我这个也是如此,又再看了下esp官方使用手册,卧槽!还有个gpio15没接地!于是我给gpio15做了下拉!然后再试了试上传,诶!居然成了!ide输出显示在上传走百分比!刷完了提示复位,于是rst接了下地,卧槽!esp12f它跑起来了!!!
ps.这是因为网上的教程大多数是像esp01s这种自带上下拉的,而esp12f没有自带上下拉,所以一定要手动接上!
官方手册电路(注意uno的tx接txd!)
另外突然想起有个刷bios的ch341土豪金编程器,拿来试了试,发现也是可以用的,就是注意txd要对应rx,rxd对应tx,而且上传前一定要给esp的rst短暂置零。
连接步骤总结
总结一下,esp12f与esp01s相比,12f没有自带上下拉,所以除了给它供电,一定要把上下拉安排上,缺一处都不行。即按上面官方手册里的电路来接线(注意uno的rx对应esp的rxd,txd对应tx;usb to ttl则可按官方手册来接),电阻可选4.7k(我对rst做了上拉,防止置零时短路,另外对goio15下拉也用了电阻),上传固件时,gpio0置零,对于普通usb转ttl来说rst短暂置零复位(uno会自识别,所以uno可直接刷),提示上传成功后将gpio0悬空,然后将rst短暂置零复位esp就可以运行了!
ps.至于想试试但不知道刷什么固件的童鞋,可用arduino ide,也可用vscode(vscode编译速度可以起飞),开发板选generic esp8266,推荐选择实例>esp8266>blink,刷成功esp12f上面的蓝灯会变成呼吸灯。注意选对com端口,uno和usb转ttl模块可能会不一样!
vscode和arduino ide都可以刷,选择generic esp8266即可
对于arduino uno r3:
esp12f <-------> uno r3
TXD <---> TX(注意和官方手册是相反的!若反接则会提示找不到开发板!)
RXD <---> RX
GPIO0 <---> 上传时置零,平时工作时悬空
GPIO15 <---> 下拉
GND <---> GND
VCC <---> 3.3v(esp12f耐压3.6v!超压必烧!)
EN <---> 3.3v
RST <---> 上拉,可直接上传,下载完再短暂置零来复位
对于bios土豪金编程器(普通usb转ttl):
esp12f <-------> usb to ttl
TXD <---> RX
RXD <---> TX
GPIO0 <---> 上传时置零,平时工作时悬空
GPIO15 <---> 下拉
GND <---> GND
VCC <---> 3.3v(esp12f耐压3.6v!超压必烧!)
EN <---> 3.3v
RST <---> 上拉,上传时短暂置零来复位
mangonier首发,未经允许不得转载!
完结撒花😄
|