物联网AI MicroPython学习之语法 I2S音频总线接口

学物联网,来万物简单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)  
相关推荐
tellmewhoisi几秒前
深度学习0:数学知识:正态分布4(坐标变换的缩放比例(面积微元变换))
人工智能·深度学习
承渊政道5 分钟前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
布吉岛的石头19 分钟前
Java 程序员第 50 阶段14:灾难性遗忘与回放
人工智能·深度学习·transformer
不吃鱼的羊19 分钟前
诊断27解锁dll文件制作(Visual Stdio无法安装版)
人工智能
后端小肥肠33 分钟前
漫画工坊上线用户破百:公众号漫画从需求到变现全复盘
人工智能·aigc·agent
赛博山人1 小时前
字节跳动下线扣子企业版,团队已并入豆包
人工智能
isboyjc1 小时前
Lomo Agent:面向创作型、持续协作 Agent 的架构设计与工程实践
人工智能·架构·agent
不脱发的程序猿1 小时前
GD32串口数据收进内存之后DMA如何处理?
单片机·嵌入式硬件·dma·嵌入式·串口通信·gd32
小蒋观天下1 小时前
码率、I帧间隔、智能编码冲突:H.265+导致AI取流解码异常
人工智能
橙橙笔记1 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能