STM32/활용 3

STM32로 DS1302제어하기(3편)

안녕하세요. 2편에서 단순히 초만 읽었는데, 3편에서는 시간,분,초를 설정하고 시간, 분, 초를 읽어보겠습니다 -읽기 void readTime(uint8_t *time) { //array : 0: seconds, 1: minutes, 2: hours //seconds read HAL_GPIO_WritePin(CE_GPIO_Port, CE_Pin, 1); commandWrite(SCLK_GPIO_Port, SCLK_Pin, I_O_GPIO_Port, I_O_Pin, 0x81); time[0] = commandRead(SCLK_GPIO_Port, SCLK_Pin, I_O_GPIO_Port, I_O_Pin); HAL_GPIO_WritePin(CE_GPIO_Port, CE_Pin, 0); // minutes r..

STM32/활용 2023.01.24

STM32로 DS1302제어하기(2편)

안녕하세요. 오늘은 DS1302에 이전에썻던 1편에 이어서 2편을 쓰겠습니다. 1편에서는 MCU랑 DS1302랑 통신을 하기위한 과정을 적었고 2편에서는 실제로 해보겠습니다 첫 번째로 DS1302로부터 '초'단위만 읽어서 시리얼모니터로 값을 확인해보겠습니다. 사용하는 MCU는 NUCLEO-F103RB 입니다. 먼저 GPIO설정을 해줍니다. DS1302랑 통신하기위해서는 IO포트 3개가 필요합니다. 그 다음에 DS1302를 write/read하기위해서 데이터시트에 나와있는 파형에 맞게 코드를 작성해줍니다 먼저 write 부터 알아보겠습니다 초기상태 CE핀 : LOW SCK핀 : LOW IO핀 : 사용자설정 * Write 1. CE핀 -> HIGH세팅 2. I_O핀 = OUTPUT 설정 3. I_O핀 -> ..

STM32/활용 2023.01.07

STM32로 DS1302제어하기(1편)

안녕하세요. 오늘은 STM MCU로 DS1302를 제어하는 글을 쓰겠습니다. 여기서 STM MCU를 사용하지만 GPIO를 제어해서 통신하므로 STM이나 ATMEGA나 아두이노나 다른 MCU를 사용하던 방식은 모두 같습니다. 그래서 님이 MCU를 STM를 사용하지 않더라도 이 글을 봐도 됩니다. STM MCU는 NUCLEO-F103RB를 사용합니다. DS1302는 2017년도에 아두이노로 제어하는 글을 쓴 적이 있어서 DS1302에 대해서는 이전에 썼던 글을 참고하면 좋습니다. 또한 DS1302보드도 옛날에 사용했던 보드로 사용합니다. https://wowon.tistory.com/92 이제 STM32로 DS1302를 제어해야하므로 데이터시트를 자세히 봐야합니다. 첫 번째로 DS1302로부터 '초'단위만 ..

STM32/활용 2023.01.04