#include <SPI.h>
const uint32_t CS_PIN = D7; // à adapter à votre câblage
const uint8_t DIG0 = 0x01; // adresse du registre pour la ligne 0
void setup() {
SPISettings cfgSPI(10000000, MSBFIRST, SPI_MODE0);
uint16_t trame;
uint8_t address;
uint8_t data;
address=DIG0;
data=0x55;
Serial.begin(115200);
Serial.println("Boot");
SPI.begin();
pinMode(CS_PIN, OUTPUT);
// question 1
// digitalWrite(CS_PIN, HIGH);
// SPI.beginTransaction(cfgSPI);
// digitalWrite(CS_PIN, LOW);
// trame = uint16_t(address) << 8;
// trame |= uint16_t(data);
// SPI.transfer16(trame);
// digitalWrite(CS_PIN, HIGH); // le front montant provoque la prise en compte des données dans le(s) MAX7219
// SPI.endTransaction();
// question 2
// for(int ind = 1; ind < 9; ind++){
// address = ind;
// digitalWrite(CS_PIN, HIGH);
// SPI.beginTransaction(cfgSPI);
// digitalWrite(CS_PIN, LOW);
// trame = uint16_t(address) << 8;
// trame |= uint16_t(data);
// SPI.transfer16(trame);
// digitalWrite(CS_PIN, HIGH); // le front montant provoque la prise en compte des données dans le(s) MAX7219
// SPI.endTransaction();
// }
// question 3
// for(int ind = 0; ind < 8; ind++){
// address = ind + 1;
// data = 0x01 << ind;
// digitalWrite(CS_PIN, HIGH);
// SPI.beginTransaction(cfgSPI);
// digitalWrite(CS_PIN, LOW);
// trame = uint16_t(address) << 8;
// trame |= uint16_t(data);
// SPI.transfer16(trame);
// digitalWrite(CS_PIN, HIGH); // le front montant provoque la prise en compte des données dans le(s) MAX7219
// SPI.endTransaction();
// }
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}
// démultiplexeur
// Chip Select
// latch = verrou
// C'est qu'on choisi se composant avec qui envoyer des infos
//