※サンプルスケッチをしばらく実行しているとハングします※
→解決 microSDカードのせい http://blog.livedoor.jp/hardyboy/archives/7270159.html
TFTシールドの続き。Arduino UNOではそのまま動くがLeonardoでは動かない。シールドの端子がハードウェアSPIに決め打ちになっているせい。これをソフトウェアSPIでやった。
Adafruit 1.8" 18-bit Color TFT Shield w/microSD and Joystick
シールドでの端子は以下の様になっている。
#define sclk 13
#define mosi 11
#define cs 10
#define dc 8
#define rst 0
#define sd_cs 4
ジョイスティックはアナログポートA3。
さて、以下のように書くとエラーになってしまう。TFT.hとTFT.cppはAdafruit_ST7735.hを呼び出しているが、ソフトウェアSPIを呼び出す5引数の部分の記述がないから。
https://gist.github.com/houmei/1ec877f60f20c9d45a6e
ソフトによるSPIは遅そうなので描画時間を測定した。線1本を引く時間はこのような差があった。
Arduino UNO / ハードウェアSPI 8.65ms
Arduino Leonardo / ソフトウェアSPI 39.5ms
追記:サンプルのスケッチ、Leonardo用はSerialコンソールを開いてないと先に進みません
ー以下解決ー
追記2:Arduino IDE1.5.6-r2にてMEGA2560互換機(Sinesmart)、Arduino DueはソフトSPIにて動作。
ただし両方共しばらく経つとハングする。(Leonardoも)
ハングするとこうなる。Arduino Leonardoで4分46秒後に発生。
Arduino UNO / ハードウェアによるSPIでも約1分で発生し、再起動するような挙動。TFTライブラリ?

→解決 microSDカードのせい http://blog.livedoor.jp/hardyboy/archives/7270159.html
TFTシールドの続き。Arduino UNOではそのまま動くがLeonardoでは動かない。シールドの端子がハードウェアSPIに決め打ちになっているせい。これをソフトウェアSPIでやった。
Adafruit 1.8" 18-bit Color TFT Shield w/microSD and Joystick
シールドでの端子は以下の様になっている。
#define sclk 13
#define mosi 11
#define cs 10
#define dc 8
#define rst 0
#define sd_cs 4
ジョイスティックはアナログポートA3。
さて、以下のように書くとエラーになってしまう。TFT.hとTFT.cppはAdafruit_ST7735.hを呼び出しているが、ソフトウェアSPIを呼び出す5引数の部分の記述がないから。
TFT screen = TFT(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);以下に差し替え用のTFT.hとTFT.cpp、画面に線を引くサンプルを作った。
https://gist.github.com/houmei/1ec877f60f20c9d45a6e
ソフトによるSPIは遅そうなので描画時間を測定した。線1本を引く時間はこのような差があった。
Arduino UNO / ハードウェアSPI 8.65ms
Arduino Leonardo / ソフトウェアSPI 39.5ms
追記:サンプルのスケッチ、Leonardo用はSerialコンソールを開いてないと先に進みません
ー以下解決ー
追記2:Arduino IDE1.5.6-r2にてMEGA2560互換機(Sinesmart)、Arduino DueはソフトSPIにて動作。
ただし両方共しばらく経つとハングする。(Leonardoも)
ハングするとこうなる。Arduino Leonardoで4分46秒後に発生。
Arduino UNO / ハードウェアによるSPIでも約1分で発生し、再起動するような挙動。TFTライブラリ?










