//waveform generator // hacked from https://www.instructables.com/Arduino-Waveform-Generator-1/ #include #include Adafruit_MCP4728 mcp; #define nsamp 32 #define dacmax 256 const byte nclk = 200; // a guess long int freq; //frequency in Hz long unsigned int phase; long unsigned int phase_inc; void setup() { // TIMSK0 &= ~_BV(TOIE0); // disable timer0 overflow interrupt Serial.begin(115200); if (!mcp.begin(0x64)) { while (1) { delay(100); } } // mcp.setSpeed(400000L); // mcp.setSpeed(800000L); mcp.setSpeed(800000L); freq=440; phase=0; calc_phase_inc(); setwave(); } const float pi=3.14159265; byte waveform[nsamp]; byte phaseb = 0; void setwave(){ for (int isamp=0; isamp> 27; mcp.fastWrite(waveform[redphase] << 4, 0, 0, 0); }