HAL 드라이버 기반 UART·I2C 통신과 타이머 설정 실습
STM32CubeIDE를 처음 쓴 건 학교 마이크로컨트롤러 수업에서였습니다. CubeMX로 핀 설정과 클럭 구성을 GUI에서 잡고, HAL 드라이버로 UART와 I2C 통신 코드를 초안 생성하는 방식이 처음엔 편했습니다. 다만 HAL 레이어가 어떤 레지스터를 쓰는지 모른 채로 사용하면 타이밍 문제나 충돌이 생겼을 때 원인을 찾기 어렵다는 걸 느꼈습니다. 이후로 LL 드라이버나 직접 레지스터 설정 방식도 병행해서 이해를 넓혔습니다.
타이머 인터럽트를 이용해 정밀한 PWM을 생성하는 실습에서 클럭 분주비 계산이 처음엔 어려웠는데, 직접 계산하고 검증하는 과정을 반복하니 데이터시트를 읽는 속도가 빨라졌습니다. IDE는 도구이고, 결국 하드웨어 이해가 핵심입니다.