#include <SPI.h>
byte Decode = 0x9;
byte Intensity = 0xA;
byte Scan = 0xB;
byte Shutdown = 0xC;
byte Test = 0xF;
void max7219(byte r,byte d){
digitalWrite(SS, LOW); //選取晶片
SPI.transfer(r); //暫存器位址
SPI.transfer(d); //資料
digitalWrite(SS, HIGH); //取消選取晶片
}
void clear(){
for(int i = 1;i <= 8;i++){
max7219(i, 0);
}
}
byte data[8]={0x18, 0x3c, 0x7E, 0xFF, 0x3c, 0x3c, 0x3c, 0x3c};
void setup() {
SPI.begin();
max7219(Decode,0);
max7219(Intensity,7);
max7219(Scan,7);
max7219(Shutdown,1);
max7219(Test,0);
clear();
}
void loop() {
for(int i = 0; i< 8;i++){
max7219(i+1, data[i]);
}
}