學物聯網,來萬物簡單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數據緩沖區 |
- 返回值:
無 - 代碼示例
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)