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大小等参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)