본문으로 건너뛰기

M04 · MCU·주변장치·드라이버 입문

모듈 목표와 소주제별 준비 상태·권장 선수를 확인하세요.

전체 커리큘럼

모듈 목표

  • 블로킹 처리의 영향을 찾고 안전 정지 상태 전이를 설계.

원안의 선수 안내: M01, M03. 실제 보충은 아래 소주제별 권장 선수를 참고하세요.

M04.01MCU 레지스터·메모리·Atmega328p 사례

학습 목표

  • 호스트와 MCU의 빌드 대상·메모리 공간을 구분하고 장치 레지스터의 주소/접근 의미를 확인한다.
  • 합성 메모리 예산에서 정적 영역·heap/stack과 여유/초과를 계산하고 확인 범위를 설명한다.
  • 공유 RAM 사건표의 갱신 유실과 특수 레지스터 접근 오류를 진단하고 필요한 재현/검증 근거를 기록한다.
학습 단위 열기 →

권장 선수

M01.03의 native/ABI·버퍼 계약과 M03.04의 전기적 명세가 선수다. 일반 코딩 경험을 전제로 C/C++ 문법·포인터/비트 연산 입문은 반복하지 않는다. ATmega328P의 명시한 자료와 가상 메모리/사건표를 읽는 종이 활동이며 컴파일·펌웨어/퓨즈/레지스터 쓰기나 실제 장비 연결은 하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: MCU 레지스터·메모리·Atmega328p 사례 · 본문

M04.02GPIO·UART·인터럽트·타이머

학습 목표

  • GPIO의 방향/래치·입력 읽기와 스위치 논리/전기적 조건을 구분한다.
  • 실제 주변장치 clock과 모드로 UART baud·직렬 전송량·타이머 주기/범위를 계산한다.
  • 이벤트 발생·pending 표시·ISR 서비스·호스트 메시지의 시각과 누락/과부하를 합성 사건에서 판정한다.
학습 단위 열기 →

권장 선수

M04.01의 타깃/레지스터·메모리/공유 접근이 선수다. 일반 코딩을 전제로 C/C++ 문법이나 레지스터 쓰기 코드를 가르치지 않는다. ATmega328P의 명시한 모드/clock과 합성 표를 분석하며 실제 배선/컴파일·펌웨어/퓨즈/핀 쓰기·장비 실증은 하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: GPIO·UART·인터럽트·타이머 · 본문

M04.03ADC·PWM·센서 샘플링·모터 구동

학습 목표

  • ADC 코드의 reference·해상도와 대표 환산값/정확도를 구분하고 읽기 결과의 출처를 확인한다.
  • ADC clock·변환 시간과 샘플링 주기/동시성·aliasing을 계산하고 원본 시각/입력 대역의 조건을 설명한다.
  • PWM 파형의 주파수/duty·이상 평균 전압을 계산하고 driver 명령과 실제 모터 상태/미확인을 구분한다.
학습 단위 열기 →

권장 선수

M04.02의 실제 clock·주기/대역·이벤트/ISR 구분이 선수다. 제공 raw/파형·샘플열과 ATmega328P의 명시한 모드를 종이로 분석한다. C/C++ 문법·레지스터 쓰기/배선·전압 인가/모터/장비/펌웨어 실행은 하지 않는다. 식의 결과를 실제 측정·안전/운전 허가로 취급하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: ADC·PWM·센서 샘플링·모터 구동 · 본문

M04.04SPI·I2C/TWI·EEPROM

학습 목표

  • SPI의 모드/프레이밍·비트 순서와 값의 바이트 순서/관측 유효성을 구분한다.
  • I2C의 주소 공간/방향·ACK/NACK·전체 전송 예산과 실패/지연을 판정한다.
  • EEPROM의 별도 공간·쓰기 예산과 주어진 기록의 schema/범위·CRC/commit 유효성을 비교해 복구/미확인을 설명한다.
학습 단위 열기 →

권장 선수

M04.03의 획득/결과 출처·sampling/driver 구분이 선수다. 가상 버스/기록표를 종이로 읽으며 일반 C/C++ 문법/버스 쓰기 코드를 요구하지 않는다. 실제 배선/장비 전송·EEPROM 쓰기/정전 시험·펌웨어 실행은 수행하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: SPI·I2C/TWI·EEPROM · 본문

M04.05펌웨어 상태기계·타임아웃·호스트 통신

학습 목표

  • 상태·사건·전이 조건으로 명령의 출력 허용과 만료/고장 후 재개 금지를 설명한다.
  • 프레임 경계·선로 시간과 ACK 대기/명령 만료·서로 다른 clock을 구분한다.
  • 접수/실행/관측·중복/재시도/늦은 응답을 나누어 미확인 결과를 기록한다.
학습 단위 열기 →

권장 선수

M04.04의 버스 응답/설정 유효성 구분이 선수다. 일반 코딩 가능을 전제로 언어 문법 없이 제공 사건표를 분석한다. 실제 포트/펌웨어·모터·ROS/장비 실행이나 물리 정지 검증은 수행하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: 펌웨어 상태기계·타임아웃·호스트 통신 · 본문

M04.06단위·범위·오류 코드가 있는 드라이버 계약

학습 목표

  • 센서의 바이트 표현·단위·축과 측정/명령 범위를 구분하고 변환한다.
  • 현재 결과와 과거 정상값·오류/시각/버전을 나누어 유효성을 판정한다.
  • 드라이버의 검증·양자화/거부·상태/관측 경계를 담은 입력·출력 계약을 작성한다.
학습 단위 열기 →

권장 선수

M04.05의 요청/상태·만료/clock 구분이 선수다. 일반 코딩 가능자를 대상으로 언어/문법 없이 가상 센서와 명령표를 분석한다. 실제 드라이버·ROS/펌웨어·모터 실행이나 보정/물리 안전 실증은 수행하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: 단위·범위·오류 코드가 있는 드라이버 계약 · 본문
← 전체 목차의 공통 기반 영역