STM32F303K8 GPIO input ボタン
開発環境
評価ボード | Nucleo STM32F303K8 |
IDE | System Workbench for STM32 (SW4STM32) |
Library | Hal Library |
OS | windows 10 pro |
出力ができたので次は入力を見てみます。
回路では、
PA8を10kΩでプルアップします。
CubeMXの設定、
にします。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)
この関数で見ることができます。現在のピンの状態が返り値になります。
簡単ですね。
ボタンから指を離した時
ボタンを押した時
20170821の記事