Arduino Nano ISP se convierte en el programa de destino (así como en el MCU de destino)

Estoy tratando de usar un clon Nano V3 como ISP para programar atmega328p porque aún no tengo un programador dedicado. Como parte de la solución de problemas, solo estoy tratando de programar otra placa de conexión con encabezados ISP con algo simple como el boceto de ejemplo de Blink. Todo parece ir bien hasta ahora:

  1. Puedo subir el sketch del programador al programador Nano
  2. El programa está funcionando bien con un latido pulsante
  3. Puedo programar la ruptura de destino con el boceto Blink usando Arduino IDE

Sin embargo, aquí ocurre lo malo: el programador Nano TAMBIÉN se convierte en Blink:

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

De hecho, puedo solucionarlo simplemente cambiando de nuevo a AVRISP mk2 y cargando el boceto ArduinoISP nuevamente y luego el programador Nano es un programador ISP nuevamente y el otro sigue parpadeando. Pero es extraño y realmente no quiero que eso forme parte de mi flujo de trabajo y tal vez tenga otros problemas debido a esto que no entiendo.

Para ser muy claro en mi configuración:

  1. Estoy en OSX, conectando un cable USB a un clon Nano V3. He subido el boceto de ejemplo 'ArduinoISP' a partir de Arduino IDE 1.8.5 (creo que se ha actualizado recientemente)
  2. El Nano parece estar ejecutando este boceto: el latido del corazón late
  3. Conecto 5 de los 6 pines en ISP 1-1, todo menos el reinicio que conecto desde D10 en el programador para reiniciar en el encabezado ISP del objetivo, todo de acuerdo con las instrucciones.
  4. Cambio el programador en Arduino IDE para que sea 'Arduino como ISP' y dejo todo lo demás intacto, puerto - mismo puerto usb, procesador - todavía atmega328p, placa - todavía arduino nano.
  5. subir parpadeo

Esto hace que el programador también se convierta en Blink.

"5. cargar Blink" - 'cargar' o 'cargar usando el programador'?
@BruceAbbott ¡Uf! No había visto ese. Supongo que pensé que cargar usaría el programador seleccionado... Eso es lo más probable, lejos de las cosas ahora, pero lo intentaré mañana. ¡Gracias!

Respuestas (1)

Agregaría un comentario pero solo puedo agregar una respuesta, lo siento.

Debe agregar un condensador entre el reinicio y la tierra en el 'programador' Arduino. 10uF, asegúrese de obtener la polaridad correcta.

Esto evita que el nano se reinicie en el modo de programación cuando cargue el boceto parpadeante. También puede usar el ícono de carga normal entonces.

Otros han recomendado un aumento de 10k entre Vcc y reinicio y un límite entre Vcc y tierra, como este: arduino.stackexchange.com/questions/17762/… Pero el punto es mantener el reinicio alto incluso si la interfaz USB crea mínimos cortos, es eso?
@ViktorHedefalk Esa es exactamente la idea. Ya hay un pullup de 10k de acuerdo con el diagrama más cercano que tengo a mano (Uno rev 3), por lo que sería efectivamente un pullup de 5k. Nunca me he molestado en poner un 'alcance en el reinicio para verlo en detalle, ya que simplemente agregar el condensador de 10uF entre reset-gnd funciona para mi configuración.
El pullup o cap ayuda a que la programación de arduino no se programe, ¡gracias! Sin embargo, todavía no puedo usar ninguno de mis clones nano o uno como ArduinoISO. Cosas raras, pensé que esto iba a ser fácil...