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

学物联网,来万物简单IoT物联网!!在这里插入图片描述

I2S 介绍

  • 模块功能:

I2S音频总线驱动模块

接口说明

I2S - 构建I2S对象

  • 函数原型:I2S(id, sck, ws, sd, mode, bits, format, rate, ibuf)
  • 参数说明:
参数类型必选参数?说明
idintYI2S音频外设模块
id:0,1
sckobjectY时钟:创建Pin对象
wsobjectY左右声道:创建Pin对象
sdobjectY数据:创建Pin对象
modeenumY工作模式
I2S.TX - 发射器
I2S.RX - 接收器
bitsintY位宽
16 :16位
formatenumY传输格式
I2S.STEREO
I2S.MONO
rateintY采样率
44100 - 44.1Khz
22050 - 22.05Khz
ibufintYi2s内部收发buffer大小设置
  • 返回值:
    构建的I2S对象。

readinto - 从I2S设备读数据

  • 函数原型:readinto(buffer)
  • 参数说明:
参数类型必选参数?说明
bufferarray[]Y从I2S设备读数据的buffer数据缓冲区
  • 返回值:

write - 向I2S设备写数据

  • 函数原型:write(buffer)
  • 参数说明:
参数类型必选参数?说明
bufferarray[]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)  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/213204.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计山寨枚举

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 一个需求 在Employee类…

【c语言】重温一下动态内存,int数组过大会造成栈错误

项目场景: 项目场景:互助群同学在刷题的过程中,遇到的一个题目,需要申请一个很大数组,于是这个同学就写了int[1000000],其实这样写也没有错,可是运行后却显示栈错误。于是就找到我来请教,我想就…

Spark-06:共享变量

目录 1.广播变量(broadcast variables) 2.累加器(accumulators) 在分布式计算中,当在集群的多个节点上并行运行函数时,默认情况下,每个任务都会获得函数中使用到的变量的一个副本。如果变量很…

123. 股票买卖的最佳时机III(2次交易)

题目 题解 class Solution:def maxProfit(self, prices: List[int]) -> int:N len(prices)# 状态定义 dp[i][j][k]代表在第i天,被允许完成j次交易时,持有或者不持有的最大利润。k0代表不持有,k1代表持有dp [[[0 for k in range(2)] for…

分布式锁之基于mysql实现分布式锁(四)

不管是jvm锁还是mysql锁,为了保证线程的并发安全,都提供了悲观独占排他锁。所以独占排他也是分布式锁的基本要求。 可以利用唯一键索引不能重复插入的特点实现。设计表如下: CREATE TABLE tb_lock (id bigint(20) NOT NULL AUTO_INCREMENT,…

数据防泄漏系统有什么作用及优势?

数据防泄漏系统(Data Loss Prevention,简称DLP)是一种重要的信息安全解决方案,旨在防止敏感数据被未经授权地泄露、滥用或盗窃。它在保护企业、政府机构和个人的隐私和机密信息方面发挥着关键作用。以下是数据防泄漏系统的作用及优势: 作用&a…

STM32:基本定时器原理和定时程序

一、初识定时器TIM 定时器就是计数器,定时器的作用就是设置一个时间,然后时间到后就会通过中断等方式通知STM32执行某些程序。定时器除了可以实现普通的定时功能,还可以实现捕获脉冲宽度,计算PWM占空比,输出PWM波形&am…

【开源】基于Vue.js的固始鹅块销售系统

项目编号: S 060 ,文末获取源码。 \color{red}{项目编号:S060,文末获取源码。} 项目编号:S060,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 鹅块类型模块2.3 固…

YOLOv5 分类模型 预处理 OpenCV实现

YOLOv5 分类模型 预处理 OpenCV实现 flyfish YOLOv5 分类模型 预处理 PIL 实现 YOLOv5 分类模型 OpenCV和PIL两者实现预处理的差异 YOLOv5 分类模型 数据集加载 1 样本处理 YOLOv5 分类模型 数据集加载 2 切片处理 YOLOv5 分类模型 数据集加载 3 自定义类别 YOLOv5 分类模型…

vue3-组件传参及计算属性

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue3-组件传参及计算属性 目录 vue3中的组件传参 1、父传子 2、子传父 toRef 与 toRefs vue3中…

杭州银行连接解决方案:集成CRM、用户运营和广告推广系统

自动化与智能化是企业新的增长引擎。在数字化时代,企业需要通过数字化工具来提高效率和效益,这也是杭州银行推出的连接解决方案的初衷。该解决方案集成了CRM、用户运营和广告推广系统,为企业提供全方位的数字化转型支持。 杭州银行连接解决方…

多功能回馈式交流电子负载的应用

多功能回馈式交流电子负载是用于模拟和测试电源、电池等电子设备的负载工具。它具有多种应用,可以用于测试和评估各种类型的电源,包括直流电源和交流电源。它可以模拟各种负载条件,如恒定电流、恒定电压和恒定功率,以验证电源的性…