Forum: Mikrocontroller und Digitale Elektronik Adruino mit einem DDC 101 verbinden. Frage zu Master an Slave Methode


von Markus H. (markus_h)


Angehängte Dateien:

Lesenswert?

Hi,


Im Anhang habe ich euch einmal das Bauteil geschickt und wie es 
angesteuert werden muss.

Der DDC101 sieht wie folgt aus:
 http://focus.ti.com/lit/ds/symlink/ddc101.pdf

Ich muss mit dem Arduino eine 2MHz Frequenz erzeugen, was ich mit 
folgendem Code mache:


const int freqOutputPin = 11;


const int prescale  = 1;
const int ocr2aval  = 3;



const float period    = 2.0  prescale  (ocr2aval+1) / (F_CPU/1.0e6);


const float freq      = 1.0e6 / period;

void setup()
{
    pinMode(freqOutputPin, OUTPUT);
    Serial.begin(9600);



    TCCR2A = ((1 << WGM21) | (1 << COM2A0));


    TCCR2B = (1 << CS20);


    TIMSK2 = 0;

    OCR2A = ocr2aval;

    Serial.print("Period    = ");
    Serial.print(period);
    Serial.println(" microseconds");
    Serial.print("Frequency = ");
    Serial.print(freq);
    Serial.println(" Hz");
}


void loop()
{

}



Jetzt muss ich aber ein 12 Bit Wort zum DDC101 übertragen und ich 
bekomme ein 20 Bit Wort als Antwort zurück.

Je Takt muss genau ein Bit übertragen werden. Darum muss ich die Master 
and Slave Methode verwenden. Hier ist aber die Frage wie und ob es 
überhaupt geht.

http://www.arduino.cc/en/Tutorial/SPIEEPROM

Hier wird das ganze auch einigermaßen beschrieben. Aber ich komme damit 
einfach nicht zurecht. Bitte helft mir

Eine weitere Frage ist ob ich den Timer 2 benutzen kann wenn ich Master 
and Slave verwende denn der Ausgangspin für die Frequenz ist ja bei mir 
Pin11 und der wird ja hier auch gebraucht.

Gruß Markus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.