![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Empty
main.cpp@2:2616b6004345, 2022-05-23 (annotated)
- 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?
User | Revision | Line number | New 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 | } |