IoT|Embedded/[STM32] 고추건조기 개발기

온도센서 사용을 위한 One-Wire 통신

jinyess 2024. 10. 25. 14:48
  • Maxim 1-wire 버스를 사용하면 핀 하나만으로 통신 가능
  • 신호선으로 전원까지 공급 가능
  • 1-wire bus는 선 한개로 데이터의 송/수신을 하므로, 1-wire bus 방식의 IC 와 연결하는 MCU는 GPI 핀의 입력/출력 모드 번갈아가며 사용

STM32 에서 온도센서 연결

# 온도센서 연결 완료

TIM(타이머) 세팅

  • clock 을 1ms틱으로 맞추기 위한 설정(clock configuration)
    • tim2가 APB1이던 APB2이던 둘 다 8MHz = 800만
    • 인터럽트를 1초마다 발생하도록 계산
      • 10000을 나누기 위해 - Prescaler(PSC - 16bits value) (10000 - 1)
        • 기본 세팅은 (8 - 1)으로 세팅
      • 또 800만큼 나눔 - Counter Period(AutoReload Register - 16bits value) (800 - 1)
        • Counter 1을 올리기 위한 연산
        • 10000번 클럭이 흘렀을 때 Counter 1이 올라가도록 함
        • 세팅을 0xffff로 해서 최대로 올라가도록 하기
    • Clock configuration (최대 세팅을 위해)
      • System Clock Mux를 PLLCLK로 선택
      • PLL Source Mux의 PLLMul을 x16으로 변경
      • 경고) AHB Prescaler를 /2 해주면 최대 MHz 변경
  • 사용하는 칩의 최대 성능을 사용하기 위해
    • System Core > RCC > High Speed Clock과 Low Speed Clock을 Crystal/Ceramic Resonator로 선택
    • Clock Configuration에서 HSE PLLMul을 x9, AHB Prescaler 를 /1 으로 선택

'IoT|Embedded > [STM32] 고추건조기 개발기' 카테고리의 다른 글

SPI 통신  (0) 2024.09.30
다시 입문부터 시작  (1) 2024.09.04