Hallo ich bin ganz neu im Bereich Microprozessoren und wollte euch deshalb um eure Hilfe bitten ! Ich habe zwar in der Schule assembler gelernt aber das ist leider zu lange her :( Also es geht darum ich will über einen Taster eine Led ansteuern und zwar wie folgt: Taster kurz gedrückt led aktiviert sich für 30 sekunden Tester nochmals gedrückt wieder 30 sekunden Taster 2 Sekunden gedrückt Led schaltet sich an und bleibt an. Taster nochmals 2 Sekunden gedrückt Led geht aus und aktiviert wieder das mit den 30 Sekunden Ich habe es versucht zu prgrammieren und kann es aber leider erst ausprobieren wenn ich alles zusammen habe, muss mir alles neu kaufen für AVR Könntet ihr vielleicht kurz in das Programm sehen ob das so funktionieren kann ? MFG Daniel
daniel w. schrieb: > Ich habe es versucht zu prgrammieren und kann es aber leider erst > ausprobieren wenn ich alles zusammen habe, muss mir alles neu kaufen für > AVR es gibt auch einen Simulator - den braucht man nicht kaufen.
Ja schon aber wie kann ich mit dem die zeitschleifen umgehen ? oder muss ich jetzt die 60000 zyklen durchklicken ? MFG
setze ein Breakpoint nach der Zeitschleife und lass ich laufen (run)
wo finde ich run ? bedeutet das er läuft dann durch wie im betrieb ?
ich habe das avr studio jetzt nich da (auf arbeit) aber es sollte sollte für jeden Entwickler in ein paar sek ergründbar sein. Zur not gibt es ja auch noch eine hilfe.
hmm naja eigentlich nicht aber ich habe nur diesen grünen play pfeil (continue) und dabei macht er irgendwie nix bis ich alles einzeln durchgehe
danke allerdings habe ich es schon gelesen ! unter anderem habe ich auch mit diesen tutorial mein programm geschrieben. aber wie gesagt ich bin ganz am anfang mit assembler, und ich denke für die meisten von euch war es am anfang sicher auch einfacher bzw. hilfreich wenn mal ein profi drüber schaut und tipps gibt ob das so gehen kann oder nicht ? mfg daniel
Leider ist das Programm ohne groeseren Zeitaufwand nicht zu durchschauen. Ein paar Sachen: In der Interruptroutine das Statusregister sichern. In der Interruptroutine nicht in eine Endlos-Sleep Schleife springen. ----- LEDON: sbis PORTB,1 ;Überspringe wenn Led an ist ? cbi PORTB,1 ;schalte led an ? rjmp LEDOFF ? LEDOFF: sbi PORTB,1 ; Led ausschalten reti ;zurück zu interrupt ? ??? keine Ahnung. ----- zum AVR Studio: mit F10/F11 kann man einzelne Befehle durchgehen. Die Zeitschleife kann man ueberspringen - Cursor an das Ende setzen und rechte Maustaste und entweder RUN TO CURSOR ( Zeitschleife wird abgearbeitet, dauert aber auch ne Weile) oder SET NEXT STATEMENT ( Zeitschleife wird uebersprungen ).
oder man wirft die Warteschleife für den Test raus und testet nur die sonstigen Funktionen. Man kann auch eine stark verkürzte Schleife für den Test einbauen, dann kann man sogar mit Schleife simulieren ohne ewig warten zu müssen. bye Frank
Hey danke erstmal für eure Antworten ! MIt ihnen ist mir schon sehr viel geholfen :-) wie ich durch euch bemerkt habe stimmt da wohl so einiges nicht was mir auch noch nicht ganz klar ist ! Ich werde das Programm mal komplett neu aufbauen mit all euren Tipps und werde mich auch nochmal mit dem Tutorial was interrupt und Stack betrifft ausseinandersetzen. ich werde es dann nochmal posten ich hoffe dann sehr vereinfacht ! Mfg Daniel
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.