hallo ich habe einen attiny2313 den ich mit einem 4mhz quarz betreibe.das problem das ich habe,wenn ich etwas mit dem timer programmieren will und es dann in den uc überspiele macht er nicht das was ich wollte.die zeiten stimmen nie.eine lampe blinkt nur mal kurz,ändere ich die zeit nur ein klein wenig geht sie dann nicht mehr aus.kann es sein das ich dem uc sagen muss das da noch ein externer quarz angeschlossen ist. bin über jede hilfe dankbar seeadler
Das was du da beschreibst klingt eher nach einem Bug in der Software. Was ist 'ein klein wenig'?
hi das ist so.ich habe eine schleife die bestimmt wie oft der timer durchlaufen wird.im simulatorr funktioniert es.ändere ich die umläufe nach oben,brennt die lampe nicht länger,sondern blinkt nur mal kurz auf. ab einem bestimmten wert(anzahl der durrchläufe) geht sie dann aberr nicht mehr aus.jetzt habe ich was den fuses bits gelesen.kann das sein das ich da noch was einstellen muss. seeadler
Du solltest auf jeden Fall mal die Shift-Taste reparieren. Die brauchst du nämlich beim Programmieren auch öfters. Vielleicht ist das ja der Fehler im Code :-)
"ich habe einen attiny2313 den ich mit einem 4mhz quarz betreibe." ... "kann es sein das ich dem uc sagen muss das da noch ein externer quarz angeschlossen ist." Klare Antwort: JA Gruß, Magnetus
Indem die Fusebits umgebrannt werden. Wie das genau geht, hängt von deinem Brennprogramm ab, aber dort gibt es auf jeden Fall einen Einstellmöglichkeit dafür. Dann noch: Datenblatt besorgen und nachlesen, welches Fusebit wie gestellt werden muss. Aber: Wenn du das nicht machst, dann läuft der Tiny mit einer anderen Taktfrequenz (1Mhz). D.h. alle Vorgänge sind einfach um den Faktor 1/4 langsamer. Das erklärt aber nicht das Verhalten, dass du ganz am Anfang beschrieben hast.
hi danke für die antworten.ich benutze ponyprog und das avr studio 4.wie kann ich denn jetzt am einfachsten die fusebits auslesen und ändern.ich habe auch gelesen das man irgenwie die bits im datenblatt invertieren muss stimmt das.werde mal versuchen heute abend von zu hause aus mein assambler code einzustellen.müsste klappen wenn nichts dazwischen kommt.aber die fusebits muss ich ja so oder so ändern. seeadler78
hi habe jetzt mal meinen programmcode eingestellt vieleicht könnt ihr mir jetzt helfen seeadler78
> push sregsave > in sregsave ,SREG ... > out SREG, sregsave > pop sregsave Eher andersrum, gell? So machts jedenfalls wenig Sinn.
Ach ja, wenn Deine Interrupt-Subroutine bei 'Licht_80s' startet, solltest Du vielleicht auch dort die entsprechenden pushs und am Ende pops machen und nicht im 'normalen' Unterprogramm 'Licht'. Da bringts nämlich nicht die Masse...
hi könnste wohl recht haben.jetzt habe ich nur noch eine dummheit gemacht. habe die refuse bits chsel geändert.jetzt sagt der tiny wenn ich programmieren will gar nicht mehr,nur das das devise fehlt. bin ein trottel hätte lieber auf eure antwort warten sollen gibts da noch rettung seeadler
Gib Dir doch bitte ein bisschen mehr Mühe beim Schreiben. Ist echt ne Tortur das zu lesen. Rolf hat Dich doch bereits darauf hingewiesen, dass es auch eine Shift-Taste (auf deutsch 'GROSSBUCHSTABENTASTE') gibt. Macht echt keinen Spaß auf so ein Posting zu antworten... Rettung gibts dann, wenn Du weißt, wie die Fusebits (und nicht REFuse...) gesetzt sind. Dann im Datenblatt nachsehen, was der mit den Einstellungen für einen Takt erwartet und ihm dann den gewünschten Takt geben.
Hallo Schreibe jetzt gross.Das heisst ich müsste den entpsprechenden Quarz einsetzen.Im Datenblatt stand bei 3MHz-8MHz 110.Invertiert wäre das dann 001 in Ponyprog. Seeadler78
Hi, versuch's einfach mal mit einem externen Takt am XTAL1-Pin (KEIN Quarz). Z.B. ein 1MHz Quarzoszillator oder irgendwas in der Richtung. Einfach nicht unbedingt über 20MHz gehen und auch nicht allzu tief (Ein Taster reicht nicht ;)).
Hallo Habe jemanden gefunden der mir den Tiny wieder ans laufen bringen kann. jetzt habe ich den Programmablauf nochmal überarbeitet.leider wird der Interrupt beim Zählerüberlauf jetzt nicht ausgelöst.Habe ich irgendwo vergessen ein Register zu setzen.Oder spinnt nur der Simulator. bis dann seeadler78
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.