STM32 강좌

STM32CubeMX - GPIO 설정과 I/O Toggle

plainy 0 11,942 2017.04.18 03:22

 

 

STM32CubeMX에서 GPIO를 설정하고 HAL Library를 사용하여 I/O를 Toggle하는 방법에 대해 알아보겠습니다.

본 강좌에서는 STM32F429I-DISCO를 사용하여 LED를 Toggle하도록 하겠습니다.

 

MCU선택

STM32CubeMX를 실행한 후 Test에 사용할 MCU를 선택합니다.

STM32F429I-DISCO에 사용된 STM32F429ZITx를 선택하였습니다.

69e51ef9fd1ab888b524eeb43c44871d_1492453365_4612.png
 

 

GPIO Output설정

STM32F429I-DISCO는 PG13, PG14에 LED가 연결되어 있습니다.

PG13, PG14를 GPIO_Output으로 설정합니다.

69e51ef9fd1ab888b524eeb43c44871d_1492453372_1379.gif
 

 

GPIO Control

GPIO를 Control하기 위한 함수는 HAL_GPIO_WritePin과 HAL_GPIO_TogglePin이 있습니다.

아래 코드를 추가하면 LED가 500mS마다 깜빡이는 것을 확인할 수 있습니다.

  

HAL_GPIO_TogglePin 함수 사용
  1. /* PG13, PG14를 토글합니다. */
  2. HAL_GPIO_TogglePin(GPIOG, GPIO_PIN_13 | GPIO_PIN_14);
  3.  
  4. /* 500mS Delay */
  5. HAL_Delay(500);
HAL_GPIO_WritePin 함수 사용
  1. /* PG13, PG14를 Reset합니다. */
  2. HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13 | GPIO_PIN_14, GPIO_PIN_RESET);
  3. /* 500mS Delay */
  4. HAL_Delay(500);
  5. /* PG13, PG14를 Set합니다. */
  6. HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13 | GPIO_PIN_14, GPIO_PIN_SET);
  7. /* 500mS Delay */
  8. HAL_Delay(500);

Comments

Category
글이 없습니다.
글이 없습니다.
Facebook Twitter GooglePlus KakaoStory NaverBand