Embedded/STM32 9

STM32 시리즈 PWM 실습해 보기 - Nucleo-G071RB

안녕하세요. PWM에 대해서 알아보았습니다. 평가보드(NucleoG071RB)에 장착되어 있는 LED를 PWM기능을 이용해서 밝기조절을 해보겠습니다.  1. NucleoG071RB 하드웨어 확인  평가보드에 LED는 몇 개 있지만, 실제로 제어할 수 있는 LED는 1개입니다. PA5핀에 연결되어 있기 때문에 이 핀을 GPIO에서 PWM 출력으로 바꿔 밝기를 조절합니다. (평가보드마다 제어할 수 있는 LED 개수는 다릅니다.)     평가 보드에 LD4로 해서 SMD 타입으로 장착되어 있습니다.    2. 프로젝트 설정  이전 내용과 크게 변화된 것은 없으므로 새로운 STM32 프로젝트를 만들고 동일하게 RCC 설정합니다. 메인 클럭은 최대 최대 64 MHz로 설정합니다. (G071 최댓값) 1) 핀 설정..

Embedded/STM32 2025.03.07

STM32 시리즈 PWM 이론 학습하기 - Nucleo-G071RB

안녕하세요.  PWM에 대해서 알아보고 Nucleo-G071RB 평가보드에 있는 LED를 이용해서 실습해 보겠습니다.  1. PWM 이란  PWM(펄스폭 변조, Pulse Width Modulation)은 마이크로컨트롤러에서 가장 널리 사용되는 신호 생성 기법 중 하나로, 신호의 주파수는 일정하게 유지하면서 듀티 사이클(Duty Cycle)을 조절하여 출력 전력을 조절하는 방식입니다.   2. PWM 기본 개념 1) PWM 요소  PWM 신호는 일정한 주기를 가지며, HIGH 상태와 LOW 상태가 반복됩니다. 여기서 중요한 두 가지 요소는 다음과 같습니다  주파수 (Frequency, f): PWM 신호가 1초에 반복되는 횟수입니다. 다르게 말하면, 1초에 파형이 몇 개 나오는가? 1초에 1개 파형이 나..

Embedded/STM32 2025.03.06

STM32 시리즈 ADC 실습하기 - Nucleo-G071RB

안녕하세요.  이전 글에서 ADC와 DAC에 이론에 대해서 간략하게 확인해 보았습니다. 이번에는 ADC를 폴링과 인터럽트모드로 사용하는 방법에 대해서 알아보겠습니다.  1. ADC 프로젝트 1) 프로젝트 생성  이전 내용에서 프로젝트 생성하는 방법을 읽었다는 전제로 간단하게 진행하도록 하겠습니다.  새로운 STM32 프로젝트를 생성하고 가지고 있는 평가보드를 선택합니다. 원하는 프로젝트 이름으로 입력하고 생성합니다.  이전과 동일하게 System Core의 RCC와 RTC 등 기본 설정을 해줍니다. 2) ADC 설정 (폴링, Polling)  사용할 ADC 핀을 선택합니다. 여기서는 A0(PA0) 핀을 통해 ADC 기능을 테스트해 보겠습니다.    PA0핀 설정을 ADC1_IN0로 선택합니다. 그리고 나..

Embedded/STM32 2025.03.03

STM32 시리즈 ADC와 DAC 이론 학습 - Nucleo-G071RB

안녕하세요.  Uart 실습을 끝냈고, 이번에는 ADC, DAC에 대해서 간단히 알아보겠습니다. 1. ADC와 DAC의 개요  전자기기에서 신호를 다룰 때, 아날로그(Analog) 신호와 디지털(Digital) 신호 간의 변환이 필요합니다. ADC(Analog to Digital Converter)와 DAC(Digital to Analog Converter)는 이러한 변환을 수행하는 핵심 장치입니다.   ADC: 아날로그 신호를 디지털 신호로 변환하는 장치 (마이크, 온도센서) DAC: 디지털 신호를 아날로그 신호로 변환하는 장치 (오디오 플레이어, 신호발생기)  이러한 변환 기술은 오디오 처리, 센서 데이터 변환, 영상 신호 처리, 통신 시스템 등 다양한 응용 분야에서 필수적입니다.   2. ADC(A..

Embedded/STM32 2025.02.27

STM32 시리즈 UART 실습 학습 - Nucleo-G071RB

1. Nucleo-G071RB 보드의 UART 연결(평가보드 UART와 PC 연결 형태) 1) Nucleo-G071RB 보드 구성  외부 핀을 연결해서 테스트할 수 있지만, 평가보드(Eval Board)에는 ST-LINK와 함께 시리얼통신을 할 수 있는 가상 COM PORT를 지원합니다.      보드에 전원을 인가하고 장치 관리자의 포트를 확인하면 STLink Virtual COM PORT가 추가되어 있습니다. STM32 CUBE IDE 프로그램을 설치할 때 보통 같이 설치가 되나 그렇지 않다면 검색을 해서 별도로 설치해 주어야 합니다.    2) Nucleo-G071RB UART 회로 부분  STM32G071의 UART2_RX, TX와 STM32F103의 STLK_RX, TX가 연결되어 시리얼 통신을..

Embedded/STM32 2025.02.23

STM32 시리즈 UART 이론 학습 - Nucleo-G071RB (STM32F 차이점)

안녕하세요.   이번에는 UART 이론 내용을 다뤄 보겠습니다. 그런데 기존의 레지스터와 조금 변경된 내용이 있어 같이 내용을 추가해 보았습니다. STM32 시리즈마다 다를 수 있으므로, 평가보드나 사용하고 있는 MCU의 DataSheet는 꼭 확인해 보시기 바랍니다.   1. UART (Universal Asynchronous Receiver/Transmitter)란? 1) 설 명  UART는 직렬 통신(Serial Communication) 방식 중 하나로, 데이터를 비동기 방식(Asynchronous)으로 송수신하는 하드웨어 모듈입니다. 즉, 데이터를 1비트씩 순차적으로 보내는 방식이며, 클럭 신호 없이 송신기와 수신기가 같은 전송 속도를 유지해야 합니다.  2) UART의 특징  - 비동기 방식 ..

Embedded/STM32 2025.02.18

STM32 시리즈 타이머(Timer) 실습하기 - Nucleo-G071RB

안녕하세요.  이전 글에서 타이머 이론을 학습했다면, 이제 Nucleo 보드에서 확인해 보겠습니다. 가지고 있는 STM32 cortex-M 시리즈에서도 타이머 포트 혹은 핀 등을 변경해서도 가능할 것이라 생각됩니다.   1. RTC 회로 확인   내부에 32KHz RTC 크리스털이 있지만, 1초를 측정 오차를 조금이라도 줄이기 위해서 외부 32.768KHz 크리스털이 장착된 것을 알 수 있습니다. (LSE)    2. 프로젝트 생성  STM32 IDE를 실행시키고 "File->New->STM32 Project"를 선택해서 프로젝트를 실행합니다. 테스트 보드라면 상단 "Board Selector"를 선택하고 "Commercial Part Number"에 가지고 있는 제품의 이름을 입력해서 제품을 선택하고 ..

Embedded/STM32 2025.02.15

STM32 시리즈 타이머(Timer) 이론 학습

안녕하세요.   먼저 아래 내용은 STM32 모든 시리즈가 아니라 일부 Cortex-M 시리즈에 관한 내용임을 참고해주셨으면 합니다. 그리고 고사양 MCU일 경우 다를 수 있으며, 학습용에 사용되는 F103, F429, G071 등과 유사한 제품 내용이라고 보시면 됩니다.  1. MCU Timer(타이머)  - MCU, CPU 내부에는 시간을 측정을 하기 위한 타이머가 있습니다. 일종의 시계 개념 - 전자시계의 초 단위 시간, 아람 시간 설정 등은 타이머 기능을 사용합니다. 1) 크리스털 (Crystal Oscillator)  : 압전소자로 만들어져 일정한 주기의 펄스 신호를 생성하며 MCU에서 정확한 시간을 측정하는 주요 소자입니다.   부품 형태(Dip, SMD)는 차이는 있지만, 보통 회로도에 표기..

Embedded/STM32 2025.02.13

STM32 시리즈 GPIO(General Purpose Input/Output) 포트 학습 정리

안녕하세요.  STM32 MCU의 GPIO 내용을 간단하게 정리해보려고 합니다. STM32 MCU 시리즈를 보면 32핀, 64핀 144핀을 가지고 있는 제품을 보았을 것이고 세부적으로 상품번호에 따라 메모리 용량 기능 등에 차이가 있습니다.   여기서, 물리적인 핀에 관한 것을 우선 보면 핀이 많으면 많을수록 여러 가지 입출력 제어가 가능한 장점이 있습니다. 그러나 불필요하게 핀이 많은 제품을 선정해서 원가 높일 필요가 없습니다.    다시 돌아와서, 모든 핀을 입출력으로 사용할 수 있는 것은 아니고, 기본적으로 전원 연결하는 핀, GND핀 등 고정적으로 사용되는 핀 말고, MCU 핀냅에서 PA ~ PE 등 P로 시작하는 핀을 보았을 것입니다.     핀맵에서 P로 시작한다면 보통 GPIO 기능을 가진 ..

Embedded/STM32 2025.02.11