Actualmente estoy intentando conectar un controlador MAX7219 LED con un Bus Pirate 3.6 (Firmware v5.10 (r559) Bootloader v4.4).
Tengo el siguiente circuito en el panel (junto con algunas tapas de desacoplamiento en la línea de alimentación):
He configurado el modo SPI como tal:
Set speed:
1. 30KHz
2. 125KHz
3. 250KHz
4. 1MHz
(1)>4
Clock polarity:
1. Idle low *default
2. Idle high
(1)>1
Output clock edge:
1. Idle to active
2. Active to idle *default
(2)>1
Input sample phase:
1. Middle *default
2. End
(1)>1
CS:
1. CS
2. /CS *default
(2)>2
Select output type:
1. Open drain (H=Hi-Z, L=GND)
2. Normal (H=3.3V, L=GND)
(1)>2
Ready
Poner el MAX7219 en modo de prueba y apagarlo usando [0xFF,0xFF]
y [0xFF, 0x00]
respectivamente enciende y apaga todos los LED como se esperaba. Reiniciando todo, ejecuto los siguientes comandos para deshabilitar la decodificación de caracteres (para usar el MAX como una unidad de matriz de LED simple), configurar el brillo máximo, habilitar todas las columnas y finalmente habilitar la pantalla:
[0x09,0x00]
[0x0A,0xFF]
[0x0B,0x07]
[0x0C,0x01]
Finalmente, el envío de los siguientes ocho comandos para habilitar todos los LED similares a lo que haría el modo de prueba no tiene ningún efecto, y no se enciende ningún LED;
[0x01, 0xFF]
[0x02, 0xFF]
[0x03, 0xFF]
[0x04, 0xFF]
[0x05, 0xFF]
[0x06, 0xFF]
[0x07, 0xFF]
[0x08, 0xFF]
En cualquier momento, puedo configurar o restablecer el modo de prueba y funciona como se espera, así que estoy convencido de que la integridad de la comunicación SPI no es el problema aquí.
He intentado esto con niveles de 5V y 3V3 para VCC, con los mismos resultados. ¿Alguna idea de lo que puedo estar haciendo mal aquí?