Hallo Leute, habe heute aus Hast ausversehen auf extern Oszi anstatt auf extern Quarz gefused. Nun will ich ihn wieder erwecken. Im Forum stand mal was, aber ich habe es nicht gefunden. Takt an Xtal1 anlegen? Wer kann mir da weiterhelfen. Habe kein STK 500 bzw externen Oszi... Vielen Dank
Ja, Takt an XTAL1. Takt muß meines Wissens nach 4x so hoch sein wie die Programmer-Frequenz. Das mit XTAL1 steht aber auch im Datenblatt des jeweiligen Controllers. Grüße, Freakazoid
Hi, ich glaube, dass das nur im Parallel Programmiermodus geht. Dazu benötigst du das STK500 oder einen anderen parallelen Programmer. Einfacher wäre da noch der Quarzoszillator oder eine andere Taktquelle, falls das möglich ist. Gruß, Thomas
Teile für einen RC-Oszillator hat eigentlich fast jeder daheim. Ein R, ein C und ein Gatter, das man sich auch diskret aufbauen kann. Das wäre denke ich das einfachste. Ein Quarzoszi gehört aber auch in jede Bastelkiste ;)
die auswahl des taktes hat NICHTS mit der art der programmierung zu tun. der mc braucht immer einen takt wenn er arbeiten soll (egal ob der durch einen internen oszilator oder durch eine externe quelle erzeugt wird). (notfalls geht auch eine sinus-quelle. oder der serielle port des computers.)
Hi! Hast du noch einen weiteren Atmel da ? Dann programmier ihn wie folgt: portpin=output; loop: portpin=1; nop; portpin=0; rjmp loop; (pseudocode g) Dann verbindest du den Output pin mit dem xtal deines falsch programmierten. Dann kannste deinen "toten" ganz normal programmieren ;) Musst mal hier danach suchen, dann findest du auch den Assemblercode für den obigen pseudocode :) (hab lange nichts mehr mit avr asm gemacht und würde nur quatsch schreiben g) Gruss, Simon
[quote]die auswahl des taktes hat NICHTS mit der art der programmierung zu tun.[/quote] Korrigiert mich, wenn ich falsch liege, aber so weit ich mich erinnere geht das Programmieren per ISP nicht, wenn per Fusebits vorher eine falsche Taktquelle gewählt wurde. In diesem Fall kann man aber trotzdem immer noch parallel programmieren. Daher gibt es in diesem Fall nur die 2 Möglichkeiten: 1. Einen passenden Taktgeber anschließen und per ISP die Fuesebits zurück setzen 2. Die Fusebits per paralleler Programmierung zurück setzen Gruß, Thomas
Auf Assembler wär das: .nolist .include "m8def.inc" ;für ATmega8 .list ldi r16, 0x01 out DDRD, r16 ;Für PortD.0 (also 1. Pin in PortD) main: ldi r16, 0x01 out portd, r16 ; 1.Pin an PortD auf high setzen nop ; Päuschen einlegen ldi r16, 0x00 out portd, r16 ; 1.Pin an PortD au low setzen rjmp main ; Und das Ganze nochmal von Vorn Grüße, Hanno
@Berti: Du liegst falsch :) Wenn ein externer Oszillator gewählt wurde erwartet der AVR einen Takt am XTAL1. Alles ander bleibt wie es ist. Was Du meinstest ist, dass, wenn man z.B. die Funktion des RESET Pin "verbogen" hat (was bei einigen AVRs geht), ISP nicht mehr funktioniert.
Schau dir doch einfach mal im Datenblatt des betreffenden AVRs unter Clock Sources an, welche externen Taktquellen der AVR unterstützt und wie sie angeschlossen werden. Die Schaltbilder dazu stehen auch im Datenblatt. Nun kannst du eine Möglichkeit nach der anderen durchprobieren. Anders ist es, wenn du Reset deaktiviert hast (Portpin draus gemacht) oder ISP deaktiviert hast, dann hilft nur noch der HV- (Hochvolt-)Programmiermodus, wie ihn z.B. das STK500 und einige Nachbauten kann. Dass der Umgang mit den Fusebits Aufmerksamkeit erfordert, hast du nun sicherlich selbst gemerkt, also erübrigen sich weitere Warnungen... ;-( ...
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.