Hallo zusammen! hab da ein proplem und hoffe mir kann hier geholfen werden.Erstmal der code $regfile = "atTiny13.dat" $crystal = 1200000 $hwstack = 24 $swstack = 16 $framesize = 32 Config Portb.0 = Input 'Hier 'Taster1 Config Portb.2 = Output 'Hier Led1 Config Portb.1 = Input 'Hier 'Taster2 Config Portb.3 = Output 'hier Led2 Config Debounce = 100 Reset Portb.2 Reset Portb.3 Set Portb.0 Set Portb.1 Do Debounce Pinb.0 , 0 , Schalter1 , Sub Debounce Pinb.1 , 0 , Schalter2 , Sub Loop Schalter1: Portb.2 = 1 Wait 2 Portb.2 = 0 Return Schalter2: Portb.3 = 1 Wait 1 Portb.3 = 0 Return End so und jetz mein problem. ich brauche gleichzeitig 2 funktionen und bring das einfach nicht auf die reihe. wenn zb.taste 1 kurz getrückt wird,soll eine zeit ablaufen die erst led 1 dann led 2 einschaltet und später beide ausschaltet.dennoch soll in dieser zeit auch taste 2 eine zeit steuerfunktion haben.sobald ich bei portb 2 ein WAIT einsetze,ist die funktion für taste 2 ausser betrieb. wie kann man das anders machen??wäre nett wenn ich hier hilfe bekomm.danke im vorraus!
In einem Timer-IRQ die Tasten abfragen und entprellen, da eine globale volatile Variable setzen und die in der Hauptschleife auswerten.
nutze er doch einen Timer. in der ISR wird dann das T-Flag gesetzt und im Unterprogramm Schalter1/2 wird auf das T-Flag abgefragt ob 1 oder 0 und solange die Zeit nicht abgelaufen ist kann man immer ziwschen durch die Taster abfragen. Aber erzähl doch mal was steht hinter dem Projekt ein Test oder soll es im Reallife eingesetzt werden?
HY!danke Kenn mich trotzdem nicht aus! :) wie macht man sowas? bitte um eure mithilfe!! der zweck dieser sache ist eine steuerung für eine heizung die man zwecks datenbus un so zeug nua fernsteuern kann.jetz muss ich die fernbedienung öfnen und von den 3 tastern (MODE,ON.OFF) pins rausführen und diese mit gsm fernschalten.jetzt muss zum einschalten MODE für 3 sec gebrückt werden,dann ON für 1 sec.wenn mann innerhalb von 60 sec wieder anruft,muss wieder MODE dann OFF gebrückt werden.sobald eingeschaltet wird,sollen 60 min ablaufen und der MC kann schlafen gehen.schlafen gehen soll er auch gleich nach dem OFF befehl an die fernbedienung. kann mir da jeman so einen Timer code ungefähr zurecht legen.bin da etwas schwach auf der brust. diese ganzen zeiten geb i mier dan schon selbst ein! :) EINEN HERZLICHEN DANK SCHON MAL!!!!
gucks du hier: http://www.mikrocontroller.net/articles/AVR-Tutorial Schreibe selbst nur in ASM, in Bascom kenn i mich leider nicht aus lesen ja aber schreiben...
danke nochmal!!ich versuchs.vielleicht wirds jetz was.oder hatt da doch noch jemand etwas für mich?? BITTE!! :)
NE,NE,NE,NE!!!!!!Das wird nix!!!! Kann mir jemand so einen code mit dem timer für 2 taster zukommen lassen?? Wäre echt sehr erfreut!
Klar Hausaufgaben u.ä. werden hier umsonst erledigt ... Entweder Du bist in der Lage das Tutorial zu lesen und zu verstehen oder nicht. Es gibt auch Tutorials für Basic einfach mal danach suchen ...
Du darfst das Wait nicht blockierend machen. Man läßt z.B. einen Timerinterrupt laufen, der dann nach Ablauf der Zeit einen Callback ausführt. Inzwischen können dann die anderen Tasks ausgeführt werden. Ich hab dafür eine C-Lösung: Beitrag "Wartezeiten effektiv (Scheduler)" Peter
Danke Peter! Nach Langem herum probieren hab ich dann eine nicht schöne aber gut funktionierende Lösung gefunden!
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.