您尚未登录。

#1 Re: ESP32/ESP8266 » 求解esp-wrover-kit无法烧写 » 2020-07-10 20:38:06

Flashing binaries to serial port COM4 (app at offset 0x10000 )...
esptool.py v2.6
Serial port COM4
Connecting........_
Chip is ESP32D0WDQ5 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 4c:11:ae:df:70:48
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 21296 bytes to 12539...
Wrote 21296 bytes (12539 compressed) at 0x00001000 in 1.1 seconds (effective 153.6 kbit/s)...

A fatal error occurred: Timed out waiting for packet header
make: *** [/d/test3/msys32/home/Administrator/homekit/homekit/esp-idf/components/esptool_py/Makefile.projbuild:63:flash] 错误 2


今天好像不能上传图片了。。 之前的那个问题算是解决了,重装了一次驱动换了一下ttl的连线解决了。 

但是现在有遇到另外一个问题了,明明都连接上了为什么还会烧写失败?

#2 ESP32/ESP8266 » 求解esp-wrover-kit无法烧写 » 2020-06-22 10:12:56

弟弟王
回复: 9

最近换了块esp-wrover-kit玩玩,环境啥的都搭好了,编译也没啥问题。就是make flash的手都按废了硬是没反应。驱动啥的都安装了啊,端口也显示正常。实在找不出还有什么原因了,求各位大神解答。

#3 ESP32/ESP8266 » 请教一下关于esp-homekit-sdk的移植 » 2020-06-17 11:16:24

弟弟王
回复: 0

最近移植了一个别人的homekit的sdk,

我明明用的是我的idf但是编译的时候显示的是他的idf路径是怎么回事?


P{V05`P)28N3GFWKVU5M2~7.png

#6 Re: ESP32/ESP8266 » 以raw流的形式调用了百度语音识别的api,运行出错,求大佬指正,感谢!!! » 2020-06-01 10:14:36

连接的那个函数最后一个参数是2,忘改了。关于raw流的代码开源的太少了。也不知道哪里出错了。

#7 ESP32/ESP8266 » 以raw流的形式调用了百度语音识别的api,运行出错,求大佬指正,感谢!!! » 2020-06-01 10:10:11

弟弟王
回复: 1

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/semphr.h"
#include "freertos/timers.h"
#include "driver/gpio.h"
#include "esp_system.h"
#include "esp_log.h"
#include "board.h"
#include "audio_common.h"
#include "audio_pipeline.h"
#include "mp3_decoder.h"
#include "i2s_stream.h"
#include "raw_stream.h"
#include "filter_resample.h"
#include "esp_wn_iface.h"
#include "esp_wn_models.h"
#include "rec_eng_helper.h"

#include "esp_peripherals.h"
#include "periph_adc_button.h"


#include <sys/time.h>

#include "esp_wifi.h"
#include "nvs_flash.h"
#include "sdkconfig.h"
#include "audio_element.h"
#include "audio_event_iface.h"
#include "http_stream.h"

#include "periph_wifi.h"
#include "esp_http_client.h"
#include "baidu_access_token.h"


#define BAIDU_SR_ENDPOINT "https://vop.baidu.com/server_api"
#define CONFIG_BAIDU_ACCESS_KEY "xxxxxxxxxxxxxxxxxxxxxxx"
#define CONFIG_BAIDU_SECRET_KEY "xxxxxxxxxxxxxxxxxxxxxxxxxx"

static const char *TAG = "example_asr_keywords";
static const char *EVENT_TAG = "asr_event";

static char *baidu_access_token = NULL;
static char request_data[1024];
static char *buff = NULL;

static int lock = 0;

int _http_stream_event_handle(http_stream_event_msg_t *msg)
{
    esp_http_client_handle_t http_client = (esp_http_client_handle_t)msg->http_client;

    if (msg->event_id != HTTP_STREAM_PRE_REQUEST) {
        return ESP_OK;
    }

    if (baidu_access_token == NULL) {
        // Must freed `baidu_access_token` after used
        baidu_access_token = baidu_get_access_token(CONFIG_BAIDU_ACCESS_KEY, CONFIG_BAIDU_SECRET_KEY);
    }

    if (baidu_access_token == NULL) {
        ESP_LOGE(TAG, "Error issuing access token");
        return ESP_FAIL;
    }

    while(1)
    {
        if(lock == 1)
            break;
        sleep(1);
    }

//"http://vop.baidu.com/server_api?dev_pid=8001&cuid=ESP32_HanChenen521&token=24.5af78a8f13afcd9a592624865bbd5eac.2592000.1562320078.282335-15514068"
    int data_len = snprintf(request_data, 1024, "dev_pid=8002&cuid=ESP32&token=%s", baidu_access_token);
/*   
    esp_http_client_set_post_field(http_client, request_data, data_len);
    esp_http_client_set_method(http_client, HTTP_METHOD_POST);
*/
    esp_http_client_set_method(http_client, HTTP_METHOD_POST);     
    esp_http_client_set_post_field(http_client, (const char *)buff, 1*sizeof(short));
    esp_http_client_set_header(http_client, "Content-Type", "audio/pcm;rate=16000"); 

    lock = 0;
    return ESP_OK;
}

void app_main()
{
#if defined CONFIG_ESP_LYRAT_V4_3_BOARD
    gpio_config_t gpio_conf = {
        .pin_bit_mask = 1UL << get_green_led_gpio(),
        .mode = GPIO_MODE_OUTPUT,
        .pull_up_en = 0,
        .pull_down_en = 0,
        .intr_type = 0
    };
    gpio_config(&gpio_conf);
#endif
    esp_log_level_set("*", ESP_LOG_WARN);
    esp_log_level_set(TAG, ESP_LOG_INFO);
    esp_log_level_set(EVENT_TAG, ESP_LOG_INFO);

/*

    ESP_LOGI(TAG, "Initialize SR handle");
    esp_wn_iface_t *wakenet;
    model_coeff_getter_t *model_coeff_getter;
    model_iface_data_t *model_data;

    get_wakenet_iface(&wakenet);
    get_wakenet_coeff(&model_coeff_getter);
    model_data = wakenet->create(model_coeff_getter, DET_MODE_90);
    int num = wakenet->get_word_num(model_data);

    for (int i = 1; i <= num; i++) {
        char *name = wakenet->get_word_name(model_data, i);
        ESP_LOGI(TAG, "keywords: %s (index = %d)", name, i);
    }
    float threshold = wakenet->get_det_threshold(model_data, 1);
    int sample_rate = wakenet->get_samp_rate(model_data);
    int audio_chunksize = wakenet->get_samp_chunksize(model_data);
    ESP_LOGI(EVENT_TAG, "keywords_num = %d, threshold = %f, sample_rate = %d, chunksize = %d, sizeof_uint16 = %d", num, threshold, sample_rate, audio_chunksize, sizeof(int16_t));

    int16_t *buff = (int16_t *)malloc(audio_chunksize * sizeof(short));
    if (NULL == buff) {
        ESP_LOGE(EVENT_TAG, "Memory allocation failed!");
        //wakenet->destroy(model_data);
        //model_data = NULL;
        return;
    }
*/

#if 1
    esp_err_t err = nvs_flash_init();
    if (err == ESP_ERR_NVS_NO_FREE_PAGES) {
        // NVS partition was truncated and needs to be erased
        // Retry nvs_flash_init
        ESP_ERROR_CHECK(nvs_flash_erase());
        err = nvs_flash_init();
    }
    tcpip_adapter_init();

    ESP_LOGI(TAG, "[ 0 ] Start and wait for Wi-Fi network");
    esp_periph_config_t periph_cfg = DEFAULT_ESP_PERIPH_SET_CONFIG();
    esp_periph_set_handle_t set = esp_periph_set_init(&periph_cfg);

    ESP_LOGI(TAG, "[0.1] Initialize ADC Button peripheral");
    periph_adc_button_cfg_t adc_button_cfg = { 0 };
    adc_arr_t adc_btn_tag = ADC_DEFAULT_ARR();
    adc_button_cfg.arr = &adc_btn_tag;
    adc_button_cfg.arr_size = 1;

    ESP_LOGI(TAG, "[0.2] Start ADC Button peripheral");
    esp_periph_handle_t adc_button_periph = periph_adc_button_init(&adc_button_cfg);
    esp_periph_start(set, adc_button_periph);

    periph_wifi_cfg_t wifi_cfg = {
        .ssid = "xxxxx",
        .password = "xxxxxxxxx",
    };
    esp_periph_handle_t wifi_handle = periph_wifi_init(&wifi_cfg);
    esp_periph_start(set, wifi_handle);
    periph_wifi_wait_for_connected(wifi_handle, portMAX_DELAY);
#endif

/*
    audio_pipeline_handle_t pipeline;
    audio_element_handle_t i2s_stream_reader, filter, raw_read;
*/
    audio_pipeline_handle_t pipeline;
    audio_element_handle_t http_write, raw_read/*, i2s_stream_reader*/;

    ESP_LOGI(EVENT_TAG, "[ 1 ] Start codec chip");
    audio_board_handle_t board_handle = audio_board_init();
    audio_hal_ctrl_codec(board_handle->audio_hal, AUDIO_HAL_CODEC_MODE_BOTH, AUDIO_HAL_CTRL_START);

    ESP_LOGI(EVENT_TAG, "[ 2.0 ] Create audio pipeline for recording");
    audio_pipeline_cfg_t pipeline_cfg = DEFAULT_AUDIO_PIPELINE_CONFIG();
    pipeline = audio_pipeline_init(&pipeline_cfg);
    mem_assert(pipeline);

/*
    ESP_LOGI(EVENT_TAG, "[ 2.1 ] Create i2s stream to read audio data from codec chip");
    i2s_stream_cfg_t i2s_cfg = I2S_STREAM_CFG_DEFAULT();
    i2s_cfg.i2s_config.sample_rate = 48000;
    i2s_cfg.type = AUDIO_STREAM_READER;

    // Mini board record by I2S1 and play music by I2S0, no need to add resample element.
#if defined CONFIG_ESP_LYRAT_MINI_V1_1_BOARD
    i2s_cfg.i2s_config.sample_rate = 16000;
    i2s_cfg.i2s_port = 1;
    i2s_cfg.i2s_config.channel_format = I2S_CHANNEL_FMT_ONLY_RIGHT;
    i2s_stream_reader = i2s_stream_init(&i2s_cfg);
#else
    i2s_stream_reader = i2s_stream_init(&i2s_cfg);


   
    ESP_LOGI(EVENT_TAG, "[ 2.2 ] Create filter to resample audio data");
    rsp_filter_cfg_t rsp_cfg = DEFAULT_RESAMPLE_FILTER_CONFIG();
    rsp_cfg.src_rate = 48000;
    rsp_cfg.src_ch = 2;
    rsp_cfg.dest_rate = 16000;
    rsp_cfg.dest_ch = 1;
    rsp_cfg.type = AUDIO_CODEC_TYPE_ENCODER;
    filter = rsp_filter_init(&rsp_cfg);
#endif

*/

    ESP_LOGI(EVENT_TAG, "[ 2.2 ] Create raw to receive data");
    raw_stream_cfg_t raw_cfg = {
        .out_rb_size = 8 * 1024,
        .type = AUDIO_STREAM_READER,
    };
    raw_read = raw_stream_init(&raw_cfg);

    ESP_LOGI(TAG, "[2.4] Create http stream to write data");
    http_stream_cfg_t http_cfg = HTTP_STREAM_CFG_DEFAULT();
    http_cfg.event_handle = _http_stream_event_handle;
    http_cfg.type = AUDIO_STREAM_WRITER;
    http_write = http_stream_init(&http_cfg);


    ESP_LOGI(EVENT_TAG, "[ 3 ] Register all elements to audio pipeline");
    //audio_pipeline_register(pipeline, i2s_stream_reader, "i2s");
    audio_pipeline_register(pipeline, raw_read, "raw");
    //audio_pipeline_register(pipeline, filter, "filter");
    audio_pipeline_register(pipeline, http_write, "http");

#if defined CONFIG_ESP_LYRAT_MINI_V1_1_BOARD
    ESP_LOGI(EVENT_TAG, "[ 4 ] Link elements together [codec_chip]-->i2s_stream-->raw-->[SR]");
    audio_pipeline_link(pipeline, (const char *[]) {"i2s",  "raw"}, 2);
#else
    //audio_pipeline_register(pipeline, filter, "filter");
    ESP_LOGI(EVENT_TAG, "[ 4 ] Link elements together [codec_chip]-->i2s_stream-->filter-->raw-->[SR]");
    //audio_pipeline_link(pipeline, (const char *[]) {"i2s", "filter", "raw"}, 3);
    audio_pipeline_link(pipeline, (const char *[]) {"raw", /*"i2s","filter",*/ "http"}, 3);
#endif

    ESP_LOGI(TAG, "[2.6] Set up  uri (http as http_stream, mp3 as mp3 decoder, and default output is i2s)");
    audio_element_set_uri(http_write, BAIDU_SR_ENDPOINT);

    ESP_LOGI(TAG, "[ 4 ] Set up  event listener");
    audio_event_iface_cfg_t evt_cfg = AUDIO_EVENT_IFACE_DEFAULT_CFG();
    audio_event_iface_handle_t evt = audio_event_iface_init(&evt_cfg);

    ESP_LOGI(TAG, "[4.1] Listening event from all elements of pipeline");
    audio_pipeline_set_listener(pipeline, evt);

    ESP_LOGI(TAG, "[4.2] Listening event from peripherals");
    audio_event_iface_set_listener(esp_periph_set_get_event_iface(set), evt);

    ESP_LOGI(TAG, "[ 5 ] Start audio_pipeline");
    audio_pipeline_run(pipeline);

    i2s_stream_set_clk(i2s_stream_reader, 16000, 16, 1);
/*
    ESP_LOGI(EVENT_TAG, "[ 5 ] Start audio_pipeline");
    audio_pipeline_run(pipeline);*/

    while (1) {

        audio_event_iface_msg_t msg;
        esp_err_t ret = audio_event_iface_listen(evt, &msg, portMAX_DELAY);
        if (ret != ESP_OK) {
            ESP_LOGE(TAG, "[ * ] Event interface error : %d", ret);
            continue;
        }

        if (msg.source_type == PERIPH_ID_ADC_BTN) {
            int button_id = (int)msg.data;  // button id is sent as data_len
            int state     = msg.cmd;       // button state is sent as cmd
       
            if(button_id == USER_KEY_ID2)//判断按下的是否为rec
            {
                free(buff);
                buff = NULL;

                buff = (char *)malloc(1*sizeof(short));
                if (NULL == buff)
                {
                    ESP_LOGE(EVENT_TAG, "Memory allocation failed!");
                    return;
                }
                memset(buff, 0, 96 * 1024);

                ESP_LOGI(TAG, "have key");
                //for(size_t i = 0; i < 12; i++)
                //{
                    raw_stream_read(raw_read, (char *)buff, 1*sizeof(short));
                    ESP_LOGI(TAG,"HAHA...");
                //}

                lock = 1;

                while(1)
                {
                    if(lock == 0)
                        break;
                    sleep(1);
                }
               
            }

        }
        ESP_LOGI(TAG, "please press the key");
        vTaskDelay(100);
    }

    ESP_LOGI(EVENT_TAG, "[ 6 ] Stop audio_pipeline");

    audio_pipeline_terminate(pipeline);

    /* Terminate the pipeline before removing the listener */
    audio_pipeline_remove_listener(pipeline);

    audio_pipeline_unregister(pipeline, raw_read);
    //audio_pipeline_unregister(pipeline, i2s_stream_reader);
    audio_pipeline_unregister(pipeline, http_write);

    /* Release all resources */
    audio_pipeline_deinit(pipeline);
    audio_element_deinit(raw_read);
    //audio_element_deinit(i2s_stream_reader);
    audio_element_deinit(http_write);

    ESP_LOGI(EVENT_TAG, "[ 7 ] Destroy model");
    //wakenet->destroy(model_data);
    //model_data = NULL;
    free(buff);
    buff = NULL;
}

#8 ESP32/ESP8266 » 修改百度语音合成的例子 结果语速太快是什么原因造成的? » 2020-01-18 18:18:25

弟弟王
回复: 5

我将 esp-adf\examples\speech_recognition\asr 的例子 和 esp-adf\examples\cloud_services\pipeline_baidu_speech_mp3 进行整合之后发现当asr的管道开启后 运行pipeline_baidu_speech_mp3例子的管道 合成出来的语音语速很快 。而且开启之后不管是暂停还是销毁asr的管道 结果仍然是语速快 。如果不启动asr例子的管道 pipeline_baidu_speech_mp3 的语速是正常的。 到底是什么原因造成的影响?

#9 ESP32/ESP8266 » 唤醒词唤醒完成相关任务之后再次唤醒却没有反应 » 2020-01-02 14:21:40

弟弟王
回复: 0

各位大佬们,我最近想做一个语音转文本的功能。功能实现后我想在这个基础上再加一个关键词的唤醒。然后我参考了adf里面asr的例子。整合之后却发现唤醒一次翻译成功后却无法再次进行唤醒。然后我把里面的那段注释掉之后又可以反复唤醒了。是不是同时开启两个管道会造成干扰还是我的思路错了?

下面是循环体里面的代码,求大佬解惑
_15779448298763.png

#13 ESP32/ESP8266 » 用过esp-adf/example/speech_recognition/asr例子的帮忙看一下 » 2019-12-19 14:47:45

弟弟王
回复: 6

## Keywords

| # | Keyword | English Meaning | Pronunciation|
|:-:|---------|--------------------|-------------------|
| 1 | 嗨,乐鑫 | Hi, Espressif      | Hāi, lè xīn        |
| 2 | 打开电灯 | Turn on the light  | Dǎkāi diàndēng     |
| 3 | 关闭电灯 | Turn off the light | Guānbì diàndēng    |
| 4 | 音量加大 | Increase volume    | Yīnliàng jiā dà    |
| 5 | 音量减小 | Volume down        | Yīnliàng jiǎn xiǎo |
| 6 | 播放    | Play               | Bòfàng             |
| 7 | 暂停    | Pause              | Zàntíng            |
| 8 | 静音    | Mute               | Jìngyīn            |
| 9 | 播放本地歌曲 | Play local music | Bòfàng běndì gēqǔ |

按照README上说的应该是有9个关键字的。

for (int i = 1; i <= num; i++) {
        char *name = wakenet->get_word_name(model_data, i);
        ESP_LOGI(TAG, "keywords: %s (index = %d)", name, i);
    }

这个是关键字打印的代码。理论上应该是循环打印9次

Quantized wakeNet4: wakeNet4_v1_hilexin_6_0.90_0.85, mode: 0 (Oct 11 2019 20:08:
52)
I (184) example_asr_keywords: keywords: hilexin (index = 1)
Fail: index is out of range, the min index is 1, the max index is 1I (191) asr_e
vent: keywords_num = 1, threshold = 0.000000, sample_rate = 16000, chunksize = 4
80, sizeof_uint16 = 2

但是,运行后日志上面却只打印了一个关键字。


然后经过测试也只有这个关键字有效,有没有人遇到过这个情况?求解

#16 ESP32/ESP8266 » 怎么用dueros例子去实现语音控制播放SD卡里的音乐啊 » 2019-12-10 15:39:16

弟弟王
回复: 4

去百度开发者平台转了一圈整个人懵了,那上面的代码都看不懂。还有那个技能创建了之后怎么和我的开发板联系在一起?

#17 Re: ESP32/ESP8266 » LyraT 乐鑫官方ESP32开发板入坑记录 (百度AI dueros 演示成功!) » 2019-12-09 15:44:36

还有就是我现在想获取到百度云那边的关键字返回值。然后我以为这个返回值在 recorder_pipeline_read 函数的参数里。试着打印了一下发现全是乱码,而且不管我说不说话都一直在打印。是我找错了还是怎么回事?

#18 Re: ESP32/ESP8266 » LyraT 乐鑫官方ESP32开发板入坑记录 (百度AI dueros 演示成功!) » 2019-12-09 15:36:59

终于搞定了,不是分区表的问题,还是之前的那个外部RAM初始化的问题,然后在menuconfig里把SPI RAM设置了一下。_15758769848763.png

#20 Re: ESP32/ESP8266 » LyraT 乐鑫官方ESP32开发板入坑记录 (百度AI dueros 演示成功!) » 2019-12-06 18:08:02

我是在make menuconfig把Partition Table设置为SIngles factory app,no OTA

#21 Re: ESP32/ESP8266 » LyraT 乐鑫官方ESP32开发板入坑记录 (百度AI dueros 演示成功!) » 2019-12-06 17:38:56

对,我把那个分区表改了。然后也按照上面的编译,结果还是一样

#22 Re: ESP32/ESP8266 » LyraT 乐鑫官方ESP32开发板入坑记录 (百度AI dueros 演示成功!) » 2019-12-06 17:33:41

E (694) esp_image: Image length 1983936 doesn't fit in partition length 1048576
E (694) boot: Factory app partition is not bootable
E (696) boot: No bootable app partitions in the partition table

上一个问题解决了,又碰到这个了。上面说到的的方法我试过了没用啊

#23 Re: ESP32/ESP8266 » LyraT 乐鑫官方ESP32开发板入坑记录 (百度AI dueros 演示成功!) » 2019-12-06 14:45:29

make menuconfig 里面ssid passwd 芯片什么的都配置了,是不是还有哪里需要改?

#24 Re: ESP32/ESP8266 » LyraT 乐鑫官方ESP32开发板入坑记录 (百度AI dueros 演示成功!) » 2019-12-06 14:29:44

编译成功了然后profile文件也贴上去了。运行就显示RAM初始化失败。

I (679) boot: Loaded app from partition at offset 0x10000
I (679) boot: Disabling RNG early entropy source...
I (680) psram: This chip is ESP32-D0WD
E (684) spiram: Expected 4096KiB chip but found 8192KiB chip. Bailing out..
E (692) cpu_start: Failed to init external RAM!
abort() was called at PC 0x400816f4 on core 0
0x400816f4: call_start_cpu0 at D:/test3/msys32/home/Administrator/esp/esp-idf/co
mponents/esp32/cpu_start.c:207 (discriminator 1)

#25 Re: ESP32/ESP8266 » LyraT 乐鑫官方ESP32开发板入坑记录 (百度AI dueros 演示成功!) » 2019-12-06 14:03:40

尴尬图贴不上去...


(/COM4) Default serial port                                      │ │
  │ │        Default baud rate (921600 baud)  --->                        │ │
  │ │        Use compressed upload                                        │ │
  │ │        Flash SPI mode (DIO)  --->                                   │ │
  │ │        Flash SPI speed (80 MHz)  --->                               │ │
  │ │        Flash size (8 MB)  --->                                      │ │
  │ │        Detect flash size when flashing bootloader                   │ │
  │ │        Before flashing (Reset to bootloader)  --->                  │ │
  │ │        After flashing (Reset after flashing)  --->                  │ │
  │ │        'make monitor' baud rate (115200 bps)  --->                  │ │



然后编译显示还是4M
I (29) boot: Enabling RNG early entropy source...
I (33) boot: SPI Speed      : 80MHz
I (38) boot: SPI Mode       : DIO
I (42) boot: SPI Flash Size : 4MB
I (46) boot: Partition Table:
I (49) boot: ## Label            Usage          Type ST Offset   Length
I (57) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (64) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (71) boot:  2 factory          factory app      00 00 00010000 00300000
I (79) boot: End of partition table

#28 Re: ESP32/ESP8266 » LyraT 乐鑫官方ESP32开发板入坑记录 (百度AI dueros 演示成功!) » 2019-12-06 11:25:13

外部ARM初始化失败怎么解决啊?

I (621) esp_image: segment 4: paddr=0x001dd5b4 vaddr=0x40080000 size=0x00400 (
1024) load
0x40080000: _WindowOverflow4 at D:/test3/msys32/home/Administrator/esp/esp-idf/c
omponents/freertos/xtensa_vectors.S:1779

I (627) esp_image: segment 5: paddr=0x001dd9bc vaddr=0x40080400 size=0x16be0 ( 9
3152) load
I (679) boot: Loaded app from partition at offset 0x10000
I (679) boot: Disabling RNG early entropy source...
I (680) psram: This chip is ESP32-D0WD
E (684) spiram: Expected 4096KiB chip but found 8192KiB chip. Bailing out..
E (692) cpu_start: Failed to init external RAM!
abort() was called at PC 0x400816f4 on core 0
0x400816f4: call_start_cpu0 at D:/test3/msys32/home/Administrator/esp/esp-idf/co
mponents/esp32/cpu_start.c:207 (discriminator 1)

我用的是ESP32-LyraTD-MSC

页脚

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

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