Forum: Compiler & IDEs AVR STK 500: Mit PORTB = 0x03 leuchten falsche LEDS


von Waldemar O. (waldemar)


Lesenswert?

Hallo Leute,
versuche mich gerade anhand eines STK500 und einem ATmega16 in die 
Mikrocontroller-Programmierung einzuarbeiten, jedoch bisher nur mit 
wenig Erfolg.
Ich habe bei mikrocontroller.net ein Tutorial gefunden, welches eine 
gute Grundlage liefert:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Da gibt es eine kleines Bsp. Programm, welches ich auf den Controller 
gespielt habe. Laut der Beschreibung soll dieses Programm  die Pins 0 
und 1 mit 5 Volt vom Port B belegen. Bei mir leuchten aber die LEDS 
(welche ich an den Port B angeschlossen habe) 2-7. Es sollten doch nur 0 
und 1 leuchten.
Verstehe ich da irgendetwas nicht? Oder was mache ich falsch???

Ich bin euch wirklich für jede Hilfe dankbar!

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

int main (void) {            // (2)

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

   while(1) {                // (5a)
     /* "leere" Schleife*/;  // (5b)
   }                         // (5c)

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

Gruß
Waldemar

von Martin S. (msch)


Lesenswert?

Beim STK500 sind die LEDs so geschaltet, dass sie bei einer 0 am Ausgang 
leuchten und bei einer 1 aus sind,
siehe Bedienungsanleitung vom STK500.

von Hendrik (Gast)


Lesenswert?

Hallo!

Auf dem STK500 sind die LEDs gegen VCC verdrahtet. Daher leuchten sie 
bei Ausgabe einer logischen Null.

Siehe erstes Schaltbild hier:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen


Viele Grüße, Hendrik

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.