ATtiny45-Pin-Wechsel-Interrupt PB5?

Auf den ATTiny45- Datenblättern heißt es, dass PB5 als digitaler IO-Pin verwendet werden kann und ich ihn verwenden möchte, um einen Pin-Wechsel-Interrupt auszulösen. Mein einziges Problem ist, dass es auch der Reset-Pin ist und in dem Moment, in dem ich ihn mit Masse verbinde Versuchen Sie, einen Interrupt auszulösen, der den ATTiny zurücksetzt. Ist es möglich, diesen Pin für Interrupts zu verwenden, und wenn ja, wie?

Es gibt eine RSTDISBLSicherung, auf die Sie einen Blick werfen können, aber auf ein paar Vorbehalte kann wahrscheinlich jemand hinweisen.
Ich möchte ISP nicht wirklich aufgeben, werde ich dazu gezwungen?
@Gerhman: Ja. Aber es gibt sehr einfache Schaltungen, um nRESET wieder zu aktivieren. Oder HVSP machen.

Antworten (1)

Bis ich heute das ATtiny45-Datenblatt überprüft habe , war ich überzeugt, dass Sie den AVR nicht programmieren können, nachdem Sie RSTDSBL in Fuse High Byte programmiert haben. Aber dann bin ich über diesen Hinweis unter Tabelle 6-7 Anlaufzeiten für intern kalibrierten RC-Oszillatortakt gestolpert

Hinweis: 1. Wenn die RSTDISBL-Sicherung programmiert ist, wird diese Startzeit auf 14CK + 4 ms erhöht, um sicherzustellen, dass der Programmiermodus aufgerufen werden kann .

Jetzt wird nicht erwähnt, auf welchen Programmiermodus verwiesen wird, entweder Hochspannung oder SPI. Wenn Ihr Programmiergerät dies unterstützt, können Sie möglicherweise innerhalb von 4 ms nach dem Einschalten in den Programmiermodus wechseln, anstatt die Taste " ZURÜCKSETZEN ¯ -line-Protokoll" (den richtigen Namen dafür nicht kennen). Sie sollten dies sogar überprüfen können, ohne die RSTDISBL-Sicherung zu programmieren, und nur durch Programmieren der Startzeiten (SUT [1: 0] in Fuse Low Byte) für der interne RC-Oszillator.

Kapitel 20 ab Seite 147 erläutert verschiedene Modi zur Programmierung der Geräte, erwähnt aber nicht die Sicherung RSTDISBL. Anscheinend braucht man Trial-and-Error, um 100% sicher zu sein ...

Ich persönlich benutze Arduino, um AVRs zu programmieren, und ich nehme an, man sollte in der Lage sein, die ArduinoISP-Skizze zu hacken, um den AVR einzuschalten und den Programmier-Handshake innerhalb von 4 ms danach zu starten. Aber selbst ausprobiert habe ich es nie.

Natürlich könnten Sie die Sicherungen für Ihren Controller mit einem Hochspannungsprogrammierer wie dem AVR Dragon zurücksetzen . (Dragon ist anscheinend nicht in der Lage, das Zielgerät aus- und wieder einzuschalten, daher unterstützt Dragon die Programmierung nicht, ohne die ZURÜCKSETZEN ¯ -Linie). Andererseits unterstützt Dragon die HV-Programmierung, was Ihr Problem so oder so löst.

Oder Sie könnten einen HV-Programmierer improvisieren , um die Standardsicherungen zurückzusetzen.

Ja, das ist der Programmierer, den ich verwendet habe. Außer dass ich alle Interaktivität entfernt und auf einen ATtiny2313 geschoben habe. Spannung anlegen, nRESET ist aktiviert.