본문 바로가기
임베디드

[오제이 튜브의 임베디드 강의] 37강. 보드 완성까지 딱 두걸음!

by 덤더리덤떰 2025. 2. 20.

1. 함수 묶어놓기

  • main에서 ojtube_log.h 지우고 사진1처럼 작성 후 헤더파일에는 ssd1306.h include 시키기
  • main에서 oledController.h include
  • 사진2처럼 oledController.c에 함수 추가 
  • opening 함수 끝에 printDefault 호출하고 헤더파일에도 선언
사진2에서 SSD1306_UpdateScreen(); 함수 추가

 

2. 숫자가 올라가게끔 

  • oledController.c에 사진1처럼 소스코드 추가한 후에 <stdio.h> include하고 헤더파일에도 함수 원형 선언

 

  • 이 동작들도 파일만들어서 따로 빼두기  
  • main 함수 내에 checkButton(); 추가 
c 파일에 oledController.h도 추가

 

 

3. 온도 설정 코드 

  • fix 버튼 : 그 온도로 저장하겠다
  • 사진2처럼 수정
  • m_desired_temper // up/down 버튼 눌러서 바꾸는 온도
  • m_fixed_temper // 원하는 온도 설정하고 fix버튼 눌렀을 때 저장되는 목표 온도
printTemper의 인자로 m_desired_temper로 수정

 

4. 설정 온도가 될 때까지 껐다 키도록 하는 소스 코드 작성

  • 온도 가져오는 걸 1초당 1번 수행되도록
  • 기존 heaterControll함수를 OnOff로
  • 헤더파일에 controType.h 추가
  • 사진3처럼 수정
사진1에서 HAL_Delay 전에 m_count ++;
설정해놓은 온도 26도보다 높아서 드라이기를 꺼서 계속해서 온도를 낮춘 후 26보다 낮아지면 드라이기가 자동으로 릴레이 스위칭으로 켜지는 과정