목록hal (3)
승코딩당당당
이번 실습에서는 STM32 Nucleo 보드(STM32L0 계열)를 기반으로 HAL 라이브러리를 활용하여 ADC, Timer, PWM, GPIO 인터럽트, UART 통신을 함께 사용하는 복합 예제를 구현해보았다. ADC를 통해 LM35 온도 센서의 아날로그 값을 읽고, Timer 인터럽트를 이용해 1초 주기의 주기 동작을 수행하며,TIM2의 PWM 기능을 활용해 PWM 듀티 비를 단계적으로 변경한다.또한 버튼과 진동 센서를 외부 인터럽트(EXTI) 방식으로 처리하여 이벤트 기반 입력 처리 구조를 확인한다. UART 통신을 통해 측정된 값과 상태 메시지를 출력함으로써, 임베디드 시스템에서 자주 사용되는센서 입력 → 타이머 기반 제어 → PWM 출력 → 시리얼 디버깅의 전체 흐름을 하나의 프로젝트 안에서 실..
이 코드는 STM32L0 NUCLEO 보드에서보드 부팅 시 UART로 “Hello World”를 PuTTY에 출력하고,진동 센서(또는 외부 인터럽트 입력)의 발생 횟수에 따라 LED를 점멸시키며,USER 버튼을 누르면 진동 카운트를 리셋하는 인터럽트 기반 동작을 구현한 예제다.단순히 GPIO를 토글하는 수준을 넘어서,UART 통신 초기화BSP(Basic Support Package)를 이용한 LED / 버튼 추상화EXTI 인터럽트 콜백 활용까지 한 번에 연습하는 코드라고 보면 된다. 먼저 CubeMX에서 다음과 같이 PA2와 PA3을 각각 USART2_TX, RX로 설정해준다. /* USER CODE BEGIN Header *//** ************************************..
기존에는 GPIO 레지스터를 직접 제어하는 방식(Bare-Metal)으로 LED Blinking을 구현해보았다.https://xeungcoding.tistory.com/64 [STM32] GPIO 레지스터 직접 제어 – LED Blinking이번 실습에서는 STM32 MCU 기반 개발 보드인 Nucleo-L073RZ를 사용하여 GPIO 레지스터를 직접 제어하는 방식(Bare-Metal)으로 LED Blinking을 구현하였다.HAL 라이브러리나 CubeMX와 같은 고수준 추상화 도구를xeungcoding.tistory.com 이번 글에서는 해당 방식을 확장하여,HAL(Hardware Abstraction Layer) 기반의 GPIO 제어 방식으로 LED Blinking을 구현해보고자 한다.STM32에서 ..