ST7789 CS無しLCDをM5Stack Atom S3で使ってみる
M5Stack Atom S3 Lite買ったった。
ST7789 240x240 TFTを使ってやろうとおもったら
AdafruitのST7789ライブラリを使ってはまったので備忘録に。
まずこのライブラリはHard SPIとSoft SPIを選べ、どちらかでTFTを制御する。
Hard SPIは書き込みスピードが速いが、SPIの端子が拘束され指定できない。
Soft SPIは自由に端子が選べるが、遅いしどうやらSPI MODE0固定ぽい。
それじゃAtom S3 Liteで使えないやない。
と思ったらSPIのオブジェクトを参照渡しする方法があるのに気づいた。
で、こうやったらできた。※tft.initの引数SPI_MODE3も必須ポイントです。
#include <Adafruit_GFX.h> // Core graphics library
#include <Adafruit_ST7789.h> // Hardware-specific library for ST7789
#include <SPI.h>
SPIClass* spi0 = &SPI;
void setup(void) {
〜
exampleのgraphictestにある
黒塗り潰しに掛かる時間はHard SPIは41msec/Soft SPI(画はでないけど)は1383msecで
Hard SPIの圧勝!