2 AtMega über 2 Draht

Gast #346789
Lesenswert?
• ▲
▼
Hallo zusammen,
ich habe folgendes Problem:Ich habe 2 Atmega über eine 2
Drahtverbindung miteinander verbunden. Der eine Atmega generiert über
die eine Leitung ein Clock Signal und über die andere Werden Bits
gesendet. Der zweite Atmega ließt bei jeder steigenden Flanke (externer
Interrupt) des Clock Signals den Datenkanal aus. Leider bekomme ich nie
den richtigen "wert" angezeigt. Die Ausgabe ist immer 0 oder 1. Woran
kann es liegen????

Interrupt Routine des 2. Controllers der die Daten auslesen soll.
// External Interrupt 1 service routine
interrupt [EXT_INT1] void ext_int1_isr(void)
{
    merker=1;
    if(PIND.4)
    {
        wert=0x01;
    }
    else
    {
        wert=0x07;
    }

Mainroutine der den Wert der Interrupt Routine ausgeben soll:

     if(merker){
    merker=0;
     if(PIND.4)
    {
        wert=0x01;
    }
    else
    {
        wert=0x07;
    }
    }
    printf(" %3x\n\r",wert);

Das Signal ist richtig welches über die Leitungen geht, dass habe ich
mit dem Oszi angeschaut. Die I2C Leitungen werden schon andersweitig
genutzt.
Danke für eure Hilfe
#346794
Lesenswert?
• ▲
▼
Schon. Aber hats du den auch noch 'volatile' gemacht?

Zeig doch mal ein bischen mehr Code als bisher.
Ideal wäre es, wenn du soviel posten würde, dass wir das
theoretisch compilieren, in 2 ATMegas brennen und testen
könnten. Nimm aus deinem Pgm alles an Funktionalität raus,
was nicht unmittelbar mit der reinen Übertragung zu tun hat
und poste das mal. Aus einem Code-Schnipsel alleine ist es
meist nur sehr schwer möglich irgendwelche Dinge herauszulesen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.