Ich habe eine verdammt lange Zeit, den AVR-ISP-Header auf meiner Platine zu bekommen, damit ich den Chip tatsächlich flashen kann. Grundsätzlich müssen Sie bei einem ATTINY85 Programmier-Pins mit Pins teilen, die von Ihrem Programm verwendet werden. Ich denke, etwas an dieser Freigabe verursacht Probleme.
J3
Gehen Sie im folgenden Schema J4
zu einer Platine mit 7 adressierbaren APA102-RGB-LEDs. J3
stellt Takt- und Daten-SPI-Signale bereit und J4
liefert Strom und Masse.
Ich habe eine LED-Uhr am Pin PB2
oder SCK
an den ISP-Headern und am LED-Daten-Pin, PB4
der überhaupt nicht mit den ISP-Headern geteilt wird. PB3
steuert einen Hochleistungsschalter an den LEDs, um zu verhindern, dass sie im Schlafmodus Strom ziehen.
Als ich versuchte, ein Programm mit diesem Setup zu flashen, schien es zunächst zu funktionieren, obwohl ich rote Impulse auf den LEDs sehen konnte, was mich überraschte. Aber der letzte Schritt des Hochladens, der Überprüfungsschritt, der überprüft, ob das Programm korrekt geschrieben wurde, ist fehlgeschlagen. Und jetzt kann der Chip nicht mehr programmiert werden, da avrdude nur gibtavrdude: initialization failed, rc=-1
Ich schaffte es, den Chip von der Platine zu entfernen und ihn in einen Sockel in einem Steckbrett zu stecken. In diesem Zustand konnte ich es problemlos flashen, und es funktionierte großartig, als ich es wieder auf die Platine lötete. Aber als ich versuchte, es erneut auf diesem Board zu flashen, passierte genau dasselbe. Offensichtlich ist etwas in meiner Schaltung schuld. Aber ich bin mir nicht sicher, was.
Was hindert meine Schaltung daran, den ATTINY85 zu flashen? Und was kann ich gegebenenfalls tun, um die Komponenten von Programmiersignalen zu isolieren, die sie nicht kennen sollten?
^ Klicken Sie darauf und Sie können sowohl den Schaltplan als auch die Leiterplatte durchsuchen, da Upverter ordentlich ist.
Ich sehe keinen Pull-up auf der Reset-Leitung. Ist das Mikro standardmäßig mit einem internen Pull-Up konfiguriert? Wenn nicht, können Sie möglicherweise programmieren, da der ISP das Mikro trotzdem zurücksetzt, aber der letzte Schritt schlägt möglicherweise fehl, da es vorübergehend aus dem Zurücksetzen kommen muss.
Nur etwas zu überprüfen.
RESET
und VBAT
könnte nicht schaden? Je mehr ich darüber nachdenke, desto mehr scheint der Wechsel zu einem ATTINY84 mit 14 Pins statt 8 ein guter Schachzug zu sein. Auf diese Weise habe ich genug Pins, um laufende Operationen und Programmierrollen nicht teilen zu müssen.
riorax