Ich habe ein Problem mit meinem ATTiny85. Ich sollte erwähnen, dass ich Arduino als ISP verwende, um es zu programmieren.
Mein ATTiny hat einwandfrei funktioniert, bis ich beschlossen habe, die Taktrate von 1 MHz auf 20 MHz zu erhöhen. Deshalb habe ich im Menü Boards ATTiny85 mit 20 MHz ausgewählt und dann auf Extras> Bootloader brennen geklickt. Aber das war dumm, da mein ATTiny jetzt überhaupt nicht mehr funktioniert. Ich kann keine Skizzen hochladen und wenn ich es versuche, erhalte ich folgende Nachricht:
avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.
Meine Frage an Sie wäre also, gibt es eine Möglichkeit, das, was ich getan habe, zurückzusetzen? Oder noch besser, damit es bei 20MHz funktioniert?
Blink
Beispiel. Wenn das gut funktioniert, können Sie zu Ihrem ArduinoISP zurückkehren (ich glaube, das ist der Name der Programmiersoftware, die Sie verwendet haben).Antworten:
Ich vermute, Sie haben die Sicherungen des Controllers so eingestellt, dass sie eine externe Taktquelle verwenden, da es unmöglich ist, den internen Oszillator mit 20 MHz zum Laufen zu bringen. Sie können Ihrem Controller neues Leben
CLKI
einhauchen, indem Sie ein Taktsignal an Pin 2 anschließen und versuchen, den Takt auf den internen 8-MHz-RC-Takt zurückzusetzen.Es gibt tatsächlich eine 'feste' Version von ArduinoISP , die einen Taktausgang an digitalem Pin 9 hat. Ich habe diesen Taktausgang nicht selbst getestet, aber es lohnt sich, ihn auszuprobieren. Verbinden Sie also zusätzlich zu den Verbindungen, die Sie bereits zwischen Arduino und ATtiny haben, den digitalen Arduino-Pin 9 mit dem ATtiny85-Pin 2 (CLKI). Versuchen Sie dann, den internen 8-MHz-RC-Takt zu programmieren.
Weitere Informationen finden Sie im Datenblatt in Kapitel 6.2, „Taktquellen“.
Eine alternative Methode ist die Verwendung eines Hochspannungsprogrammiergeräts, das mit einem Arduino leicht improvisiert werden kann .
Übrigens: Ähnliches passiert, wenn Sie eine RC-Taktquelle <1 MHz auswählen. In diesem Fall läuft Ihr Controller-Takt für die Standard-ArduinoISP-Software zu langsam.
quelle
Wie @jippie sagte, ist dies einfach eine Frage der Anwendung einer externen Taktquelle (es spielt eigentlich keine Rolle, ob die Taktquelle 20 MHz ist oder nicht, sie muss nur etwa 1 MHz erreichen, um die SPI-Programmiergeschwindigkeit von ArduinoISP zu verwalten).
Als Alternative zur oben erwähnten ArduinoISP-Version können Sie ScratchMonkey ausprobieren , das neben der Taktgenerierung auch Software-SPI verwendet, um einige andere Taktprobleme zu lösen. Sofern Sie Ihren Reset-Pin nicht deaktivieren konnten, sollte es keinen Grund geben, auf Hochspannungsprogrammierung zurückzugreifen.
quelle