STM32/활용 4

STM32로 ADC기능을 사용하여 그래프 표시하기

안녕하세요. 오늘은 STM32로 ADC기능을 사용하여 그래프를 표시해보겠습니다.간단히 나타내면 아래의 그림과 같습니다. STM32로 저항의 전압을 읽어서 PC 프로그램으로 uart 통신을 통해 값을 보내주고 PC 프로그램에서는 받은 데이터를 일정한 시간 간격으로 그래프를 표시해 주는 것입니다.*하드웨어구성 가변저항2개를 이용하여 전압값을 읽게 했습니다.Vin은 3.3V이고 R1는 10k이고  R2는 0~10k이므로 Vout은 0~1.65V 나옵니다.*STM32 FW구현해야하는건 ADC값 읽는거와 UART통신으로 PC에게 데이터를 보내주는것입니다. 뉴클레오보드를 사용하므로 usb to uart는 이미 uart2에 할당되어있습니다.printf 기능을 사용할것이므로 아래의 헤더파일과 함수만 추가해주면 됩니다...

STM32/활용 2024.12.30

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