LED_MTX_TEST code
Dependencies: mbed
main.cpp
- Committer:
- GreenBear
- Date:
- 2017-07-24
- Revision:
- 0:29b88eaced15
File content as of revision 0:29b88eaced15:
#include "mbed.h" int thumb[8] = {\ 0b00100000,\ 0b01010000,\ 0b11111000,\ 0b10001000,\ 0b10001111,\ 0b00001000,\ 0b00001000,\ 0b00000111}; int fft_val[8] = {2,5,7,3,4,6,2.8};//random void bootup(); void led_line_char(int state); void led_line_graph(int state); void digitaIO(int pin, int val); int main() { bootup(); while(1){ for(int i =0 ;i<8;i++){ int y = 9+i; digitaIO(y,1); //led_line_char(thumb[i]); led_line_graph(fft_val[i]); wait(1.0/8.0/144.0); digitaIO(y,0); } } } void bootup(){ for(int i =1 ;i<=8;i++){ digitaIO(i,0); } for(int i =9 ;i<=16;i++){ digitaIO(i,1); } wait(.2); for(int i =1 ;i<=8;i++){ digitaIO(i,1); } wait(.2); for(int i =1 ;i<=16;i++){ digitaIO(i,0); } } void led_line_char(int state){ int a = state; int b = 1; for(int i = 0;i<8;i++){ int x = i+1;//8-i; b = a%2; digitaIO(x,!b); a = a/2; } } void led_line_graph(int state){ int a = state; for(int i = 0;i<8;i++){ int x = i+1;//8-i; if(i <= a){digitaIO(x,1);} else{digitaIO(x,0);} } } void digitaIO(int pin, int val){ switch (pin){ case 1 : { DigitalOut(D0,val); break;} case 2 : { DigitalOut(D1,val); break;} case 3 : { DigitalOut(D2,val); break;} case 4 : { DigitalOut(D3,val); break;} case 5 : { DigitalOut(D4,val); break;} case 6 : { DigitalOut(D5,val); break;} case 7 : { DigitalOut(D6,val); break;} case 8 : { DigitalOut(D7,val); break;} case 9 : { DigitalOut(D8,val); break;} case 10 : { DigitalOut(D9,val); break;} case 11 : { DigitalOut(D10,val); break;} case 12 : { DigitalOut(A5,val); break;} case 13 : { DigitalOut(D12,val); break;} case 14 : { DigitalOut(D13,val); break;} case 15 : { DigitalOut(D14,val); break;} case 16 : { DigitalOut(D15,val); break;} default : { break; } } }