みなさん今日は。
連続ですみません。
もう1件教えてください。
こちらのページのプログラムをインポートして、そのままでTG-LPC11U35-501でも使えるように修正しました。
元 :
[Not found]
後 :
修正後のプログラムはLPC1768では特に問題なく実行できます。
しかし、TG-LPC11U35-501ではうまく動作しません。
コンパイル時にワーニングは出ていますが、動作に影響は無い事を確認しています。
<<code LEDStrip_WS2812.cpp>>
void tapeInit (int freq, int n) {
num = n;
data = new int(num);
data = (int*)malloc(sizeof(int) * num);
for (int i = 0; i < num; i ++) {
data[i] = 0;
}
tape.format(10, 1);
if (freq) {
tape.frequency(freq * 1000);
} else {
tape.frequency(8000000);
}
<</code>>
ここの8000000を800000に変更
->コンパイル
->実行
->8000000に戻す
->コンパイル
->実行
とやると動作します。
いじっている数値はSPIのクロックの周波数設定だと思いますので、SPI周りの設定なのだとは思うのですが、
たまたま動作する条件を見つけたものの、なぜこのような操作ををすると動くのか理解できません。
どなたか判る方いらしゃいましたら、ご教示いただけますようお願いいたします。
ひろべ
みなさん今日は。
連続ですみません。 もう1件教えてください。
こちらのページのプログラムをインポートして、そのままでTG-LPC11U35-501でも使えるように修正しました。
元 :
[Not found]
後 :
Import program20160411_LEDTape_WS2812
TG-LPC11U35-501に対応
Last commit 13 Apr 2016 by hirobe aikawa
修正後のプログラムはLPC1768では特に問題なく実行できます。
しかし、TG-LPC11U35-501ではうまく動作しません。
コンパイル時にワーニングは出ていますが、動作に影響は無い事を確認しています。
<<code LEDStrip_WS2812.cpp>>
void tapeInit (int freq, int n) {num = n; data = new int(num); data = (int*)malloc(sizeof(int) * num); for (int i = 0; i < num; i ++) { data[i] = 0; }
tape.format(10, 1); if (freq) { tape.frequency(freq * 1000); } else { tape.frequency(8000000); }
<</code>>
ここの8000000を800000に変更 ->コンパイル ->実行 ->8000000に戻す ->コンパイル ->実行 とやると動作します。
いじっている数値はSPIのクロックの周波数設定だと思いますので、SPI周りの設定なのだとは思うのですが、
たまたま動作する条件を見つけたものの、なぜこのような操作ををすると動くのか理解できません。
どなたか判る方いらしゃいましたら、ご教示いただけますようお願いいたします。
ひろべ