前記事で書き忘れたことがあったので、追加でメモしておきます。
STM32Cubeに含まれているemWin(STemWin)を動かす上で、忘れてはならない設定がひとつありました。それは、 ペリフェラルのCRCをイネーブルしておくことです。CRCをイネーブルしておかないと、STemWinの初期化段階で動作が止まってしまいます。調べてみると、 CRCのクロックがイネーブルされていないと、永久ループするコードになっているようです。このチェックを入れることで、STemWinのライブラリが STM32でしか動作しないように制限をかけているようです。
LCDConf.c ではGUIDRV_FlexColor_SetFunc()を使って使用するLCDコントローラの種類を指定しています。GUIDRV_FLEXCOLOR_F66709の指定では、ILI9341だけでなく ILI9488や HX8353, ST7637などのコントローラもカバーしています。最初は、複数種類のLCDコントローラを識別して動作しているのかと想像したのですが、実際の動きを確認してみると全然そんなことはしていませんでした。これらのコントローラはメーカが違ってもコマンド体系がほぼ同じなので、同じグループとしてまとめて扱っているようです。
STM32Cubeに含まれているemWin(STemWin)を動かす上で、忘れてはならない設定がひとつありました。それは、 ペリフェラルのCRCをイネーブルしておくことです。CRCをイネーブルしておかないと、STemWinの初期化段階で動作が止まってしまいます。調べてみると、 CRCのクロックがイネーブルされていないと、永久ループするコードになっているようです。このチェックを入れることで、STemWinのライブラリが STM32でしか動作しないように制限をかけているようです。
LCDConf.c ではGUIDRV_FlexColor_SetFunc()を使って使用するLCDコントローラの種類を指定しています。GUIDRV_FLEXCOLOR_F66709の指定では、ILI9341だけでなく ILI9488や HX8353, ST7637などのコントローラもカバーしています。最初は、複数種類のLCDコントローラを識別して動作しているのかと想像したのですが、実際の動きを確認してみると全然そんなことはしていませんでした。これらのコントローラはメーカが違ってもコマンド体系がほぼ同じなので、同じグループとしてまとめて扱っているようです。