- Maxim 1-wire 버스를 사용하면 핀 하나만으로 통신 가능
- 신호선으로 전원까지 공급 가능
- 1-wire bus는 선 한개로 데이터의 송/수신을 하므로, 1-wire bus 방식의 IC 와 연결하는 MCU는 GPI 핀의 입력/출력 모드 번갈아가며 사용
STM32 에서 온도센서 연결
- clock 을 1ms틱으로 맞추기 위한 설정(clock configuration)
- tim2가 APB1이던 APB2이던 둘 다 8MHz = 800만
- 인터럽트를 1초마다 발생하도록 계산
- 10000을 나누기 위해 - Prescaler(PSC - 16bits value) (10000 - 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 으로 선택
-
- 현재글온도센서 사용을 위한 One-Wire 통신
-