[STM32] 6. Built-in Button을 사용하여 built-in LED Control

2025. 9. 7. 19:21·Embedded System/STM32
728x90
반응형

지금까지는 GPIO를 Output으로만 설정하여 LED를 점멸했다. 이번에는 Nucleo Board에 Built-in Button으로 Built-in LED를 컨트롤할 것이다.

 

프로젝트 생성

 

 

프로젝트 이름은 3_built-in_button_LED이다.

 

GPIO 설정

 

보드메뉴얼 없이 Pintout Map에서 찾아보자. Built-in Button은 Blue PushButton(B1)이고, Built-in LED는 이전 프로젝트에서 사용했었던 LD2이다.

 

 

여기서 B1은 Default로 GPIO_EXTI13으로 설정되어 있는데 GPIO_Input으로 바꿔준 후, 저장한다.

 

 

FW 코딩

 

  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  HAL_GPIO_WritePin(GPIOA,  GPIO_PIN_5, HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13));
    /* USER CODE END WHILE */

 

 

  • HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13)
    • PC13 핀의 입력 값을 읽어옴.
    • 결과는 GPIO_PIN_SET(1) 또는 GPIO_PIN_RESET(0).
    • Nucleo 보드에서는 User Button이 PC13에 연결돼 있어 → 버튼 입력값.
  • HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, … )
    • PA5 핀(보드 내장 LED LD2에 연결)의 출력을 지정.
    • 세 번째 인자에 들어온 값(즉, PC13 버튼 상태)을 그대로 출력.

 

 

 

 

PC13 핀에는 기본적으로 풀업저항이 달려있다.

 

그래서, 버튼을 누르지 않을 경우 VDD이고, 버튼을 누를 경우 GND가 된다.

 

LED의 동작을 예상해보면 버튼을 누르지 않았을 경우에 불이 들어오고(HIGH), 버튼을 누를 경우에는 불이 꺼질(LOW) 것이다.  

 

Build 후 실행한다.

 

결과

 

 

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Embedded System > STM32' 카테고리의 다른 글

[STM32] GPIO 관련 HAL 함수  (0) 2025.09.07
[STM32] 5. Blink LED  (0) 2025.09.07
[STM32] 4. Blink built-in LED  (0) 2025.09.07
[STM32] 3. STM32Cube 프로젝트 생성  (0) 2025.09.06
[STM32] 2. Cortex 시리즈 정리  (0) 2025.09.04
'Embedded System/STM32' 카테고리의 다른 글
  • [STM32] GPIO 관련 HAL 함수
  • [STM32] 5. Blink LED
  • [STM32] 4. Blink built-in LED
  • [STM32] 3. STM32Cube 프로젝트 생성
리미와감자
리미와감자
공부한 내용을 포스팅합니다.
    반응형
    250x250
  • 리미와감자
    리미창고
    리미와감자
  • 전체
    오늘
    어제
    • 분류 전체보기 (213)
      • Programming (92)
        • Common (6)
        • C (3)
        • C++ (16)
        • Python (35)
        • Front End (8)
        • Linux (1)
        • Script (7)
        • Data Structure (5)
        • Tool (11)
      • Computer Science (0)
      • VLSI (30)
        • Common (4)
        • Design (15)
        • SystemVerilog (9)
        • UVM (2)
        • FPGA (0)
      • Embedded System (31)
        • Arduino (2)
        • STM32 (7)
        • Embedded Recipes (22)
      • Semiconductor (11)
        • Semiconductor Device (1)
        • Display (10)
      • Algorithm (8)
        • Image Processing (8)
        • AI (0)
      • Certificate (26)
        • ADsP (26)
      • 일상생활 (15)
        • 맛집 리뷰 (4)
        • 나는 오늘 무엇을 샀나 ! (5)
        • 국내여행 (5)
        • 나들이 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 최근 글

  • 최근 댓글

  • 태그

    Asynchronous FIFO
    openpyxl
    arduino
    systemverilog assertions
    assertion
    티스토리챌린지
    오블완
    UVM
    Clock Domain Crossing
    아두이노
    자료구조
    BeautifulSoup4
    ADsP
    data structure
    CDC
    SVA
    c++ 기초
    Bash
    임베디드레시피
    SystemVerilog
    tkinter
    Dither
    STM32
    임베디드시스템
    군산가볼만한곳
    디더링
    Handshake
    Metastability
    git
    파이참
  • 링크

    • chipverify
    • vlsiverify
    • iksciting
    • 오늘은 맑음
    • verificationguide
  • hELLO· Designed By정상우.v4.10.6
리미와감자
[STM32] 6. Built-in Button을 사용하여 built-in LED Control
상단으로

티스토리툴바