Arduino Nano ISP wird zum Zielprogramm (sowie zur Ziel-MCU)

Ich versuche, einen Nano V3-Klon als ISP zu verwenden, um atmega328p zu programmieren, da ich noch keinen dedizierten Programmierer habe. Als Teil der Fehlerbehebung versuche ich gerade, ein anderes Breakout-Board mit ISP-Headern mit etwas Einfachem wie dem Beispiel-Blink-Sketch zu programmieren. Soweit scheint alles gut zu laufen:

  1. Ich kann die Programmierskizze auf den Programmierer Nano hochladen
  2. Das Programm läuft gut mit pulsierendem Herzschlag
  3. Ich kann den Zielausbruch mit der Blink-Skizze mit Arduino IDE programmieren

Allerdings passiert hier das Schlimme - Der Programmierer Nano verwandelt sich AUCH in Blink:

https://photos.google.com/photo/AF1QipMNj2wmq_h_MR-qT5HvR7pq6VMZ7ltLyJ8zhVHv

Ich kann tatsächlich Abhilfe schaffen, indem ich einfach zu AVRISP mk2 zurückwechsele und die ArduinoISP-Skizze erneut hochlade und dann ist der Programmierer Nano wieder ein ISP-Programmierer und der andere blinkt immer noch. Aber es ist einfach komisch und ich möchte das wirklich nicht als Teil meines Arbeitsablaufs und vielleicht habe ich deswegen andere Probleme, die ich nicht verstehe.

Um bei meinem Setup ganz klar zu sein:

  1. Ich bin auf OSX und verbinde ein USB-Kabel mit einem Nano V3-Klon. Ich habe die Beispielskizze 'ArduinoISP' ab Arduino IDE 1.8.5 hochgeladen (ich glaube, sie wurde kürzlich aktualisiert).
  2. Der Nano scheint diese Skizze abzulaufen - der Herzschlag pulsiert
  3. Ich verbinde 5 der 6 Pins auf ISP 1-1, alles außer dem Reset, den ich von D10 auf dem Programmiergerät verbinde, um auf dem ISP-Header des Ziels zurückzusetzen - alles gemäß den Anweisungen.
  4. Ich ändere den Programmierer in Arduino IDE auf 'Arduino as ISP' und lasse alles andere intakt, Port - gleicher USB-Port, Prozessor - immer noch atmega328p, Board - immer noch arduino nano.
  5. Blink hochladen

Dadurch wird auch der Programmierer zu Blink.

"5. Blink hochladen" - "Hochladen" oder "Hochladen mit Programmierer"?
@BruceAbbott Ugh! Hatte den nicht gesehen. Ich denke, ich dachte nur, dass das Hochladen den ausgewählten Programmierer verwenden würde ... Das ist höchstwahrscheinlich alles, jetzt weg von Sachen, aber ich werde es morgen versuchen. Danke!

Antworten (1)

Ich würde einen Kommentar hinzufügen, kann aber nur eine Antwort hinzufügen, sorry.

Sie müssen einen Kondensator zwischen Reset und Masse auf dem 'Programmierer' Arduino hinzufügen. 10uF, achten Sie auf die richtige Polarität.

Dies verhindert, dass der Nano beim Hochladen des Blink-Sketch in den Programmiermodus zurückgesetzt wird. Sie können dann auch das normale Upload-Icon verwenden.

Andere haben ein Hochziehen von 10k zwischen Vcc und Reset und eine Obergrenze zwischen Vcc und Masse empfohlen, wie hier: arduino.stackexchange.com/questions/17762/… Aber der Punkt ist, den Reset hoch zu halten, auch wenn die USB-Schnittstelle kurze Tiefs erzeugt dass es?
@ViktorHedefalk Das ist genau die Idee. Es gibt bereits einen 10k-Pullup gemäß dem nächsten Diagramm, das ich zur Hand habe (Uno Rev. 3), also würde dies effektiv einen 5k-Pullup ergeben. Ich habe mich nie darum gekümmert, ein Oszilloskop auf Reset zu setzen, um es im Detail zu betrachten, da das Hinzufügen des 10-uF-Kondensators zwischen Reset-Gnd für mein Setup funktioniert.
Der Pullup oder die Kappe hilft dabei, das Programmier-Arduino nicht zu programmieren, danke! Ich kann jedoch immer noch keinen meiner Nano- oder Uno-Klone als ArduinoISO verwenden. Seltsames Zeug, ich dachte, das würde einfach werden ...