펌웨어 · 과목 11MCU 펌웨어레지스터 한 비트가 핀을 켜고, 타이머를 돌리고, 모터를 움직입니다. 임베디드 개발의 본체입니다.목표: 데이터시트만 보고 MCU의 주변장치를 설정해 원하는 동작을 만들 수 있다.초급난이도약 6주하루 1시간 기준12개주제4개실험실0 / 12 완료이어서 보기 →먼저 볼 과목 컴퓨터구조전자회로다음 과목 통신 프로토콜RTOS펌웨어 설계와 품질센서와 신호처리지도에서 보기 →1개발 환경STM32CubeIDE, 컴파일러, 디버거를 갖추고 LED 하나를 켭니다.정리 노트2레지스터 제어와 HAL레지스터를 직접 다루는 방법과 HAL을 쓰는 방법, 언제 무엇을 쓸지.정리 노트3GPIO입력과 출력, 푸시풀과 오픈드레인, 내부 풀업 설정을 레지스터 수준에서 봅니다.정리 노트4클럭 트리HSE, PLL, 프리스케일러. 클럭이 어디서 와서 어떻게 나뉘는지 따라갑니다.정리 노트5타이머정확한 주기의 인터럽트와 입력 캡처로 시간을 재는 방법.시뮬레이션 열기정리 노트GROUND EMBEDDED · 실험실PWM 실험대LED와 모터로 보기평균 30%D1주기3D 실험실6PWM타이머로 PWM 파형을 만들고 PSC, ARR, CCR을 계산합니다.시뮬레이션 열기정리 노트GROUND EMBEDDED · 실험실PWM 실험대LED와 모터로 보기평균 30%D1주기3D 실험실7인터럽트와 NVIC우선순위 설정, 처리 루틴을 짧게 유지하는 이유, 공유 변수 다루기.시뮬레이션 열기정리 노트GROUND EMBEDDED · 실험실인터럽트 하던 일을멈추고 다녀오기 1volatile uint32_t *ODR 2 = (uint32_t*)0x40020014; 3*ODR |= (1u << 5); 4while (1) { 5 if (flag) toggle(); 6}3D 실험실8ADC단일 변환, 연속 변환, 타이머에 맞춘 샘플링.시뮬레이션 열기정리 노트GROUND EMBEDDED · 실험실ADC 전압을숫자로 바꾸기MCU온도I2CIMUSPI홀GPIO거리UART전류ADC3D 실험실9DMA 활용ADC 값과 UART 데이터를 CPU 없이 메모리로 옮깁니다.정리 노트10워치독과 저전력 모드프로그램이 멈추면 리셋하는 워치독, 배터리 기기를 위한 슬립 모드.정리 노트11Flash와 EEPROM 쓰기설정값을 전원이 꺼져도 남게 저장하는 방법과 쓰기 횟수 제한.정리 노트12부트로더펌웨어를 스스로 업데이트하는 구조와 메모리 분할.정리 노트