ESP8266开发中的流水账

本文档介绍了ESP8266开发过程中遇到的各种实际问题及其解决方案,包括开发环境搭建、省电模式调整、异常重启处理、GPIO中断实现及固件烧录技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ESP8266开发中的流水账

1、开发环境

Windows下推荐使用AI-Thinker打包的Eclipse开发环境,直接下载后几本不用配置就可以使用了。同时,一旦ESPRESSIF有了新的SDK,更新项目到新SDK也很方便。
使用时,需要:
(1)、在SDK文件夹中建立app目录
(2)、把 examples/IoT_Demo下的所有内容复制到app目录下
(3)、将driver_lib下的文件复制到app目录下(这一步不一定要做,视app目录下是否有驱动决定)
(4)、删除SDK目录下的driver_lib目录【注意:如果不删除,则会导致编译时出错】

2、省电模式

SDK中默认开启省电模式,默认的模式为modem-sleep模式。如果不关闭该模式,则有可能导致ESP8266无法接收来自服务器的数据(例如,不能接收广播消息、丢包率飙升等)。但该省电模式不影响ESP8266发送数据。可使用wifi_set_sleep_type(sleep_type)关闭省电模式。sleep_type定义如下:

enum sleep_type {
NONE_SLEEP_T = 0;
LIGHT_SLEEP_T,
MODEM_SLEEP_T
};

3、莫名其妙的重启

有时候会出现一些莫名其妙的重启现象,且很难定位到错误发生的位置。通过查看ESP8266自己输出的LOG可以看到,多数情况下都是看门狗引起的复位。所以,在某个项目中,采用了关闭软件看门狗,启动一个定时器手动喂狗的方式解决了这个问题。

4、有关GPIO的中断

ESP8266的GPIO中断与AVR或51之类的不同,无论哪个GPIO中断都会进入相同的ISR,然后需要由用户自己在ISR中读取相应的寄存器判断到底是哪个脚中断了。

5、关于烧写固件

固件的烧写地址如下所示。
尤其注意,对于不同容量的 FLASH ,esp_init_data_default.bin 和 blank.bin 烧写的地址不同!!!
这里写图片描述
这里写图片描述
注意:每次升级SDK或创建新项目后,应当先检查makefile是否正确配置了所选的FLASH大小等参数。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值