TG-LPC11U35-501に対応
こちらのページのプログラムを、TG-LPC11U35-501に対応させました。
https://developer.mbed.org/users/tkasa/code/LEDTape_WS2812/wiki/Homepage
動作に疑問があるため、教えを請うための公開です。
疑問が解消され次第公開を終了します。
(2016/04/13 追記)
おかしな動作解消されました。
プログラム LEDstrip_WS2812.cpp を修正しました。
修正点はコメントを加えてあります。
しばらくしたら、削除する予定です。
main.cpp
- Committer:
- hirobe0913
- Date:
- 2016-04-13
- Revision:
- 2:ebd3f4b4e0a3
- Parent:
- 1:4aff1ebb42c1
File content as of revision 2:ebd3f4b4e0a3:
/* * WS2812 tape led IC */ #include "mbed.h" #include "LEDStrip.h" #if defined(TARGET_LPC1768) Serial pc(USBTX, USBRX); #elif defined(TARGET_LPC11U35_501) Serial pc(p9, p10); #endif DigitalOut led1(LED1), led2(LED2); // , led3(LED3), led4(LED4); extern "C" void HardFault_Handler() { printf("Hard Fault!\r\n"); exit(-1); } int main() { int j, k = 0; int vall[4]; pc.baud(115200); tapeInit(0, 16); led1 = 1; pc.printf("led\r\n"); for (;;) { for (long int i = 0; i < 128; i++) { vall[0] = (i << 8)|(127-i); vall[1] = (i << 16)|((127-i)<<8); vall[2] = ((127-i)<<16)|i; // vall[3] = i; vall[3] = ((127-i)<<16)|(127-i); for(int j=0;j<4;j++){ // j = 0; tapeSet(j, vall[j]); tapeSend(); wait(0.1); pc.printf("i= %d\r\n",i); } wait_ms(2); } } /* for (;;) { for (long int i = 0; i < 256; i++) { int val = (i << 8)|(255-i); for(int j=0;j<16;j++){ tapeSet(j, val); } tapeSend(); wait_ms(2); } for (long int i = 0; i < 256; i++) { int val = (i << 16)|((255-i)<<8); for(int j=0;j<16;j++){ tapeSet(j, val); } tapeSend(); wait_ms(2); } for (long int i = 0; i < 256; i++) { int val = ((255-i)<<16)|i; for(int j=0;j<16;j++){ tapeSet(j, val); } tapeSend(); wait_ms(2); } pc.printf("test3\r\n"); // while (1); for (long int i = 0; i < 160; i ++) { tapeSet(i, 0); } tapeSend(); } */ }