Othello
Dependencies: mbed
led_func.h
00001 #include "necleo_pin.h" 00002 #include "color.h" 00003 00004 #define L 0 00005 #define H 1 00006 00007 #define R 0 00008 #define G 1 00009 #define B 2 00010 00011 class Dot{ 00012 public: 00013 char red; 00014 char green; 00015 char blue; 00016 void SetColor(char r,char g,char b){ 00017 red=r; 00018 green=g; 00019 blue=b; 00020 } 00021 }; 00022 00023 Dot led_board[16][16]; 00024 00025 void ResetLEDBoard(){ 00026 for(char i=0;i<16;i++){ 00027 for(char j=0;j<16;j++){ 00028 led_board[i][j].SetColor(CCLEAR); 00029 } 00030 } 00031 } 00032 00033 void PrintLEDBoard(){ 00034 static const char list[4]={0,2,1,3}; 00035 static char count=0; 00036 CLK=L; 00037 LAT=L; 00038 for(char i=0;i<4;i++){ 00039 OE=H; 00040 Address=list[i]; 00041 for(char j=0;j<32;j++){ 00042 if(j<8){ 00043 Red1=led_board[i][7-j].red>count; 00044 Green1=led_board[i][7-j].green>count; 00045 Blue1=led_board[i][7-j].blue>count; 00046 Red2=led_board[i+8][7-j].red>count; 00047 Green2=led_board[i+8][7-j].green>count; 00048 Blue2=led_board[i+8][7-j].blue>count; 00049 }else if(j<16){ 00050 Red1=led_board[i+4][j-8].red>count; 00051 Green1=led_board[i+4][j-8].green>count; 00052 Blue1=led_board[i+4][j-8].blue>count; 00053 Red2=led_board[i+12][j-8].red>count; 00054 Green2=led_board[i+12][j-8].green>count; 00055 Blue2=led_board[i+12][j-8].blue>count; 00056 }else if(j<24){ 00057 Red1=led_board[i][31-j].red>count; 00058 Green1=led_board[i][31-j].green>count; 00059 Blue1=led_board[i][31-j].blue>count; 00060 Red2=led_board[i+8][31-j].red>count; 00061 Green2=led_board[i+8][31-j].green>count; 00062 Blue2=led_board[i+8][31-j].blue>count; 00063 }else{ 00064 Red1=led_board[i+4][j-16].red>count; 00065 Green1=led_board[i+4][j-16].green>count; 00066 Blue1=led_board[i+4][j-16].blue>count; 00067 Red2=led_board[i+12][j-16].red>count; 00068 Green2=led_board[i+12][j-16].green>count; 00069 Blue2=led_board[i+12][j-16].blue>count; 00070 } 00071 CLK=H; 00072 CLK=L; 00073 } 00074 LAT=H; 00075 LAT=L; 00076 OE=L; 00077 wait_us(1); 00078 } 00079 OE=H; 00080 count++; 00081 if(count>100)count=0; 00082 }
Generated on Tue Jul 12 2022 21:43:15 by
1.7.2