用UNO R3给esp12f刷固件(无需usb to ttl小板)

操作直达: 

官方手册电路(注意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!)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbWFuZ29uaWVy,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbWFuZ29uaWVy,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbWFuZ29uaWVy,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbWFuZ29uaWVy,size_20,color_FFFFFF,t_70,g_se,x_16

另外突然想起有个刷bios的ch341土豪金编程器,拿来试了试,发现也是可以用的,就是注意txd要对应rx,rxd对应tx,而且上传前一定要给esp的rst短暂置零

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbWFuZ29uaWVy,size_20,color_FFFFFF,t_70,g_se,x_16

连接步骤总结

总结一下,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首发,未经允许不得转载!

完结撒花😄

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值