hirobe aikawa
/
20160411_LEDTape_WS2812
TG-LPC11U35-501に対応
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 /* 00002 * WS2812 tape led IC 00003 */ 00004 #include "mbed.h" 00005 #include "LEDStrip.h" 00006 00007 00008 #if defined(TARGET_LPC1768) 00009 Serial pc(USBTX, USBRX); 00010 #elif defined(TARGET_LPC11U35_501) 00011 Serial pc(p9, p10); 00012 #endif 00013 DigitalOut led1(LED1), led2(LED2); // , led3(LED3), led4(LED4); 00014 00015 extern "C" 00016 void HardFault_Handler() { 00017 printf("Hard Fault!\r\n"); 00018 exit(-1); 00019 } 00020 00021 int main() { 00022 int j, k = 0; 00023 int vall[4]; 00024 00025 pc.baud(115200); 00026 tapeInit(0, 16); 00027 led1 = 1; 00028 00029 pc.printf("led\r\n"); 00030 00031 for (;;) { 00032 for (long int i = 0; i < 128; i++) { 00033 vall[0] = (i << 8)|(127-i); 00034 vall[1] = (i << 16)|((127-i)<<8); 00035 vall[2] = ((127-i)<<16)|i; 00036 // vall[3] = i; 00037 vall[3] = ((127-i)<<16)|(127-i); 00038 for(int j=0;j<4;j++){ 00039 // j = 0; 00040 tapeSet(j, vall[j]); 00041 tapeSend(); 00042 wait(0.1); 00043 pc.printf("i= %d\r\n",i); 00044 } 00045 wait_ms(2); 00046 } 00047 } 00048 00049 /* 00050 for (;;) { 00051 for (long int i = 0; i < 256; i++) { 00052 int val = (i << 8)|(255-i); 00053 for(int j=0;j<16;j++){ 00054 tapeSet(j, val); 00055 } 00056 tapeSend(); 00057 wait_ms(2); 00058 } 00059 for (long int i = 0; i < 256; i++) { 00060 int val = (i << 16)|((255-i)<<8); 00061 for(int j=0;j<16;j++){ 00062 tapeSet(j, val); 00063 } 00064 tapeSend(); 00065 wait_ms(2); 00066 } 00067 for (long int i = 0; i < 256; i++) { 00068 int val = ((255-i)<<16)|i; 00069 for(int j=0;j<16;j++){ 00070 tapeSet(j, val); 00071 } 00072 tapeSend(); 00073 wait_ms(2); 00074 00075 } 00076 pc.printf("test3\r\n"); 00077 // while (1); 00078 for (long int i = 0; i < 160; i ++) { 00079 tapeSet(i, 0); 00080 } 00081 tapeSend(); 00082 } 00083 */ 00084 00085 }
Generated on Fri Jul 15 2022 21:59:55 by 1.7.2