您尚未登录。

楼主 #1 2018-04-18 19:15:17

LAQ
会员
注册时间: 2017-09-20
已发帖子: 38
积分: 38

ESP32的GPIO配置

为什么我把开发板的ESP32的GPIO7配置成output的时候,烧写完重启系统后,串口一直报:
rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
Falling back to built-in command interpreter.
OK
>ets Jun  8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0008,len:8
load:0x3fff0010,len:4404
load:0x40078000,len:11072
ho 0 tail 12 room 4
load:0x40080000,len:252

请问大神这是什么原因呢?然后试了几个IO。发现从IO6到IO11都会有类似的问题,是不是系统默认这个几个IO是用来配成SD卡的呢?

离线

#2 2018-04-18 19:18:47

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: ESP32的GPIO配置

flash read error

是不是影响到了读flash?





离线

楼主 #3 2018-04-18 19:25:12

LAQ
会员
注册时间: 2017-09-20
已发帖子: 38
积分: 38

Re: ESP32的GPIO配置

我是在网上买开发板的,你手上有开发板的话,可以配来试下,应该没有影响到都flash

离线

#4 2018-04-18 19:28:46

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: ESP32的GPIO配置

把修改部分的代码贴上来看看。





离线

楼主 #5 2018-04-18 19:36:03

LAQ
会员
注册时间: 2017-09-20
已发帖子: 38
积分: 38

Re: ESP32的GPIO配置

#define TFT_LCD_DC       10     //数据/指令连接
#define TFT_LCD_CS       11     //片选
#define TFT_LCD_RESET    9     //复位连接
#define TFT_LCD_SDA      7     //串行数据连接
#define TFT_LCD_SCL      6     //串行时钟连接

#define TFT_LCD_PIN_SEL  ((1<<TFT_LCD_SCL) | (1<<TFT_LCD_SDA) | (1<<TFT_LCD_RESET)| (1<<TFT_LCD_DC) | (1<<TFT_LCD_CS))


void lcd_gpio_config(void)
{
    gpio_config_t io_conf;
    //disable interrupt
    io_conf.intr_type = GPIO_PIN_INTR_DISABLE;
    //set as output mode
    io_conf.mode = GPIO_MODE_OUTPUT;
    //bit mask of the pins that you want to set,e.g.GPIO18/19
    io_conf.pin_bit_mask = TFT_LCD_PIN_SEL;
    //disable pull-down mode
    io_conf.pull_down_en = 0;
    //disable pull-up mode
    io_conf.pull_up_en = 1;
    //configure GPIO with the given settings
    gpio_config(&io_conf);
}

离线

#6 2018-04-18 19:55:55

ESP32
管理员
注册时间: 2017-09-06
已发帖子: 4
积分: 4

Re: ESP32的GPIO配置

把引脚 TFT_LCD_PIN_SEL   定义缩到一个试一试

离线

楼主 #7 2018-04-19 08:05:18

LAQ
会员
注册时间: 2017-09-20
已发帖子: 38
积分: 38

Re: ESP32的GPIO配置

我单个配置了,还是不行的

离线

#8 2018-04-19 08:17:24

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: ESP32的GPIO配置

如果把调用这个函数 lcd_gpio_config() 注释起来, 还会出现吗?

离线

#9 2018-04-19 08:19:57

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: ESP32的GPIO配置

https://github.com/espressif/esp-idf/issues/1132

有可能是ESP-IDF自己携带的bug

Several issues related to restart process and clock switching have been fixed in abacf8d. Please update ESP-IDF and give it a try.
在abacf8d中已经修复了几个与重启进程和时钟切换相关的问题。 请更新ESP-IDF并尝试一下。


你的版本是多少?





离线

楼主 #10 2018-04-19 09:33:44

LAQ
会员
注册时间: 2017-09-20
已发帖子: 38
积分: 38

Re: ESP32的GPIO配置

在ESP32论坛上面看到这个:

Ah, it doesn't say GPIO12, but rather MTDI under the strapping pins section, so I didn't get it before.

So, in my next revision of my board it should avoid using these pins then;

- GPIO0, GPIO2, GPIO5, GPIO12 and GPIO15 (because they are strapping pins)
- GPIO6, GPIO7, GPIO8, GPIO9, GPIO10 and GPIO11 (because they are used by SPI-Flash)
- GPIO34, GPIO35, GPIO36, GPIO37, GPIO38 and GPIO39 (can only be inputs)

离线

#11 2018-04-19 09:42:46

沉鱼
管理员
注册时间: 2017-09-06
已发帖子: 161
积分: 161

Re: ESP32的GPIO配置

翻译了一下


啊,它并没有说GPIO12,而是MTDI在捆扎销部分下,所以我没有得到它。

所以,在我的电路板的下一版本中,应该避免使用这些引脚;

没看明白, 哪位解释一下。

离线

#12 2018-04-19 14:53:17

lcfmax
会员
注册时间: 2018-04-13
已发帖子: 324
积分: 267.5

Re: ESP32的GPIO配置

也要看看开发板这个IO有没有被其他硬件电路占用引起冲突

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn