ESP32音頻開發板ESP32-Korvo V1.1踩坑

  1. 電池供電ESP32-Korvo V1.1開發板供電電壓低於3.9V不斷複位:
    報錯->Brownout detector was triggered 斷電探測器觸發複位
    根據同行資料發現,禁用斷電探測器:
    make menuconfig->component config->ESP32-specific->Hardware brownout detect & reset禁用掉這個選項,將不再檢測電平。
    或者也可在再這個選項的下面選擇一個更合適的保護電平。
    沒有鳥用,最後根據硬體實測發現:

    電路設計有問題!!!!!!!!!!!!!!!!!!!
    從發現到解決,耗時大半天

2.recoder錄音:
按照record_wav_sdcard_example常式編譯,正常,將錄音時間改為60S後,奇怪的現象出現了:
有時錄音文件正常,有時錄音文件只有幾百K,好壞隨機,FK!
常式使用pipeline,逐過程排查,發現wav_encoder棧設置:

#define WAV_ENCODER_TASK_STACK          (3 * 1024)
#define WAV_ENCODER_TASK_CORE           (0)
#define WAV_ENCODER_TASK_PRIO           (5)
#define WAV_ENCODER_RINGBUFFER_SIZE     (8 * 1024)

#define DEFAULT_WAV_ENCODER_CONFIG() {\
    .out_rb_size        = WAV_ENCODER_RINGBUFFER_SIZE,\
    .task_stack         = WAV_ENCODER_TASK_STACK,\
    .task_core          = WAV_ENCODER_TASK_CORE,\
    .task_prio          = WAV_ENCODER_TASK_PRIO,\
    .stack_in_ext       = true,\
}

正常錄音60S文件9-10M,明顯不夠,改大,常式嘛,直接改成:

#define WAV_ENCODER_TASK_STACK          (6 * 1024)
#define WAV_ENCODER_TASK_CORE           (0)
#define WAV_ENCODER_TASK_PRIO           (5)
#define WAV_ENCODER_RINGBUFFER_SIZE     (16 * 1024)

OK,錄音正常。