example marix 8x8

Dependencies:   MAX7219 mbed

Fork of 00_LAB_matrix8x8_SPI by ferney alberto beltran molina

Committer:
fabeltranm
Date:
Wed Mar 15 20:45:14 2017 +0000
Revision:
0:61199d9d0aed
Child:
1:b732136485e0
example  Matrix8x8 whit SP?

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fabeltranm 0:61199d9d0aed 1
fabeltranm 0:61199d9d0aed 2 #include "mbed.h"
fabeltranm 0:61199d9d0aed 3 //#include "max7219.h"
fabeltranm 0:61199d9d0aed 4
fabeltranm 0:61199d9d0aed 5 // ***************************************************************************
fabeltranm 0:61199d9d0aed 6 // option 1 : use SPI
fabeltranm 0:61199d9d0aed 7 // ***************************************************************************
fabeltranm 0:61199d9d0aed 8 SPI deviceM(PB_15, PB_14, PB_13);
fabeltranm 0:61199d9d0aed 9 DigitalOut ssel (PB_12);
fabeltranm 0:61199d9d0aed 10
fabeltranm 0:61199d9d0aed 11 #define uint8_t unsigned char
fabeltranm 0:61199d9d0aed 12
fabeltranm 0:61199d9d0aed 13 uint8_t vcol[8]={0,0,0,0,0,0,0,0};
fabeltranm 0:61199d9d0aed 14
fabeltranm 0:61199d9d0aed 15 void sendSPI(uint8_t d1, uint8_t d2)
fabeltranm 0:61199d9d0aed 16 {
fabeltranm 0:61199d9d0aed 17 deviceM.unlock();
fabeltranm 0:61199d9d0aed 18 ssel=0;
fabeltranm 0:61199d9d0aed 19 deviceM.write(d1);
fabeltranm 0:61199d9d0aed 20 deviceM.write(d2);
fabeltranm 0:61199d9d0aed 21 ssel=1;
fabeltranm 0:61199d9d0aed 22 deviceM.lock();
fabeltranm 0:61199d9d0aed 23 };
fabeltranm 0:61199d9d0aed 24
fabeltranm 0:61199d9d0aed 25
fabeltranm 0:61199d9d0aed 26 void printMatrix(uint8_t* vC)
fabeltranm 0:61199d9d0aed 27
fabeltranm 0:61199d9d0aed 28 {
fabeltranm 0:61199d9d0aed 29 uint8_t i =0;
fabeltranm 0:61199d9d0aed 30 for (i=1;i<9;i++){
fabeltranm 0:61199d9d0aed 31 sendSPI(i,*(vC+i));
fabeltranm 0:61199d9d0aed 32 }
fabeltranm 0:61199d9d0aed 33
fabeltranm 0:61199d9d0aed 34 };
fabeltranm 0:61199d9d0aed 35
fabeltranm 0:61199d9d0aed 36
fabeltranm 0:61199d9d0aed 37 int main() {
fabeltranm 0:61199d9d0aed 38 sendSPI(0x0c,1);
fabeltranm 0:61199d9d0aed 39 sendSPI(0x0F,1);
fabeltranm 0:61199d9d0aed 40 wait (1);
fabeltranm 0:61199d9d0aed 41 sendSPI(0x0f,0);
fabeltranm 0:61199d9d0aed 42 wait (1);
fabeltranm 0:61199d9d0aed 43 int i =0;
fabeltranm 0:61199d9d0aed 44 while(1){
fabeltranm 0:61199d9d0aed 45 i ++;
fabeltranm 0:61199d9d0aed 46 vcol[1]=i;
fabeltranm 0:61199d9d0aed 47 printMatrix(vcol);
fabeltranm 0:61199d9d0aed 48 wait(0.5);
fabeltranm 0:61199d9d0aed 49 }
fabeltranm 0:61199d9d0aed 50 }
fabeltranm 0:61199d9d0aed 51 // ***************************************************************************
fabeltranm 0:61199d9d0aed 52 // option two: use maz7219 library
fabeltranm 0:61199d9d0aed 53
fabeltranm 0:61199d9d0aed 54 // ***************************************************************************
fabeltranm 0:61199d9d0aed 55 /*
fabeltranm 0:61199d9d0aed 56 Max7219 deviceM(PB_15, PB_14, PB_13, PB_12);
fabeltranm 0:61199d9d0aed 57
fabeltranm 0:61199d9d0aed 58
fabeltranm 0:61199d9d0aed 59 int main() {
fabeltranm 0:61199d9d0aed 60
fabeltranm 0:61199d9d0aed 61 max7219_configuration_t cfg = {
fabeltranm 0:61199d9d0aed 62 .device_number = 1,
fabeltranm 0:61199d9d0aed 63 .decode_mode = 0,
fabeltranm 0:61199d9d0aed 64 .intensity = Max7219::MAX7219_INTENSITY_8,
fabeltranm 0:61199d9d0aed 65 .scan_limit = Max7219::MAX7219_SCAN_8
fabeltranm 0:61199d9d0aed 66 };
fabeltranm 0:61199d9d0aed 67
fabeltranm 0:61199d9d0aed 68 deviceM.init_device(cfg);
fabeltranm 0:61199d9d0aed 69
fabeltranm 0:61199d9d0aed 70 deviceM.enable_device(1);
fabeltranm 0:61199d9d0aed 71
fabeltranm 0:61199d9d0aed 72 deviceM.set_display_test();
fabeltranm 0:61199d9d0aed 73 wait(1);
fabeltranm 0:61199d9d0aed 74 deviceM.clear_display_test();
fabeltranm 0:61199d9d0aed 75 wait(1);
fabeltranm 0:61199d9d0aed 76
fabeltranm 0:61199d9d0aed 77 while(1){
fabeltranm 0:61199d9d0aed 78 deviceM.write_digit(1,8,0b11111111);
fabeltranm 0:61199d9d0aed 79 deviceM.write_digit(1,1,0b01010101);
fabeltranm 0:61199d9d0aed 80 deviceM.write_digit(1,2,0b10101010);
fabeltranm 0:61199d9d0aed 81 deviceM.write_digit(1,3,0b01010101);
fabeltranm 0:61199d9d0aed 82 deviceM.write_digit(1,4,0b10101010);
fabeltranm 0:61199d9d0aed 83 deviceM.write_digit(1,5,0b01010101);
fabeltranm 0:61199d9d0aed 84 deviceM.write_digit(1,6,0b10101010);
fabeltranm 0:61199d9d0aed 85 deviceM.write_digit(1,7,0b01010101);
fabeltranm 0:61199d9d0aed 86 }
fabeltranm 0:61199d9d0aed 87 }
fabeltranm 0:61199d9d0aed 88 */
fabeltranm 0:61199d9d0aed 89