CCWO Embedded Space

CCWOの日々の開発を発信するブログ

STM32F303K8 GPIO input ボタン

開発環境

評価ボード Nucleo STM32F303K8
IDE System Workbench for STM32 (SW4STM32)
Library Hal Library
OS windows 10 pro

出力ができたので次は入力を見てみます。
回路では、
PA8を10kΩでプルアップします。

CubeMXの設定、

f:id:CCWO:20170821121616p:plain
にします。PA8をGPIO_inputにし、ユーザーラベルをBUTTONにし、歯車マーク(Generate Code based on user settings)を押して、SW4STM32に適応します。

SW4STM32の設定

SW4STM32では、以下のコードに変更します。

/* USER CODE BEGIN 3 */
  if(HAL_GPIO_ReadPin(BUTTON_GPIO_Port, BUTTON_Pin) == 1){
		  HAL_GPIO_WritePin(LD3_GPIO_Port, LD3_Pin, GPIO_PIN_RESET);
	  }else{
		  HAL_GPIO_WritePin(LD3_GPIO_Port, LD3_Pin, GPIO_PIN_SET);
	  }
  }
  /* USER CODE END 3 */

よくあるWhileでBUTTONを監視するよくないプログラムです。
ピンの入力は

HAL_GPIO_ReadPin(BUTTON_GPIO_Port, BUTTON_Pin) 

この関数で見ることができます。現在のピンの状態が返り値になります。
簡単ですね。
ボタンから指を離した時
f:id:CCWO:20170821121841j:plain
ボタンを押した時
f:id:CCWO:20170821121843j:plain

20170821の記事