Hallo Community,
ich bin neu hier und erst seit einigen Wochen in die AVR-Programmierung in C eingestiegen. Aus diesem Grund ist das alles ziemlich neu für mich. Seit bitte nicht zu hart mit mir wenn ich in sämtliche Fettnäpchen trete![]()
Ich versuche mich zur Zeit an einem Schieberegister Baustein
http://www.produktinfo.conrad.com/da...595B1R_STM.pdf
mit einem ATmega8 anzusteuern. Hier der Code:
Was mir an dem Ganzen zur Zeit ein wenig unklar ist:Code:while(1) { uint8_t Wert; PORTD |= (1<<PORT_SCLR); for (int i = 8; i > 0; i--) { PORTD &=~ (1<<PORT_SER); if (Wert & 0x80) { PORTD |= (1<<PORT_SER); } Wert <<= 1; PORTD &=~ (1<<PORT_SCK); PORTD |= (1<<PORT_SCK); } PORTD &=~ (1<<PORT_RCK); PORTD |= (1<<PORT_RCK); PORTD &=~ (1<<PORT_SCLR);
1. Wenn ich uint8_t Wert; vor der while-Schleife anlege, erkennt der Baustein die Variable Wert nicht und tut nichts, warum???
2. Wie kann ich die Variable Wert verändern??? Wenn ich nach diesem Programmcode ein Wert++; hinzufüge, bleibt die Variable bei ihrem vordefinierten Wert und ändert sich nicht!!!
Vielen Dank im Voraus !!!







Zitieren

Lesezeichen