Lチカで始めるSTM32 Nucleoマイコン【組み込みの登竜門】

STM32のペリフェラルGPIOを設定して出力のLEDを点滅させることは実施している動作自体は単純ですが使用するマイコンの初期設定からビルド、そしてマイコンまでの転送まで一連の手順が成功したことを意味しています。まずは手順にしたがって点滅まで到達してください。

めかのとろ

マイコンのプログラムで最も初歩的なプログラムといえば出力に接続したLEDを任意に点灯、消灯させるいわゆるLチカプログラムではないでしょうか。

めかのとろ

実施している動作自体は単純なものですが、出力のLEDをコントロールすることは、使用しているマイコンの初期設定からプログラムビルド、そしてマイコンまでの転送まで一連の手順が成功したことを意味しています。

めかのとろ

開発全体から見ると小さな一歩ですが、マイコンを操作するひと、特に初心者にとってははじめの大きな関門を突破したことになります。組み込み技術の登竜門的なアプリケーションです。

Lチカの回路

押ボタンスイッチとLED

設定仕様:
入力PC13 フローティング入力 押しボタンスイッチ
出力PA5 プッシュプル出力+500Ω+LED

 

プログラム解説

めかのとろ

アプリgpio.cは入力としての押しボタンSWを押したときだけ出力LEDが点灯するプログラムです。単純なものですが、これにはマイコンを操作するための最小限の要素が含まれています

めかのとろ

GPIOをアプリケーションで使うにあたって、必須なものは指定したGPIO入力ポートのピン状態を読み込むことと、②指定した出力ポートに1か0を設定することです。

  ① 指定したGPIOポートのピン状態の読み込み 

めかのとろ

指定した入力ピンの状態を読み込むのにGPIO_ReadInputDataBit関数を使用します。

関数プロトタイプ:
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

設定例:if((!GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13))==SET){}//PC13の読み込み

めかのとろ

関数の第1引数は設定対象のGPIOポートを指定します。

GPIOポート
めかのとろ

関数の第2引数は使用するピンを指定します。

GPIOピン

 ② 指定したGPIOポートのピンへ出力設定をセット 

めかのとろ

指定したGPIOポートのピンへ出力状態をセット(1)するにはGPIO_SetBits関数を使用します。

関数プロトタイプ:
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

設定例:GPIO_SetBits(GPIOA, GPIO_Pin_5);//PA5をセット(1)に設定

めかのとろ

関数の引数はGPIO_ReadInputDataBit関数同じです。

 指定したGPIOポートのピン出力へ設定をリセット 

めかのとろ

指定したGPIOポートのピンへ出力状態をリセット(0)するにはGPIO_ResetBits関数を使用します。GPIO_SetBits関数の反転です。

gpio.cでは押ボタンスイッチを押すと入力PC13がSET(1)となり出力PA5が1でLEDが点灯します。