Empty

Dependencies:   mbed

Committer:
vermaelen
Date:
Mon May 23 19:14:54 2022 +0000
Revision:
2:2616b6004345
Parent:
1:61f61158c345
Child:
3:6d221b7c12f2
V1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vermaelen 2:2616b6004345 1 #include "mbed.h"
icserny 0:bd34a367f642 2
vermaelen 2:2616b6004345 3 void SPI_Ecrire2Octets(unsigned char MSB, unsigned char LSB);
vermaelen 2:2616b6004345 4 void Init_MAX7219(void);
icserny 0:bd34a367f642 5
vermaelen 1:61f61158c345 6 SPI spi(D11,D12,D13); // Arduino compatible MOSI, MISO, SCLK
vermaelen 1:61f61158c345 7 DigitalOut cs(D14); // Chip select
vermaelen 2:2616b6004345 8 // Programme principal
vermaelen 1:61f61158c345 9 int main()
vermaelen 1:61f61158c345 10 {
vermaelen 2:2616b6004345 11 cs.write(1); // CS initially High
vermaelen 1:61f61158c345 12 spi.format(8,0); // 8-bit format, mode 0,0
vermaelen 1:61f61158c345 13 spi.frequency(1000000); // SCLK = 1 MHz
vermaelen 1:61f61158c345 14 Init_MAX7219(); // Initialize the LED controller
vermaelen 2:2616b6004345 15
vermaelen 1:61f61158c345 16 while (1) {
vermaelen 2:2616b6004345 17
vermaelen 1:61f61158c345 18
vermaelen 1:61f61158c345 19 }
vermaelen 1:61f61158c345 20 }
vermaelen 2:2616b6004345 21 // Pour envoyer 2 octets sur le bus SPI
vermaelen 2:2616b6004345 22 void SPI_Ecrire2Octets(unsigned char MSB, unsigned char LSB)
vermaelen 2:2616b6004345 23 {
vermaelen 2:2616b6004345 24 // Ecrire ici le code de votre fonction
vermaelen 2:2616b6004345 25 }
icserny 0:bd34a367f642 26
vermaelen 2:2616b6004345 27 // initialisation du MAX7219
vermaelen 2:2616b6004345 28 void Init_MAX7219(void)
vermaelen 1:61f61158c345 29 {
vermaelen 2:2616b6004345 30 for(int i=0; i<4; i++) {
vermaelen 2:2616b6004345 31 SPI_Ecrire2Octets(0x09, 0x00); // Decoding off
vermaelen 2:2616b6004345 32 SPI_Ecrire2Octets(0x0A, 0x08); // Brightness to intermediate
vermaelen 2:2616b6004345 33 SPI_Ecrire2Octets(0x0B, 0x07); // Scan limit = 7
vermaelen 2:2616b6004345 34 SPI_Ecrire2Octets(0x0C, 0x01); // Normal operation mode
vermaelen 2:2616b6004345 35 SPI_Ecrire2Octets(0x0F, 0x0F); // Enable display test
vermaelen 2:2616b6004345 36 wait_ms(500); // 500 ms delay
vermaelen 2:2616b6004345 37
vermaelen 2:2616b6004345 38 SPI_Ecrire2Octets(0x01, 0x00); // Clear row 0.
vermaelen 2:2616b6004345 39 SPI_Ecrire2Octets(0x02, 0x00); // Clear row 1.
vermaelen 2:2616b6004345 40 SPI_Ecrire2Octets(0x03, 0x00); // Clear row 2.
vermaelen 2:2616b6004345 41 SPI_Ecrire2Octets(0x04, 0x00); // Clear row 3.
vermaelen 2:2616b6004345 42 SPI_Ecrire2Octets(0x05, 0x00); // Clear row 4.
vermaelen 2:2616b6004345 43 SPI_Ecrire2Octets(0x06, 0x00); // Clear row 5.
vermaelen 2:2616b6004345 44 SPI_Ecrire2Octets(0x07, 0x00); // Clear row 6.
vermaelen 2:2616b6004345 45 SPI_Ecrire2Octets(0x08, 0x00); // Clear row 7.
vermaelen 2:2616b6004345 46 SPI_Ecrire2Octets(0x0F, 0x00); // Disable display test
vermaelen 2:2616b6004345 47 wait_ms(500); // 500 ms delay
vermaelen 1:61f61158c345 48 }
vermaelen 1:61f61158c345 49 }