3장 - 예제2

조재훈·2023년 6월 8일
0

예제2 : Digital Input

  • 디지털 포트에서 입력 로직레벨을 읽어서 레벨이 Low면 Blue LED를 Off, High면 Blue LED를 On

  • UML Tool
    1) Read GPIO C_13
    2)
    2-1) if 1 => Write BPIO B_7 SET
    2-2) if 0 => Write GPIO B_7 Reset

  • PinMap

  • GPIOC GPIO_PIN_13이 입력으로 되어있는지 확인

  • ETH 부분을 Disable

  • Generate Code

  • Inc - main.h 파일을 열면 아래와 같이 정의된 내용들 있음

  • Src - main.c에서 코딩

while(1)
{
	if(HAL_GPIO_ReadPin(USER_Btn_GPIO_Port, USER_Btn_Pin)
    {
    	HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_SET);
    }
    else
    {
    	HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
    }
}

  • HAL_GPIO_ReadPin(GPIO_Type, GPIO_Pin);

  • 디버그 및 실행
    : USER 스위치를 누르면 켜지고 떼면 꺼진다

profile
맨땅에 헤딩. 인생은 실전.

0개의 댓글