Forum: Mikrocontroller und Digitale Elektronik ATMega1280 Led Problem


von Viserion (Gast)


Lesenswert?

Ich versuche seit ein paar Tagen einen STK500 mit STK503 Aufsteckboard
und Mega1280 zum laufen zu bringen. Der Chip wird im AVR Studio erkannt,
also ich kann die Signature bytes auslesen. Damit ich sichergehen konnte
das alles funktioniert hab ich ein kleines Programm geschrieben das alle
LEDS leuchten sollen.

Nachdem ich das Programm auf den Chip schreibe passiert gar nichts, es
leuchtet keine einzige LED. Hab mich nun gefragt ob irgendein Defekt 
vorliegt, hoffe das mir jemand helfen kann.

Programmcode:

#include <avr/io.h>

int main(void)
{
DDRB=0xff;
PORTB=0xff;

while (1)
{
}
return 1

}

von Christian (Gast)


Lesenswert?

Die Leds sind low-aktiv! Mit PORTirgendwas=0x00; leuchten die Leds.

In solchen Situationen, wo man sich unsicher ist mit der Logikgattung 
ist es oft sinnvoll, ein Bitmuster zu schreiben, wo ein paar Bits 1 und 
ein paar 0 sind. Mit 0b10101010 müsste die Hälfte der Leds leuchten. 
Wenn mans sich dann genauer ansieht, kriegt man auch leicht raus, welche 
Variante nun die richtige ist.

Grüße
Christian

von Stefan P. (form)


Lesenswert?

Deine while Schleife ist leer, wird wegoptimiert, return!
Mach ein Semikolon rein.

von Justus S. (jussa)


Lesenswert?

sind die LEDs auf dem STK500 nicht gegen GND geschaltet?

von Karl H. (kbuchegg)


Lesenswert?

Stefan P. schrieb:
> Deine while Schleife ist leer, wird wegoptimiert, return!
Da wird nichts wegoptimiert. Der Compiler kann doch nicht einfach eine 
offensichtliche Endlosschleife unter den Tisch fallen lassen!

> Mach ein Semikolon rein.

Kann man machen, muss man aber nicht.

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.