C-Tutorial LED Problem

Gast #2787142
Hallo zusammen,

ich mache gerade das AVR-GCC Tutorial. Ausprobieren tue ich das ganze 
mit dem STK500. Und schon habe ich das erste Problem.

Übertrage ich den folgenden code auf den Controller:


#include <avr/io.h>          // (1)

int main (void) {            // (2)

   DDRB  = 0xFF;             // (3)
   PORTB = 0x03;             // (4)

   while(1) {                // (5)
     /* "leere" Schleife*/   // (6)
   }                         // (7)

   /* wird nie erreicht */
   return 0;                 // (8)
}


Leuchten alle LED's, ausser die ersten 2. Nach meinem Verständniss 
sollte dies doch aber genau andersherum sein. Alle aus, nur 1 und 2 an.
Kann mir da jemand weiterhelfe?!

Vielen Dank
Jürgen
Gast #2787148
Guck dir mal die Beschaltung des STK500 in der Doku an!
Die Signale gehen über Transistoren und werden da invertiert, wenn ichs 
richtig in Erinnerung hab...
Gast #2787160
aha, so was dachte ich mir schon. Hatte nur gesehen, dass das STK500 mit 
transistoren arbeitet. Also wird das Signal tatsächlig an dieser stelle 
invertiert. Merkt man sich so was und denkt dann logisch andersrum, oder 
gibt es einen trick "normal" weiter zu programieren mit ein paar zeile 
extra, die die Invertierung übernehmen?
Gast #2787163
uint8t value=0x03;

Alle Bits invertieren:

uint8t value=~0x03;

Nur bestimmte Bits invertieren (in diesem Fall das niedrigste Bit)

uint8t value=0x03 ^ 0x01;

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.