Ho collegato l'AD9833 ad ARDUINODUE nel seguente modo usando i pin 10, 11 e 13 di
ARDUINODUE nel seguente modo e col seguente codice:
// Pins for SPI link with the AD9833
#define DATA 11 // SPI Data pin number (hardware SPI = 11)
#define CLK 13 // SPI Clock pin number (hardware SPI = 13)
#define FSYNC 10 // SPI Load pin number (FSYNC in AD9833 usage)
MD_AD9833 AD(FSYNC); // Hardware SPI
//MD_AD9833 AD(DATA, CLK, FSYNC); // Software SPI with any pins
#define POT A0 // Potentiometer input
#define BTN 2 // Input Button (active low)
int mode;
float freq;
int lastbtn;
void setup () {
pinMode (BTN, INPUT_PULLUP);
pinMode (LED_BUILTIN, OUTPUT);
AD.begin();
mode = 0;
freq = 1000.0;
lastbtn=HIGH;
}
void loop () {
// Check the button for a mode change
AD.setMode(MD_AD9833::MODE_SQUARE1);
AD.setMode(MD_AD9833::MODE_SQUARE2);
AD.setFrequency(MD_AD9833::CHAN_0, freq);
}
Il risultato è che collegando l'AD9833 a quei pin nell'oscilloscopio non visualizzo un'onda rettangolare da 1000Hz. Perchè?