5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SPI液晶 ILI9341をTouchGFXで使おう1

Last updated at Posted at 2024-01-27

SPI液晶ILI9341 のコードが Github にて公開されていましたので今回は TouchGFXSPI液晶 で使用してみたいと思います。

ILI9XXX/XPT2046-STM32

GithubILI9XXX/XPT2046-STM32 を使用します。
https://github.com/maudeve-it/ILI9XXX-XPT2046-STM32

参考動画

A fast TouchGFX library for ILI9341, ILI9488 and ST7735 on STM32

設定内容

z_displ_ILI9XXX.hSTEPHOW TO setup a project with this software の内容に合わせて設定します。

/*||||||||||| USER/PROJECT PARAMETERS |||||||||||*/

/*****************     STEP 1      *****************

HOW TO setup a project with this software

プロジェクトを生成する

最初に新規プロジェクトを作ります。
File⇒New⇒STM32 project
image.png
使用するマイコンを選定し OK をクリックします。
image.png
Project Name を入力し、Finish をクリックします。
image.png

デバイス設定をする

最初に クロック の生成と 周波数 を設定します。
Crystal/Ceramic Resonator を選択します。
image.png
次に Clock Configuration をクリックし、周波数を設定します。
今回は 100MHz にするため、HCLK100 を入力します。
Enterを押すと、自動で設定が変更されます。
image.png

SPI設定

次に、使用する SPI の設定を Step3 の通り SPI2ModeFull-Duplex Master に設定します。
image.png
GPIO のピンの名称は以下を参考に設定します。
image.png

image.png
DMASettings にて Add から SPI2__TX を追加します。
image.png
NVIC Settings において SPI2 global Interruptチェック を入れておきます。
image.png

GPIO設定

GPIO Output を 4本追加し、以下設定を行います。
image.png
image.png
GPIO⇒Configuration

image.png

TOUCH_INTの設定

TOUCH_INT用GPIO_EXIT を追加します。
image.png
Interrupt mode において External interrupt-falling edge を選択します。
image.png

PWM設定

バックライトに使用するPWMの設定を行います。
STEP 6 の通り TIM2 TIM_CHANNEL_1にPWM Generation CH1 を選択します。
image.png
prescaler,counter periodYoutube を参考に 10000/100 としました。
image.png
使用するピンの UserLabel を入力します。
image.png
STEP 7 を参考に TIM3InternalClock のチェックを入れておきます。
image.png

TouchGFXを使用する

TouchGFX 使用するため、CRCActivated にチェックを入れてます。
image.png
TouchGFX を有効にするため X-CUBE-TOUCHGFX を使用できるようにします。
X-CUBE-TOUCHGFX をクリックします。
image.png
SoftwarePacks Component Selector にて X-CUBE-TOUCHGFX を有効にします。
image.png
X-CUBE-TOUCHGFX を開き Graphics Application のチェックを入れることで X-CUBE-TOUCHGFX が有効になります。
FrameBuffer Strategy にて Partial Buffer を選択します。
解像度は使用するデバイスに合わせて設定します。
ILI9341の場合、240/320 pixelsにします。
image.png
Device Configuration Tool code Generate を押すことでハードウェア設定に基づいてコード生成されます。
image.png
続いて、プログラムに進みましょう。

image.png
SPI液晶 ILI9341をTouchGFXで使おう2に続きます。
https://qiita.com/usashirou/items/1671e1664f473ea01c59

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?