stm32 study 시리즈 생성용

CPU가 접근할 수 있는 전체 주소 공간의 일부 주소 범위를 Flash, RAM, 주변장치 레지스터 등의 하드웨어 자원에 대응시켜 놓은 주소 배치 구조※ Memory-mapped I/O : GPIO와 같은 주변 장치의 제어·상태 레지스터를 CPU 주소 공간에 배치하여,

General Purpose Input/OutputMCU가 외부 장치와 디지털 신호를 주고받을 수 있도록 만든 범용 입출력 핀버튼 상태 확인LED On/Off릴레이나 모터 드라이버 제어Sensor의 디지털 신호 읽기UART, SPI, I^2C 같은 통신 핀으로 사용하나

STM32에서 센서와 통신하다 보면 가장 자주 만나는 인터페이스 중 하나가 UART다. 이 글에서는 UART의 개념과 동작 원리부터 STM32F446RE의 USART, HAL 설정, 레지스터를 직접 다루는 Bare-Metal 설정까지 한 번에 정리한다. 예제 기준은

CPU가 현재 실행 중인 코드를 잠시 멈추고, 긴급하게 처리해야 하는 이벤트의 전용 함수로 이동하는 메커니즘 이 전용 함수를 ISR(Interrupt Service Routine) 또는 Interrupt Handler라고 한다.GPIO, 타이머, UART와 같은 주변장

1. NVIC의 개념 CPU: 프로그램 명령어 실행 MCU: CPU·GPIO·타이머·통신 장치·메모리 등을 포함한 칩 주변장치: GPIO·타이머처럼 특정 기능을 담당하는 하드웨어 폴링(polling): CPU가 버튼 상태를 반복해서 확인 인터럽트: 하드웨어가 사건

PC에서 프로그램을 만들고 보드에 기록하면, 보드는 자기 CPU와 메모리로 실행한다.조사한 시작 코드: startup_stm32f446retx.s조사한 배치 규칙: STM32F446RETX_FLASH.ld01\. STM32 프로젝트 파일 구성코드 작성 → 컴파일·어셈블

클럭 신호를 세어 시간의 흐름을 측정하거나 특정 시점에 동작을 발생시키는 하드웨어.주요 구성 요소PSC(Prescaler): 입력 클럭을 나누어 카운트 속도 조절.CNT(Counter): 현재 카운트 값 저장.ARR(Auto-Reload Register): 카운트 주기

정보나 제어값에 따라 Pulse 폭을 변화시켜 전달하는 방식Pulse 폭은 한 주기에서 신호가 HIGH로 유지되는 시간을 의미함한 주기에서 HIGH 시간이 차지하는 비율을 듀티비(Duty Cycle)라고 함듀티비를 조절하여 부하에 공급되는 평균 파워 변화 가능주로 LE