完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
为了方便PCB布局(GPIO16 / PIN 8接近CHIP_PD / PIN 7),我们想知道是否可以将GPIO16连接到nRESET / PIN 32以外的CHIP_PD,以在退出深度睡眠模式时重置芯片。
如果我们将 GPIO16 连接到 nRESER 引脚,一切正常,可以退出深度睡眠并重新启动。同时,如果我们通过外部PIO将CHIP_PD引脚拉低,然后拉高,芯片也可以成功重启。 但是,如果我们将 GPIO16 连接到 CHIP_PD(当然也带有 VCC 的上拉),启动信息将如下所示: " ets 2013 年 1 月 8 日,第一个原因:0,启动模式:(3,6) 未知重置 ets_main.c " Interesting that there is still has a notice of "ets_main.c". 可能是什么原因,有没有办法避免它并成功重新启动?可以共享任何特性数据,包括这两个引脚的时序? |
|
相关推荐
1个回答
|
|
要将GPIO16连接到CHIP_PD以获得深度睡眠模式,您可以按照以下步骤操作:
1. 首先,确保您的ESP8266模块的GPIO16(PIN 8)和CHIP_PD(PIN 7)之间的距离足够近,以便在PCB布局中方便连接。 2. 将GPIO16连接到CHIP_PD。这可以通过在GPIO16和CHIP_PD之间放置一个导线或连接器来实现。同时,确保GPIO16已经连接到VCC,以提供上拉。 3. 在您的代码中,设置GPIO16为输出模式。这可以通过以下代码实现: ```c gpio_pin_config_t pin_conf; pin_conf.pin = GPIO_PIN_16; pin_conf.mode = GPIO_MODE_OUTPUT; pin_conf.pull_down_en = 0; pin_conf.pull_up_en = 1; gpio_config(&pin_conf); ``` 4. 在进入深度睡眠模式之前,将GPIO16设置为低电平,以使CHIP_PD保持低电平。这可以通过以下代码实现: ```c gpio_output_set(1 << GPIO_PIN_16, 0, 0, 0); ``` 5. 进入深度睡眠模式。在ESP8266中,可以使用以下代码进入深度睡眠模式: ```c esp_deep_sleep_start(); ``` 6. 当需要唤醒ESP8266时,将GPIO16设置为高电平,以使CHIP_PD保持高电平。这可以通过以下代码实现: ```c gpio_output_set(0, 1 << GPIO_PIN_16, 0, 0); ``` 7. 检查启动信息,确保ESP8266已成功从深度睡眠模式唤醒。如果启动信息显示未知重置,您可能需要检查GPIO16和CHIP_PD之间的连接,以及代码中的设置。 通过以上步骤,您应该能够将GPIO16连接到CHIP_PD,并在退出深度睡眠模式时重置芯片。请注意,这种方法可能需要根据您的具体硬件和软件环境进行调整。 |
|
|
|
只有小组成员才能发言,加入小组>>
1108 浏览 1 评论
574浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
460浏览 5评论
461浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 23:13 , Processed in 0.794890 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号