Hi, Ich habe vor einiger Zeit eine Schaltung im Internet gefunden, in der ein ATTiny 15L verbaut ist. Die Schaltung habe ich auf einer Platine aufgebaut und angeschlossen. Bei der Schaltung war auch die Software in Assembler dabei, die auf den µC kommt. Ich konnte die auch übertragen, jedoch muss man den internen Takt auf 1,6 Mhz einstellen und da fängt mein Problem an. Ich weiss, dass ich das Taktbyte auslesen muss und in das erste und letzte Register des Programmes schreiben muss, was ich auch getan habe. Des weiteren muss ich das Taktbyte ebenfalls in dem Programm an eine bestimmte stelle schreiben, die ich auch gefunden habe. Jedoch funktioniert das nicht. Ich habe das auch schon mit einem zweiten µC versucht und beide auch noch nicht gelöscht, jedoch ändert sich am Takt rein garnichts. Ich verstehe NICHTS von Assembler und bin gerade erst dabei mich mit µC und Bascom auseinander zu setzten. Ich habe schon seit fast zwei Wochen im internet gesucht, das Datenblatt durchgelesen und auch schon den Programmierer der Software gefragt (Der mir nicht viel helfen konnte, da er nicht PonyProg benutzt). Jedoch ohne Ergebniss. Ich hoffe ihr könnt mir da weiter helfen. PS: Ich Flashe den µC mit PonyProg unter Windows XP mit dem Pollin Evaluations-Board.
Killerawft schrieb: > Hi, > > Ich habe vor einiger Zeit eine Schaltung im Internet gefunden, in der > ein ATTiny 15L verbaut ist. Die Schaltung habe ich auf einer Platine > aufgebaut und angeschlossen. Bei der Schaltung war auch die Software in > Assembler dabei, die auf den µC kommt. Ich konnte die auch übertragen, > jedoch muss man den internen Takt auf 1,6 Mhz einstellen und da fängt > mein Problem an. > > Ich weiss, dass ich das Taktbyte auslesen muss und in das erste und > letzte Register des Programmes schreiben muss, was ich auch getan habe. Falsch, in der ersten Speicherzelle steht der Reset-Vektor, der darf nicht verändert werden. Ich gehe mal davon aus, dass das L-Byte und H-Byte der letzten Flash-Adresse gemeint ist, denn da steht das "Taktkorrekturbyte" auch bei einem neuen Tiny15 drin. > Des weiteren muss ich das Taktbyte ebenfalls in dem Programm an eine > bestimmte stelle schreiben, die ich auch gefunden habe. Auch falsch, der von Dir auskommentierte Teil des Programms liest ja das L-Byte der letzten Flash-Zelle aus, prüft es auf Plausiblität (ein "leeres" Byte hätte den Wert FFh) und schreibt es, falls nicht FFh, in das OSCCAL-Register. Aber: Mit der von Dir gemachten Änderung müsste es auch gehen, ist zwar nicht so elegant wie das Original und lässt sich auch nicht automatisieren, erfüllt aber (mit beträchtlichem Mehraufwand beim Flashen) auch seinen Zweck. > Jedoch > funktioniert das nicht. Ich habe das auch schon mit einem zweiten µC > versucht und beide auch noch nicht gelöscht, jedoch ändert sich am Takt > rein garnichts. Woran erkennst Du, dass sich am Takt nichts ändert? > Ich verstehe NICHTS von Assembler und bin gerade erst dabei mich mit µC > und Bascom auseinander zu setzten. Das hat eigentlich nichts mit Assembler zu tun, sondern lediglich mit dem gewöhnungsbedürftigen Umgang mit einem (inzwischen veralteten) Mikrocontroller, dessen interner Taktgeber noch per Hand korrigiert werden muss, um die Fertigungstoleranzen zu kompensieren. > Ich habe schon seit fast zwei Wochen im internet gesucht, das Datenblatt > durchgelesen und auch schon den Programmierer der Software gefragt (Der > mir nicht viel helfen konnte, da er nicht PonyProg benutzt). Jedoch ohne > Ergebniss. Ich hoffe ihr könnt mir da weiter helfen. Also Deine Programmänderung erfüllt denselben Zweck wie das Original. Damit müsste der Taktgeber korrekt laufen. Wenn das nicht der Fall ist, dann bedienst Du Ponyprog oder AVR-Studio falsch. Da auch ich kein Ponyprog benutze, kann ich Dir auch nicht sagen, was Du falsch machst. Im Prinzip musst Du das exemplarabhängige "Calibrationsbyte" (nicht das Fusebyte, auch nicht eines der Signature-Bytes und auch nicht den aktuellen Wasserstand an der Loreley) auslesen. Dies muss dann in den Programmcode übernommen werden. Bei Deiner Variante muss das Programm danach auch noch (mit AVR-Studio4) neu übersetzt (assembliert) werden, ehe es in den Controller übertragen werden kann. > > PS: Ich Flashe den µC mit PonyProg unter Windows XP mit dem Pollin > Evaluations-Board. Ich hoffe, es findet sich jemand, der sich mit Ponyprog auskennt und Dir erklären kann, welche Mausklicks nötig sind, um Dein Problem zu lösen. MfG
> Falsch, in der ersten Speicherzelle steht der Reset-Vektor, der darf > nicht verändert werden. Ich gehe mal davon aus, dass das L-Byte und > H-Byte der letzten Flash-Adresse gemeint ist, denn da steht das > "Taktkorrekturbyte" auch bei einem neuen Tiny15 drin. In der nächsten Woche steht bei mir einiges auf dem Termin-Kalender also werde ich warscheinlich nicht großartig dazu kommen hier zu antworten oder bei dem µC aktiv zu werden, aber danke für die Informationen, mit denen komme ich bestimmt bald noch einen Schritt weiter. > Woran erkennst Du, dass sich am Takt nichts ändert? Als die Schaltung nicht funktionierte wie sie sollte, habe ich den Entwickler der Schaltung die Fehler beschrieben, und der sagte mir, dass der Takt falsch sei. Da ich vorher auch nichts in der Richtung gemacht hatte hab ich mich sofort angefangen zu suchen, wie man den bei dem ATTiny 15L einstellt. Und bis jetzt bleibt der Fehler.
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.