Hi Leute, hab da ein kleines Problem und zwar möchte ich gerne alles LEDs an PORT B einschalten aber es klappt einfach nicht. Hier mein Prog: #include <avr/io.h> #include <stdint.h> int main (void) { DDRB = 0xff; while(1) { PORTB = 0xff; } /* wird nie erreicht */ return 0; } Der Compiler und AVR Studio Funktionieren Korrekt da ich ein Programm geschrieben habe um ein Bit in den EEPROM zu schreiben was auch funktioniert nur das mit den Ports nicht. Die Schaltung ist auch korrekt da es mit einem Assembler Prog. funktioniert. MfG Flo
Wie meinst du das?Gibt es einen Unterschied?Denn mit dem Assembler Programm funktioniert es ja.
Florian idb wrote: > Wie meinst du das?Gibt es einen Unterschied?Denn mit dem Assembler > Programm funktioniert es ja. Auch mit 0xFF im PORTB? Haste mal 0x55 in PORTB geschrieben? Dann müsste eigentlich jede zweite LED leuchten... Ob eine LED high- oder low-side angeschlossen ist, entscheidet, ob die LED mit einer 0 oder einer 1 im PORTx-Register eingeschaltet wird...
Florian idb wrote:
> Ahso.Ja habe im Assembler Programm auch 0xFF drin stehen.
Tja, dann stimmt etwas anderes nicht...
So habe nun das Assembler Prog. mit 0xff getestet --> LED an und im C Prog mit 0x00 --> LED auch an. Das is doch komisch oder?
Florian idb wrote: > So habe nun das Assembler Prog. mit 0xff getestet --> LED an > und im C Prog mit 0x00 --> LED auch an. Hä? Wie das? > Das is doch komisch oder? Allerdings. Das Assemblerprogramm würde ich gerne mal sehen...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.