nanoFramework 中的 ESP32 I2S
Posted
技术标签:
【中文标题】nanoFramework 中的 ESP32 I2S【英文标题】:ESP32 I2S in nanoFramework 【发布时间】:2021-11-23 18:14:26 【问题描述】:我正在尝试复制我为 sampling sound data on the ESP32 using I2S 找到的 C++ 项目,但使用的是 C# 和 nanoFramework。
在 ADCSampler.cpp 文件中加载了以下标头
#include <Arduino.h>
#include "driver/i2s.h"
#include "driver/adc.h"
nanoframework 具有命名空间 Windows.Devices.Adc,我理解它与 driver/adc.h
大致相同。
但是我找不到任何与 I2S 相同的东西,有一个库供 I2C 使用
我正在努力的具体代码是:
void ADCSampler::configureI2S()
//init ADC pad
i2s_set_adc_mode(m_adcUnit, m_adcChannel);
// enable the adc
i2s_adc_enable(getI2SPort());
我发现您可以在 nanoFramework 中配置 ADC,如下所示:
Configuration.SetPinFunction(35, DeviceFunction.I2S1_MDATA_IN);
并获得 ADC 通道
..
AdcChannel _adcChannel7;
..
..
_adc = AdcController.GetDefault();
_adcChannel7 = _adc.OpenChannel(7);//GPIO pin 35 is adc channel 7
..
..
_mV = _adcChannel7.ReadValue();
..
但这是我能想到的。
我对微控制器和 ESP32 平台还很陌生,所以还在学习很多东西。
我是否遗漏了什么或者这仍在进行中?
是否有其他选项可以代替 I2S?
【问题讨论】:
【参考方案1】:你越来越近了! 一些澄清:
-
尽管命名空间看起来很相似,但必须将其添加到构建中。它正在调用向托管应用程序公开 ADC 功能所需的其他函数。
在当前版本中,我们使用的是预编译的 ESP32 IDF 库,而 I2S 不是其中的一部分。这意味着您将无法使用任何与 I2S 相关的东西。
好消息是,我们将在本周发布一个新版本,其中包括 I2S 和一个全新的 I2S C# 库,它正在开发中,不久后将可用。
所以请关注我们的 Twitter 帐户或加入 Discord 社区,以便收到所有通知。
【讨论】:
太棒了!我准备试试看!以上是关于nanoFramework 中的 ESP32 I2S的主要内容,如果未能解决你的问题,请参考以下文章
快速入门 .NET nanoFramework 开发 ESP32-Pico 应用
炫酷 RGB 之.NET nanoFramework 点灯大师
c#(nanoframework)安装单片机环境;如何使用c#写类似于c的单片机驱动