diff --git a/examples/DDS/DDS.ino b/examples/DDS/DDS.ino index e1139c7..c738a5b 100644 --- a/examples/DDS/DDS.ino +++ b/examples/DDS/DDS.ino @@ -18,6 +18,8 @@ #define RESET_PIN A3 #define SWITCH_PIN 2 +#define TIMER2_PHASE_ADVANCE 24 + HamShield radio; DDS dds; @@ -39,6 +41,7 @@ void setup() { radio.frequency(438000); radio.setModeTransmit(); dds.start(); + dds.startPhaseAccumulator(false); dds.playWait(600, 3000); dds.on(); //dds.setAmplitude(31); @@ -51,17 +54,24 @@ void loop() { delay(1000); } -#ifdef DDS_USE_ONLY_TIMER2 -ISR(TIMER2_OVF_vect) { - dds.clockTick(); -} -#else // Use the ADC timer instead -ISR(ADC_vect) { + +//Uncomment if using dds.startPhaseAccumulator(true); +/*ISR(TIMER2_OVF_vect) { static unsigned char tcnt = 0; - TIFR1 = _BV(ICF1); // Clear the timer flag - if(++tcnt == 4) { + if(++tcnt == TIMER2_PHASE_ADVANCE) { tcnt = 0; + dds.clockTick(); + } +}*/ + +//Comment if using dds.startPhaseAccumulator(true); +ISR(ADC_vect) { + if(false){ + static unsigned char tcnt = 0; + TIFR1 = _BV(ICF1); // Clear the timer flag + if(++tcnt == 4) { + tcnt = 0; + } + dds.clockTick(); } - dds.clockTick(); } -#endif