首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nanoFramework中的ESP32 I2S

nanoFramework中的ESP32 I2S
EN

Stack Overflow用户
提问于 2021-10-02 12:44:29
回答 1查看 160关注 0票数 0

我正在尝试复制我为sampling sound data on the ESP32 using I2S找到的C++项目,但使用的是C#和nanoFramework。

在ADCSampler.cpp文件中,加载了以下标头

代码语言:javascript
复制
#include <Arduino.h>
#include "driver/i2s.h"
#include "driver/adc.h"

nanoframework的命名空间与driver/adc.h大致相同,我认为它的命名空间是Windows.Devices.Adc

但是,我找不到任何与I2S相同的东西,有一个用于I2C的库

我正在纠结的具体代码是:

代码语言:javascript
复制
void ADCSampler::configureI2S()
{
    //init ADC pad
    i2s_set_adc_mode(m_adcUnit, m_adcChannel);
    // enable the adc
    i2s_adc_enable(getI2SPort());
}

我发现您可以在nanoFramework中配置ADC,如下所示:

代码语言:javascript
复制
Configuration.SetPinFunction(35, DeviceFunction.I2S1_MDATA_IN);

和获取ADC通道

代码语言:javascript
复制
..
 AdcChannel _adcChannel7;
..
..
 _adc = AdcController.GetDefault();
 _adcChannel7 = _adc.OpenChannel(7);//GPIO pin 35 is adc channel 7
..
..
_mV = _adcChannel7.ReadValue();
..

但这就是我所能想出的最多。

我是微控制器和ESP32平台的新手,所以我仍然学到了很多。

我是否遗漏了什么,或者这是否仍在进行中?

是否有其他选项可以用来代替I2S?

EN

回答 1

Stack Overflow用户

发布于 2021-10-04 08:24:41

你快到了!以下是几点说明:

  1. 尽管名称空间看起来很相似,但它必须添加到构建中。它正在调用其他函数,这些函数是向托管application.
  2. In公开ADC功能所必需的。我们正在使用预编译的ESP32 IDF库,而I2S不是其中的一部分。这意味着你将不能使用任何与I2S相关的东西。好消息是,我们将在本周发布一个新版本,其中包括I2S和一个全新的I2S C#库,该库正在开发中,很快就会推出。

所以,请关注我们的推特账号或加入不和谐社区,这样你就会收到所有这些的通知。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69417031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档