ESP-01S 使用 arduino 烧录程序

2024-06-02 11:12

本文主要是介绍ESP-01S 使用 arduino 烧录程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

一、设置 arduino 编辑器

1、文件-首选项-附加开发版管理网址中添加
http://arduino.esp8266.com/stable/package_esp8266com_index.json

image.png

2、工具-开发板管理
搜索 8266 并下载

image.png
)

3、工具-开发板
在 8266 里面选择 Generic ESP8266 Module

4、工具-端口
记得选择对应的端口

二、接线

必须按照下图规定接线(GPIO2 可以不用接),
VCC(3.3V) 先不接

GND 接 GND

TX 接 RX

RX 接 TX

其余的按下表
image.png

三、上传

在usb转串口工具连接到电脑 USB 之前,必须吧 vcc 先断开。
然后把转串口工具连接上 usb,然后上传代码,在下图时候才可插入 VCC

image.png

输出如下则上传代码完毕
image.png

四、运行板子

1、拔掉 USB 转串口工具提供的 3.3v 电压

2、将 GPIO0 引脚插入接入到高电平

3、插入USB 转串口工具提供的 3.3v 电压即可看到串口监视器开始输出了

4、从别的电源模块引用一个稳定的 3.3v 电压(比如 arduino 提供的 3.3v), 否则可能启动板子就报错

5、共地,别的电源的 GND 引脚要和 usb转串口工具的 GDN 引脚接到一起(否则串口工具输出是乱码)

五、测试代码

可以烧录实例程序中的 Blink 案例测试,代码如下

/*ESP8266 Blink by Simon PeterBlink the blue LED on the ESP-01 moduleThis example code is in the public domainThe blue LED on the ESP-01 module is connected to GPIO1(which is also the TXD pin; so we cannot use Serial.print() at the same time)Note that this sketch uses LED_BUILTIN to find the pin with the internal LED
*/void setup() {Serial.begin(9600);pinMode(LED_BUILTIN, OUTPUT);     // Initialize the LED_BUILTIN pin as an output
}// the loop function runs over and over again forever
void loop() {Serial.print("hello \n ");digitalWrite(LED_BUILTIN, LOW);   // Turn the LED on (Note that LOW is the voltage level// but actually the LED is on; this is because// it is active low on the ESP-01)delay(1000);                      // Wait for a seconddigitalWrite(LED_BUILTIN, HIGH);  // Turn the LED off by making the voltage HIGHdelay(5000);                      // Wait for two seconds (to demonstrate the active low LED)
}

烧录完成后 把 arduino 板子的 3.3v 和 GND 连接到 esp01s 板子即可看到 5s 的间隔灯会闪一下

四、常见报错

1、A fatal esptool.py error occurred: Cannot configure port. PermissionError(13, ‘A device attached to the system is not functioning.’, None, 31

驱动问题,下载老版本即可,一般只是 D1 板子在 win11 会出这个问题

下载地址: https://electropeak.com/learn/download/ch341ser-zip/# ,注意:一定要下载这个压缩包这个 ch341ser-zip

注意:重新安装驱动前先关闭 arduino ide

2、A fatal esptool.py error occurred: Cannot configure port, something went wrong. Original message: PermissionError(13, ‘�ܾ����ʡ�’, None, 5)

可能是电脑 usb 插了多个扩展坞冲突了,都拔了试试,排查几天才发现出来的。

一些其他异常

参考:https://links2004.github.io/Arduino/dc/deb/md_esp8266_doc_exception_causes.html

3、ets Jan 8 2013,rst cause:4, boot mode:(3,2)

反正就是一堆这种提示stack>>>
3fffff20: 40226457 d334fe18 4021024c 3ffed430
3fffff30: 3fff256c 00000001 40226496 40210265
3fffff40: 402262a5 3fff2794 3fffff80 3fff1dac
3fffff50: 3ffe0000 3fff256c 3ffef780 40226c94
3fffff60: 3fff2794 3fff1dac 3ffeaf26 402259f7
3fffff70: 3fff1dac 00000014 40225fa2 3fff2794
3fffff80: 3fff1dac 3fffdc80 3fff1e14 3fff0460
3fffff90: 4021d93b 3fff2794 00000000 4020767f
3fffffa0: 40000f49 3fffdab0 3fffdab0 40000f49
<<<stack<<<

也是排查几天才解决…

上传完毕代码后,将 vcc 和 gnd 插入到别的稳定电源,比如 arduino 上面。rx 和 tx 保持不变就可以继续调试串口了。

这篇关于ESP-01S 使用 arduino 烧录程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023801

相关文章

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

Java使用Tesseract-OCR实战教程

《Java使用Tesseract-OCR实战教程》本文介绍了如何在Java中使用Tesseract-OCR进行文本提取,包括Tesseract-OCR的安装、中文训练库的配置、依赖库的引入以及具体的代... 目录Java使用Tesseract-OCRTesseract-OCR安装配置中文训练库引入依赖代码实

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何