Das Programmieren eines ATTINY85 auf der Platine bereitet mir einige Probleme

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.

J3Gehen Sie im folgenden Schema J4zu einer Platine mit 7 adressierbaren APA102-RGB-LEDs. J3stellt Takt- und Daten-SPI-Signale bereit und J4liefert Strom und Masse.

Ich habe eine LED-Uhr am Pin PB2oder SCKan den ISP-Headern und am LED-Daten-Pin, PB4der überhaupt nicht mit den ISP-Headern geteilt wird. PB3steuert 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?

Chakra-Anhänger von Squeegy 46acb26f5f80a881 - Upverter http://upverter.com/Squeegy/46acb26f5f80a881/Chakra-Anhänger/embed_img/14256226900000/

^ Klicken Sie darauf und Sie können sowohl den Schaltplan als auch die Leiterplatte durchsuchen, da Upverter ordentlich ist.

VCC auf dem ISP-Header muss möglicherweise verbunden werden. Beispielsweise verlässt sich der Atmel JTAGICE3 auf den VCC-Pin, um das Ziel mit dem richtigen Spannungspegel anzusteuern. Daher können andere ISP- oder ICE-Tools dasselbe erfordern.

Antworten (1)

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.

Das ist das erste, was ich gehört habe, dass dies erforderlich sein könnte. Wie gesagt, ich kann den Chip in einem Steckbrett ohne Widerstand am Reset-Pin programmieren. Aber ich nehme an, ein 10K-Widerstand zwischen RESETund VBATkö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.
Ja, ich empfehle, zuerst einen 10-km-Klimmzug zu versuchen. Du steckst höchstwahrscheinlich im Reset fest. Lass mich wissen ob es funktioniert!