TG-LPC11U35-501のSPIについて

11 Apr 2016

みなさん今日は。

連続ですみません。 もう1件教えてください。

こちらのページのプログラムをインポートして、そのままでTG-LPC11U35-501でも使えるように修正しました。
元 :

[Not found]


後 :

Import program20160411_LEDTape_WS2812

TG-LPC11U35-501に対応


修正後のプログラムは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周りの設定なのだとは思うのですが、
たまたま動作する条件を見つけたものの、なぜこのような操作ををすると動くのか理解できません。

どなたか判る方いらしゃいましたら、ご教示いただけますようお願いいたします。

ひろべ