Moin Leute, ich habe folgendes Problem, ich habe vor zwei Jahren schoneinmal in der ausbildung mehrfach µCs programmiert, nur sitze ich jetz seit Stunden und versuche einfach mal wieder reinzukommen. Habe seit längerem ein STK-500 liegen und nen Atmega8515. Verbindung steht, er lässt sich auch programmieren. Jetz wollte ich damit anfangen einfach nur LEDs mit den Tastern auf dem Board zu steuern, aber das will mir irgendwie nicht gelingen. Ich hab bisher schon einige Dinge ausprobiert und mich dabei an das hiesige Tutorial gehalten. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Kann mir mal jemand unterstützung zum Einstieg bieten? Bzw. ein kurzes und knappes programm empfehlen, damit ich meine fehler erkennen kann? greetz Jannes
:
Verschoben durch User
Jannes Borchers schrieb: > Kann mir mal jemand unterstützung zum Einstieg bieten? Bzw. ein kurzes > und knappes programm empfehlen, damit ich meine fehler erkennen kann? Programmieren lernst du nur indem du selbst was machst. Das Tutorial sollte dir dazu genügend Infos für den Anfang bereitstellen. Ein anderes Programm in deinen Controller zu flashen wird dir nichts an Erkenntnis bringen. Die Programme zum Fehler erkennen nennen sich compiler / debugger /simulator. Wenn du ein konkretes Problem hast poste es. Du hast ja noch nicht mal geschrieben welche Programmiersprache du verwenden willst.
Also programmieren will ich in C, da ich mich da schon etwas auskenne. Hiermal ein programmbeispiel. #include <stdio.h> #include <avr/io.h> uint8_t set; //Variable deklarieren int main(void) { DDRB = 0xFF; //PortB als Ausgang definieren DDRD = 0x00; //PortD als Eingang definieren set = PIND; //Porteingangsregister in Variable set laden PORTB = set; //Variable set an PortB übergeben } Nur leider passiert an den ausgängen nichts, habe auch schon ein paar andere Codes ausprobiert, aber komm grade leider einfach nich dahinter. Normalerweise probiere ich solange, bis ich den Fehler selbst finde nur geht mir langsam echt die Motivation aus...
Genau, er braucht eine Endlosschleife, in der das Programm ausgeführt wird, sonst steht der Prozessor nach dem ersten Programmdurchlauf.
Jannes Borchers schrieb: > set = PIND; //Porteingangsregister in Variable set laden Was stellst du dir denn unter PIND vor?
Jo danke, das Programm läuft. Ich hatte viel zu kompliziert gedacht ;) Gustav schrieb: > Was stellst du dir denn unter PIND vor? Unter PIND stelle ich mir da zu Port D gehörige Regiter zum einlesen der Zustände an den Pins vor, sofern der Port als Eingang definiert is, oder verstehe ich da was falsch?
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.