RTC + VBAT
2020. 9. 4. 16:33ㆍSTM32F/코드
VBAT PIN 에 코인전지가 연결되어 있으면 ( 베티리 ) 전원이 OFF 되더라고 RTC 는 동작 하게 되어
현재 시간 및 날짜 등을 유지 시킬 수 있다. 아래 코드는 시간 및 날짜 정보를 읽어오는 코드 있다.
데이터 출력 포멧은 BCD 로 설정 하고, 이를 Dec 로 변환 할 수 있는 함수를 구현 한다.
여기서 주의할 점은 데이터를 읽어올때 sTime -> sData 순으로 읽어야 데이터가 정상적으로 출력된다.
만약 sTime 및 sData 하나만 읽거나, sData -> sTime 을 읽으면 데이터 출력이 안된다.
위 코드 만으로는 전원이 OFF 되고 다시 ON을 시키면 시간 및 날짜 정보는 모두 초가화가 된다. ( 데이터 시트 참조 )
현재 시간 및 날짜는 유지 시키기 위해서는 아래의 코드를 추가 하면 된다.
( CubeIDE 툴에서 RTC 를 추가 하면 MX_RTC_Init 함수는 만들어 진다. )
* 구동중 Reset ( hardware reset ) 을 시키면 RTC 에 delay ( reset 을 걸는 시간 + @ ) 가 생겨 오차가 계속 누적된다.
reset 을 많이 걸어야 하는 시스템이라면 외부 RTC 모듈을 사용하는게 좋을거 같다.
'STM32F > 코드' 카테고리의 다른 글
STM32CubeIDE___SPI_Slave_DMA (0) | 2020.05.18 |
---|---|
STM32CubeIDE___SPI Slave Interrupt ( TX/RX ) (0) | 2020.05.13 |
STM32CubeIDE___SPI Code (0) | 2020.05.04 |