pinMode(esp8266_gpioToPin[5], FUNCTION_1); //I2SO_BCK (SCLK) pinMode(esp8266_gpioToPin[15], FUNCTION_1); //I2SO_BCK (SCLK)| Arduino | ESP8266/Oak |
| I2S.begin(I2S_PHILIPS_MODE, sampleRate, 16); | i2s_begin(); i2s_set_rate(sampleRate); |
| I2S.write(sample); | i2s_write_sample(sample); |
#include <i2s.h>
const int frequency = 880; //frequency of square wave in Hz
int amplitude = 1000; //amplitude of square wave
const int sampleRate = 16000; //sample rate in Hz
const int halfWavelength = sampleRate / frequency; //half wavelength of square wave
int count = 0;
void setup() {
Particle.begin();
Particle.println("I2S simple tone");
i2s_begin(); //initialize i2s
i2s_set_rate(sampleRate); //set sample rate
}
void loop() {
if (count % halfWavelength == 0) amplitude = -1 * amplitude; //invert sample every half wavelength count multiple to generate square wave
i2s_write_sample(amplitude); //write sample twice, once for each channel
i2s_write_sample(amplitude);
count++;
}