LEDmatrix
Dependencies: mbed
Diff: main.cpp
- Revision:
- 0:ddaa166a52da
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Sep 01 09:48:17 2018 +0000 @@ -0,0 +1,202 @@ +#include "led_func.h" + +/*int main(){ + while(1){ + myLED=L; + CLK=L; + LAT=L; + Address=0; + wait(0.1); + for(char i=0;i<1;i++){ + CLK=H; + wait(0.1); + CLK=L; + wait(0.1); + Red1=1; + wait(0.1); + } + LAT=H; + wait(0.1); + LAT=L; + wait(0.1); + OE=L; + myLED=H; + wait(0.1); + } +}*/ + +int main(){ + ResetBoard(); + for(char i=0;i<16;i++){ + for(char j=0;j<8;j++){ + led_board[i][j].blue=true; + } + } + while(1){ + PrintBoard(); + } +} + +/*int main(){ + LED LedBoard; + LedBoard.ResetBoard(); + char test[16][16]={{0,1,2,4,3,5,6,7,0,0,0,0,0,0,0,0}}; + LedBoard.led_board[0][0]=B; + while(1){ + LedBoard.PrintBoard(); + } +}*/ +/*char k=0; + +void Init(){ + OE=1; + Address=0; + CLK=0; + LAT=0; +} + +void WriteLine(uint8_t line){ + Init(); + OE=1; + Red1=1; + Green1=0; + Blue1=0; + Red2=1; + Green2=0; + Blue2=0; + Address=line; + for(int j=0;j<32;j++){ + if(line==3&&j==31)Blue1=1; + CLK=1; + CLK=0; + } + LAT=1; + LAT=0; + OE=0; +} + +int main(){ + while(1){ + for(int i=0;i<4;i++){ + WriteLine(i); + wait_us(100); + } + } +}*/ +/*BusOut pin(PC_7,PB_6,PA_7);//9 DS(データ),10 ST_CP(ラッチ),11 SH_CP(クロック) +DigitalOut datapin(PC_7);//9 DS +DigitalOut latchpin(PB_6);//10 ST_CP +DigitalOut clockpin(PA_7);//11 SH_CP + +uint8_t datared; +uint8_t datagreen; +uint8_t datablue; +uint8_t dataarrayred[10]; +uint8_t dataarraygreen[10]; +uint8_t dataarrayblue[10]; + +void setup(){ + dataarrayred[0]=0xff; + dataarrayred[1]=0xfe; + dataarrayred[2]=0xfc; + dataarrayred[3]=0xf8; + dataarrayred[4]=0xf0; + dataarrayred[5]=0xe0; + dataarrayred[6]=0xc0; + dataarrayred[7]=0x80; + dataarrayred[8]=0x00; + + dataarraygreen[0]=0xff; + dataarraygreen[1]=0xfe; + dataarraygreen[2]=0xfc; + dataarraygreen[3]=0xf8; + dataarraygreen[4]=0xf0; + dataarraygreen[5]=0xe0; + dataarraygreen[6]=0xc0; + dataarraygreen[7]=0x80; + dataarraygreen[8]=0x00; + + dataarrayblue[0]=0xff; + dataarrayblue[1]=0xfe; + dataarrayblue[2]=0xfc; + dataarrayblue[3]=0xf8; + dataarrayblue[4]=0xf0; + dataarrayblue[5]=0xe0; + dataarrayblue[6]=0xc0; + dataarrayblue[7]=0x80; + dataarrayblue[8]=0x00; +} + +void shiftout(uint8_t data){ + datapin=0; + clockpin=0; + for(int i=7;i>0;i--){ + clockpin=0; + wait_us(1); + if (data&(1<<i)){ + datapin=0; + }else{ + datapin=1; + } + wait_us(1); + clockpin=1; + wait_us(1); + datapin=0; + wait_us(1); + } + clockpin=0; +} + +void loop(){ + for(int i=0;i<10;i++){ + datared=dataarrayred[i]; + datagreen=dataarraygreen[i]; + datablue=dataarrayblue[i]; + latchpin=1; + shiftout(datagreen); + shiftout(datared); + shiftout(datablue); + latchpin=0; + wait(3); + } +} + +int main(){ + setup(); + while(1){ + loop(); + } +}*/ +/*BusInOut kathode(PC_1,PB_0,PA_4,PA_1); +//BusInOut led(PD_2,PC_11,PC_10,PC_12,PA_13,PA_14,PA_15,PB_7,PC_13,PC_3,PC_0,PA_0); +BusInOut redled(PA_13,PC_13,PA_0,PA_13); +BusInOut greenled(PB_7,PC_0,PD_2,PC_12); +BusInOut blueled(PA_15,PC_3,PC_11,PC_10); + +int main() { + kathode.output(); + redled.output(); + redled.mode(OpenDrain); + greenled.output(); + greenled.mode(OpenDrain); + blueled.output(); + blueled.mode(OpenDrain); + while(1){ + kathode=0b0001; + for(int i=0;i<4;i++){ + redled=0b0000; + greenled=0b0000; + blueled=0b1111; + wait_us(1); + redled=0; + greenled=0; + blueled=0; + kathode=kathode<<1; + } + } + kathode=0b1111; + led.output(); + led.mode(OpenDrain); + led=0xffff; + while(1){} +}*/