esp32 通过I2S接口读取24位音频A/D芯片CJC5340 采集的MIC数据,
目前可以读取数据,通过SPK播放出来,但是声音不太正常,是变音的。
数据通道32位与24位都设置过,但是都不完全对,
通道设置:
.slot_cfg = {
.data_bit_width = I2S_DATA_BIT_WIDTH_32BIT,
.slot_bit_width = I2S_SLOT_BIT_WIDTH_32BIT,
.slot_mode = I2S_SLOT_MODE_STEREO ,
.slot_mask = I2S_STD_SLOT_LEFT,
//组合 I2S_STD_SLOT_BOTH .bit_shift = true, .msb_right =false
.ws_width = 32,
.ws_pol = true,
.bit_shift = true,
.msb_right =false,
读数据函数:
int NoAudioCodec::Read(int16_t* dest, int samples) {
size_t bytes_read;
size_t bytes_write;
std::vector<int32_t> bit32_buffer(samples);
if (i2s_channel_read(rx_handle_, bit32_buffer.data(), samples * 4, &bytes_read, portMAX_DELAY) != ESP_OK) {
ESP_LOGE(TAG, "Read Failed!");
return 0;
}
比较奇怪的是: bit32_buffer读出的数据,这些数据都是右边12bit 为0,然而cjc5340是24bit的A/D,不知道什么原因,按道理应该是右边8bit为0才对啊,反复看了首次I2S说明,也没有找到问题的原因。求大神指导下,或者有相关I2S相关数据读取排列详细说明指导,非常感谢!
18325) NoAudioCodec: micdata fff4f000
(18335) NoAudioCodec: micdata fff73000
(18335) NoAudioCodec: micdata fff78000
(18345) NoAudioCodec: micdata fffa6000
(18345) NoAudioCodec: micdata fffd0000
(18355) NoAudioCodec: micdata fffd9000
(18355) NoAudioCodec: micdata fffea000
(18365) NoAudioCodec: micdata ffffb000
(18365) NoAudioCodec: micdata 49000
(18375) NoAudioCodec: micdata 44000
(18375) NoAudioCodec: micdata 26000
(18385) NoAudioCodec: micdata 25000
(18385) NoAudioCodec: micdata 3b000
(18385) NoAudioCodec: micdata 46000
ESP32通过I2S读24位音频A/D芯片CJC5340的问题
Jump to
- English Forum
- Explore
- News
- General Discussion
- FAQ
- Documentation
- Documentation
- Sample Code
- Discussion Forum
- ESP32-S31
- Hardware
- ESP-IDF
- ESP-BOX
- ESP-ADF
- ESP-MDF
- ESP-WHO
- ESP-SkaiNet
- ESP32 Arduino
- IDEs for ESP-IDF
- ESP-AT
- ESP IoT Solution
- ESP RainMaker
- Rust
- ESP8266
- Report Bugs
- Showcase
- Chinese Forum 中文社区
- 活动区
- 乐鑫活动专区
- 讨论区
- ESP32-S31 中文讨论版
- 喵伴 中文讨论版
- ESP-IDF 中文讨论版
- 《ESP32-C3 物联网工程开发实战》书籍讨论版
- 中文文档讨论版
- ESP-AT 中文讨论版
- ESP-BOX 中文讨论版
- ESP IoT Solution 中文讨论版
- ESP-ADF 中文讨论版
- ESP Mesh 中文讨论版
- ESP Cloud 中文讨论版
- ESP-WHO 中文讨论版
- ESP-SkaiNet 中文讨论版
- ESP 生产支持讨论版
- 硬件问题讨论
- 项目展示
Who is online
Users browsing this forum: No registered users and 1 guest
- All times are UTC
- Top
- Delete cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. ESP8266EX and ESP32 are some of our products.
Information
Espressif ESP32 ... Available now!