学物联网,来万物简单IoT物联网!!
I2S 介绍
- 模块功能:
I2S音频总线驱动模块
接口说明
I2S - 构建I2S对象
- 函数原型:I2S(id, sck, ws, sd, mode, bits, format, rate, ibuf)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
id | int | Y | I2S音频外设模块 id:0,1 |
sck | object | Y | 时钟:创建Pin对象 |
ws | object | Y | 左右声道:创建Pin对象 |
sd | object | Y | 数据:创建Pin对象 |
mode | enum | Y | 工作模式 I2S.TX - 发射器 I2S.RX - 接收器 |
bits | int | Y | 位宽 16 :16位 |
format | enum | Y | 传输格式 I2S.STEREO I2S.MONO |
rate | int | Y | 采样率 44100 - 44.1Khz 22050 - 22.05Khz |
ibuf | int | Y | i2s内部收发buffer大小设置 |
- 返回值:
构建的I2S对象。
readinto - 从I2S设备读数据
- 函数原型:readinto(buffer)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
buffer | array[] | Y | 从I2S设备读数据的buffer数据缓冲区 |
- 返回值:
无
write - 向I2S设备写数据
- 函数原型:write(buffer)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
buffer | array[] | Y | 向I2S设备写数据的buffer数据缓冲区 |
- 返回值:
无 - 代码示例
python
from machine import I2S, Pin
# 创建I2S对象
i2s = I2S(0, sck=Pin(13), ws=Pin(14), sd=Pin(34), mode=I2S.TX, bits=16, format=I2S.STEREO, rate=44100, ibuf=40000)
# 向I2S设备写数据
i2s.write(buf)
# 创建I2S对象
i2s = I2S(1, sck=Pin(33), ws=Pin(25), sd=Pin(32), mode=I2S.RX, bits=16, format=I2S.MONO, rate=22050, ibuf=40000)
# 从I2S设备读数据
i2s.readinto(buf)