簡體   English   中英

納米框架中的 ESP32 I2S

[英]ESP32 I2S in nanoFramework

我正在嘗試復制一個 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 使用?

你越來越接近了:一些澄清:

  1. 盡管命名空間看起來很相似,但必須將其添加到構建中。 它正在調用向托管應用程序公開 ADC 功能所需的其他函數。
  2. 在當前版本中,我們使用預編譯的 ESP32 IDF 庫,I2S 不在其中。 這意味着您將無法使用與 I2S 相關的任何內容。 好消息是,我們本周將發布一個新版本,其中包括 I2S 和用於 I2S 的全新 C# 庫,它正在開發中,不久后將可用。

因此,請關注我們的 Twitter 帳戶或加入 Discord 社區,以便您收到所有通知。

關於 I2S 的 Espressif 文檔可能有幫助https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/i2s.html此外,示例可能有幫助https://github.com /espressif/esp-idf/tree/02605f1a31/examples/外設/i2s

另一種選擇是將 ESP 與 Arduino 一起使用https://github.com/espressif/arduino-esp32在許多 Arduino 項目中使用了一個 I2S 庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM