0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TouchGFXを使おう5~Lチカ編~

Posted at

TouchGFXを使おう4~アニメーション~の続きです。

今回は、TouchGFXでLEDを光らせてみましょう。

画面製作

新規プロジェクトを作成し、ボタンを2個作成します。

インタラクションの設定

Interactionを以下のように設定します。

Interaction1
Trigger Button is clicked
Choose clicked source On_switch
Action Call new virtual function
Function Name function1

image.png

ピン設定

STM32CubeIDEを立ち上げた状態でSTM32CubeIDEフォルダのprojectファイルをダブルクリックし
.project ファイルを ダブルクリック プロジェクトをインポートします。
image.png
Iperatin completedOKクリック します。
image.png
立ち上げ後、iocファイルからLEDにつながる PC2 ピンを GPIO Output にし Generation します。
image.png
image.png
Warningが出ますが Yes で進みます。
image.png
TouchGFXでも変更されたことが表示されますので Yesクリック します。
image.png

プログラム作成

今回、Screen1View.hpp に追加する関数を宣言します。

Screen1View.hpp

virtual void function1();

image.png

Screen1View.cpp に以下ププログラムを追加します。

ヘッダに

#ifndef SIMULATOR
#include "stm32h7xx_hal.h"
#endif

プログラム内に以下を追加します。

void Screen1View::function1()
{
	#ifndef SIMULATOR
    HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_3);
	#endif
}

image.png

シミュレータエラー対策

そのままプログラムを記述するとTouchGFXにおけるシミュレータでエラーとなります。
シミュレータでは読まない設定にするために #ifndef SIMULATOR を宣言しプログラムを記述していきます。

#ifndef SIMULATOR
#endif

コンパイルするとボタン操作に応じてLEDの切り替えが出来るようになります。

TouchGFX内でのプログラム作成の例

ピン設定を行えば、プログラムをTouchGFX内で完結する手法があります。
ActionExecute C++ Code にし以下プログラムを入力します。

Code

#ifndef SIMULATOR
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_3);
#endif

Includes

#ifndef SIMULATOR
#include "stm32h7xx_hal.h"
#endif

image.png

書込み

Program and Run Targetをすることで書き込み後、ボタン操作に応じてLEDが点滅すれば成功です。
image.png
TouchGFXを使おう6~Lチカ編2~に続きます。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?