Estoy tratando de manejar un controlador MAX7219 LED y 8x8 LED Matrix a través de SPI desde mi Arduino MEGA 2560. Puedo controlar el MAX7219 a través de SPI usando mi Bus Pirate, pero por alguna razón, cuando intento controlarlo desde Arduino ( código de abajo) No obtengo respuesta. Además, conecté mi Bus Pirate a mis pines Arduino SPI y lo puse en modo de rastreo, y no muestra comunicación, ya sea que CS esté bajo o no. ¿Alguien tiene alguna idea de por qué esto no funciona?
Código:
#include "SPI.h"
void setup() {
pinMode(10, OUTPUT);
lcd.begin(20,4);
SPI.begin();
pinMode(13, INPUT);
}
void spiWrite(byte reg, byte data){
digitalWrite(10, LOW);
SPI.transfer(reg);
SPI.transfer(data);
digitalWrite(10, HIGH);
}
void resetMAX(){
spiWrite(0x0f, 1);
spiWrite(0x0c, 1);
spiWrite(0x02, 13);
}
void loop() {
if(digitalRead(13)==HIGH){
resetMAX();
} else {
spiWrite(0x0f, 0);
}
}
Estoy utilizando los pines SPI en el encabezado de ICSP (Reloj = 3, MOSI = 4) y el Pin 10 (en el lado PWM del arduino) para la Selección de esclavos. En el Pin 13, tengo un interruptor para habilitar el envío de diferentes comandos al MAX7219, aunque actualmente no tiene ningún efecto, ya que parece que no envío ningún comando SPI. ¿Pensamientos?