Hallo ich habe eine frage und zwar habe ich mir ein Buch gekauft um Bascom zu lernen.Jetzt habe ich ein Programm geschrieben um mit Timer0 ein Signal für einen Pieper zu erzeugen das klapt auch.Aber gleichzeitig habe ich in meiner Hauptschleife den befehl do portd.7=not portd.7 waitms 200 loop Der Timer0 hat eine interrupt routine. Im Programm sind crystal richtig eingestellt und die Fusebits sind auch richtig aber die led blinkt nicht auch wenn ich sie auf eine sek. stelle warum?
Vielleicht hast du den Port Pin ja nicht auf Ausgang gestellt? Du hast jetzt schon ein paar mal gepostet. Eigentlich solltest du schon wissen, dass man komplette Programme herzeigt, damit sich die Helfer den nicht gezeigten Rest nicht dazuerfinden müssen.
$regfile = "m8def.dat" $crystal = 3686400 On Timer0 Ontimer0 Ddrd = &B11000000 Config Timer0 = Timer , Prescale = 8 Enable Timer0 Enable Interrupts '----------------------------------------------------------------------- -------- Do portd.7=not portd.7 Wait 1 Loop End '----------------------------------------------------------------------- ------- Ontimer0: Portd.6 = Not Portd.6 Return
Das sollte man nicht so machen. Ueberlegen was genau geschieht und eine Hilfsvariable verwenden. PortD.7:=HVar; HVar:=not HVar;
Ja ist richtig angeschlossen an PD7 sie ist auch an aber blinkt nicht.Externe quarz ist auch dran und eingestellt.Der Summer geht auch. Habe es auch schon mit dem toogle befehl versucht
Kann ich nicht bestätigen. Gerade in einen Mega16 gebrannt (hab keinen Mega8 mehr da) 2 LED agieren die an Pin7 blinkt, so wie sie es soll die an Pin6 blinkt auch, nur seh schnell, so dass man das Blinken selber nicht mehr sieht. Ist aber auch klar, die Timer Interrupts kommen sehr schnell.
Kann es sein, dass dir dein Summer das System ständig zum Absturz bringt? Wie sieht deine Hardware aus?
'------------------- Do portd.7=not portd.7 Wait 1 Loop End '------------------- wenn die LED an PD7 ist, kann es sein das WAIT 1 einfach nur viel zu kurz ist um ein Blinken su sehen ?
Nikolausi schrieb: > '------------------- > Do > portd.7=not portd.7 > Wait 1 > Loop > End > '------------------- > wenn die LED an PD7 ist, kann es sein das > WAIT 1 einfach nur viel zu kurz ist um > ein Blinken su sehen ? Nope. Die 1 sind hier 1 Sekunde. Selbst wenn er mit dem Takt grob daneben liegt, blinken muss sie auf jeden Fall.
Ja ich hatte vorher wie im Programm ms 200 eingestellt dann habe ich mir auch gedacht das sie vielleicht zu schnell ist und auf 1s erhöht
Ich tipp eher auf wieder mal nicht verbaute Blockkondensatoren, so dass der µC ständig resettet, wenn der Summer einschaltet.
Ich habe das Testboard von myavr da sind alle Kondensatoren usw. verbaut
:
Wiederhergestellt durch User
weinbauer schrieb: > warum nur tut man sich C an wenn es auch eine schöne Syntax gibt Du meinst so wie in BASCOM, wo man keine arithmetischen Ausdrücke mit mehr als einem Operator schreiben kann? (Nichts für ungut, BASCOM ist nicht so schlecht wie sein Ruf hier)
Außerdem finde ich Bascom einfacher zu lernen.Wenn ich dann erstmal raus habe wie genau so ein MC funktioniert und einsetzbar ist kann ich immer noch C lernen
Wieso??? schrieb: > Wenn ich dann erstmal raus > habe wie genau so ein MC funktioniert und einsetzbar ist kann ich immer > noch C lernen Da hast du auch wieder recht :)
Wieso??? schrieb: > Außerdem finde ich Bascom einfacher zu lernen.Wenn ich dann erstmal raus > habe wie genau so ein MC funktioniert und einsetzbar ist kann ich immer > noch C lernen BASCOM ist der leichte Weg. Damit wirst du nicht besonders viel darüber lernen, wie dein µC funktioniert. So wie sich 'Malen nach Zahlen' nicht besonders gut dazu eignet, malen zu lernen. Man hat schnelle Erfolgserlebnisse, ja. Aber all die Themen, die Malen erst spannend machen: Themenwahl, Licht und Schatten, Farbwahl, Bildkomposition, all das hat bereits jemand vorgedacht und so aufbereitet, dass man sich keine Gedanken mehr darüber machen muss. BASCOM ist ähnlich. Für die meisten Dinge, auf die du in nächster Zeit stossen wirst, gibt es vorgefertigte Bausteine. Dagegen ist so erst mal nichts zu sagen, das garantiert erste Erfolgserlebnisse. Nur Einblicke, wie die Dinge funktionieren ... die gewinnt man dadurch nicht.
Ehrlich gasagt hatte ich sogar erst mit C angefangen,aber ich hatte nur sehr kleine Erfolge wie z.B. Led anschalten ausschalten und das ganze auch mit Taster.Aber das war es auch schon.Mit Bascom habe ich jetzt es schon geschaft den Timer/LCD/ADC usw. zu benutzen.Zwar hatten die Programme nicht wirklich einen sinn aber zum üben waren sie ok.Mir geht es nähmlich tierisch auf die nerven bei C immer auf andere angewiesen zu sein.Ich will das endlich mal alleine schaffen irgendwas zu programmieren
PS: Man muss ja nicht die Bausteine benutzen wie z.B. beim Timmer ich kann ja auch die einzelnen Register selbständig Programmieren in dem Buch sind immer beide Wege beschrieben
Was die Highlevelbefehle angeht, die sind in Bascom wenigstens dokumentiert, wie viele Threads hier gab's schon von wegen Funktion X mit Lib von Hans Müller, ich bekomms nicht hin ... ?? Schenkt sich dann auch nix. Und wie schon geschrieben, den direkten Zugriff auf die Register hat man in Bascom auch. Die Arithmetik ist nervig, zugegeben.
weinbauer schrieb: > Was die Highlevelbefehle angeht, die sind in Bascom wenigstens > dokumentiert, nur lesen sie die wenigsten Fragsteller :-) > wie viele Threads hier gab's schon von > wegen Funktion X mit Lib von Hans Müller, ich bekomms nicht hin ... ?? Eigentlich relativ wenige. Die meisten Threads drehen sich um LCD. Und da stellt sich dann oft raus, dass der Anschluss falsch war, dass die Taktfrequenz nicht stimmt oder dgl. Und wenn es tatsächlich Fragen nach irgendwelchen Funktionen gibt, dann ist das Problem hie wie da dasselbe: Selbstüberschätzung und das Nichtlesen von Doku > Schenkt sich dann auch nix. Genau
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.