我正在尝试复制我发现的一个 C++ 项目,用于使用 I2S 对 ESP32 上的声音数据进行采样,但使用 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?