|
|
@@ -111,10 +111,10 @@ I2S 通信模式
|
|
|
========= ======== ======== ======== ======== ======== ==========
|
|
|
ESP32 I2S 0/1 I2S 0 I2S 0 无 I2S 0 I2S 0
|
|
|
ESP32-S2 I2S 0 无 无 无 无 I2S 0
|
|
|
-ESP32-C3 I2S 0 I2S 0 无 I2S 0 无 无
|
|
|
-ESP32-C6 I2S 0 I2S 0 无 I2S 0 无 无
|
|
|
-ESP32-S3 I2S 0/1 I2S 0 I2S 0 I2S 0/1 无 无
|
|
|
-ESP32-H2 I2S 0 I2S 0 无 I2S 0 无 无
|
|
|
+ESP32-C3 I2S 0 I2S 0 无 I2S 0 无 无
|
|
|
+ESP32-C6 I2S 0 I2S 0 无 I2S 0 无 无
|
|
|
+ESP32-S3 I2S 0/1 I2S 0 I2S 0 I2S 0/1 无 无
|
|
|
+ESP32-H2 I2S 0 I2S 0 无 I2S 0 无 无
|
|
|
========= ======== ======== ======== ======== ======== ==========
|
|
|
|
|
|
标准模式
|
|
|
@@ -367,15 +367,15 @@ STD TX 模式
|
|
|
| | +-----------+----------+----------+----------+----------+----------+----------+----------+----------+
|
|
|
| | | 左右 | 0x0001 | 0x0001 | 0x0002 | 0x0002 | 0x0003 | 0x0003 | 0x0004 | 0x0004 |
|
|
|
| +-----------+-----------+----------+----------+----------+----------+----------+----------+----------+----------+
|
|
|
- | | 立体声 | 左 | 0x0001 | 0x0001 | 0x0003 | 0x0003 | 0x0005 | 0x0005 | 0x0007 | 0x0007 |
|
|
|
+ | | 立体声 | 左 | 0x0001 | 0x0000 | 0x0003 | 0x0000 | 0x0005 | 0x0000 | 0x0007 | 0x0000 |
|
|
|
| | +-----------+----------+----------+----------+----------+----------+----------+----------+----------+
|
|
|
- | | | 右 | 0x0002 | 0x0002 | 0x0004 | 0x0004 | 0x0006 | 0x0006 | 0x0008 | 0x0008 |
|
|
|
+ | | | 右 | 0x0000 | 0x0002 | 0x0000 | 0x0004 | 0x0000 | 0x0006 | 0x0000 | 0x0008 |
|
|
|
| | +-----------+----------+----------+----------+----------+----------+----------+----------+----------+
|
|
|
| | | 左右 | 0x0001 | 0x0002 | 0x0003 | 0x0004 | 0x0005 | 0x0006 | 0x0007 | 0x0008 |
|
|
|
+----------------+-----------+-----------+----------+----------+----------+----------+----------+----------+----------+----------+
|
|
|
|
|
|
.. note::
|
|
|
-
|
|
|
+
|
|
|
数据位宽为 8 位和 32 位时,缓冲区的类型最好为 ``uint8_t`` 和 ``uint32_t``。但需注意,数据位宽为 24 位时,数据缓冲区应该以 3 字节对齐,即每 3 个字节代表一个 24 位数据,另外,:cpp:member:`i2s_chan_config_t::dma_frame_num`、 :cpp:member:`i2s_std_clk_config_t::mclk_multiple` 和写缓冲区的大小应该为 ``3`` 的倍数,否则线路上的数据或采样率可能会不准确。
|
|
|
|
|
|
.. code-block:: c
|
|
|
@@ -680,7 +680,7 @@ STD RX 模式
|
|
|
+-----------+-----------+----------+----------+----------+----------+----------+----------+----------+----------+
|
|
|
| 立体声 | 左右 | 0x0002 | 0x0001 | 0x0004 | 0x0003 | 0x0006 | 0x0005 | 0x0008 | 0x0007 |
|
|
|
+-----------+-----------+----------+----------+----------+----------+----------+----------+----------+----------+
|
|
|
-
|
|
|
+
|
|
|
.. note::
|
|
|
|
|
|
在立体声模式下,右声道先被接收。如需切换缓冲区中的左右声道,可设置 :cpp:member:`i2s_pdm_rx_gpio_config_t::invert_flags::clk_inv` 来强制反转时钟信号。
|