Tengo un ATMega328 de 32 pines en una placa de pruebas. Tengo su pin analógico # 6 como un pin de entrada de otro IC en mi tablero. El IC envía datos a este pin analógico.
Ahora, el paquete DIP ATMega328 (usado en el Uno, y otras placas arduino predeterminadas), tiene 28 pines (en lugar de 32), y solo 6 pines analógicos (numerados 0-5) en total.
No recibo ninguna queja del compilador, y puedo cargar código con éxito al arduino.
Arranqué la placa con optiloader .
Problema
Usando mi alcance, espero ver señales provenientes del IC, pero solo veo una señal de línea plana. Mi conjetura es que, al elegir 'Arduino Uno' como mi tablero desde el IDE de Arduino, el código que trata de configurar el pin analógico 6 se ignora, porque el compilador asume que no hay un pin analógico 6 en este tablero. Por lo tanto, el pin analógico se reduce automáticamente a cero, y cualquier variación en el voltaje proveniente del pin de salida IC se reduce a 0 por estar conectado al pin analógico 6.
Intento de solución
Intenté cambiar el tablero que uso de Uno a Nano (con ATMega328), ya que el Nano se ejecuta en el mismo paquete SMT de 32 pines que estoy usando.
Pero ahora no puedo obtener ni el boceto más básico para cargar en el tablero. Intenté seleccionar algunos otros tableros del menú en el IDE de Arduino, y no puedo cargar código utilizando cualquier selección además del Uno.
Voy a seguir hackeando e investigando. ¿Alguna solución saliendo?