Home » STM32 » Page 2

STM32

STM32F0 UART 인터럽트 CUBEMX LL 드라이버 설정하기

STM32F0 UART 인터럽트 LL 드라이버 코드를 작성 예제입니다. STM32F091RC USART LL 드라이버 인터럽트 목차 STM32F0 UART 인터럽트 CUBEMX LL 드라이버 설정하기 (현재 포스팅) STM32F0 UART 인터럽트 LL 드라이버 코드 작성하기   이전 포스트와 내용이 같아 상당 발췌 했습니다.   들어가기 앞서 UART는 어따 써먹는 놈인가? 시리얼 통신할 때 사용하는 놈이다. 보통 칩에서 pc로 데이터를 보내거나, 역으로 […]

STM32F0 UART 인터럽트 CUBEMX LL 드라이버 설정하기 Read More »

STM32F0 UART 수신 인터럽트 코드 작성하기

STM32F0 UART 수신 인터럽트 코드 작성 예제입니다. STM32F091RC USART 인터럽트 목차 STM32F0 UART 인터럽트 CUBEMX 로 기초 설정하기 STM32F0 UART 수신 인터럽트 코드 작성하기 (현재 포스팅)   HAL 드라이버는 유저 편의성을 많이 고려하다보니, 코드가 무겁다. 그리고 때로는 설정이 제한되어 원하는대로 코드를 작성하지 못하기도 한다. HAL_UART_Receive_IT 수신 인터럽트를 사용하려면 위 함수를 사용하면 된다.   입력인자로, UART의

STM32F0 UART 수신 인터럽트 코드 작성하기 Read More »

STM32F0 UART 인터럽트 CUBEMX 로 기초 설정하기

STM32F0 UART 인터럽트 CUBEMX 로 기초 설정하는 예제입니다. STM32F091RC USART 인터럽트 목차 STM32F0 UART 인터럽트 CUBEMX 로 기초 설정하기 (현재 포스팅) STM32F0 UART 수신 인터럽트 코드 작성하기   이전 포스트와 내용이 같아 상당 발췌 했습니다.   들어가기 앞서 UART는 어따 써먹는 놈인가? 시리얼 통신할 때 사용하는 놈이다. 보통 칩에서 pc로 데이터를 보내거나, 역으로 수신할 때 사용하는데,

STM32F0 UART 인터럽트 CUBEMX 로 기초 설정하기 Read More »

STM32F0 UART LL 송신 코드 작성하기

STM32F0 UART LL 송신 코드 작성 예제입니다. STM32F091RC USART LL목차 STM32F0 UART CUBEMX LL 드라이버 설정하기 STM32F0 UART LL 송신 코드 작성하기 (현재 포스팅) LL_USART_Enable 먼저 시리얼 통신을 시작하는 함수부터 시작한다.   디스크립션에 적힌대로 USART2를 적어준다.   USART_ISR LL드라이버의 경우 레지스터를 좀 많이 봐야하는데, 시리얼 통신에 대한 이해가 먼저 선행된다.   간단하게 설명하자면 데이터를 보내는 레지스터가

STM32F0 UART LL 송신 코드 작성하기 Read More »

STM32F0 PWM 기초 설정을 CUBEMX로 하기

STM32F0 PWM 클럭을 생성하는 예제입니다.   STM32F091RC PWM목차 STM32F0XX CUBEMX로 PWM클럭 설정하기 (현재 포스트) STM32F0XX PWM 코드 작성하기 STM32F0XX PWM 설정 부록 설명 STM32F0XX PWM Duty 조절하기 근 몇 달동안 포스팅을 부득이하게 쉬었습니다. 오늘은 STM32F091RC칩으로 PWM 클럭을 생성하고자 합니다. 들어가기 앞서 PWM이 궁금한 분들을 위해 간단하게 서술한다. PWM은 Pulse-width modulation의 약어이다. 펄스의 폭을 제어하는 기법이라 어렵지

STM32F0 PWM 기초 설정을 CUBEMX로 하기 Read More »

CUBEMX로 STM32F303 ADC를 설정해보자

위 포스팅에는 NUCLEO-STM32F303RE 개발보드를 사용했다. 먼저 CUBEMX를 실행해 F303RE 보드를 선택한다. 사용법은 링크에 설명해 두었다. <STM32F303RE 보드 초기설정화면> 위 화면에서 Peripherals – ADC1탭에 보면 IN1~IN8까지 있다. 옵션을 입맛에 맞게 설정한다.   설정에는 2가지 모드가 있다. 1)         Differential 2)      Single-ended Differential은 핀을 2개를 사용한다. 첫번째 핀에서 나온 신호의 값에 두번째 핀에서

CUBEMX로 STM32F303 ADC를 설정해보자 Read More »

SAR과 SD(Sigma-Delta) ADC를 비교해보다.

Sigma Delta컨버터(녹색)와 SAR(빨강)의 비교 요즘 이런저런 일이 많아 블로그 관리가 소홀하다. 오늘은 매우 짧은 포스팅을 할  생각이다. 연구실에서는 주로 생체신호를 측정한다. 따라서 고주파는 필요없는 경우가 많다. 보통 ECG와 같이 심박을 측정할 때 사용하는 칩에서 Sigma Delta 컨버터를 탑재하는 경우가 많다. Sigma Delta 컨버터의 원리가 복잡해  설명하기 매우 난해하지만 오버 샘플링으로 양자화 잡음을 최대한 줄이고 노이즈

SAR과 SD(Sigma-Delta) ADC를 비교해보다. Read More »

STM32F103 SPI 통신 CUBEMX로 초기 설정하기

STM32F103 SPI 통신 목차 STM32F103 SPI 통신 CUBEMX로 초기 설정하기 (현재 포스팅) STM32F103 SPI 통신 코드 작성하기 인터넷을 뒤져봐도 국내 블로그에서는 SPI를 다룬 글이 잘 없다. 요즘 근 일주일 동안 SPI 통신 칩 데이터 시트를 뒤져보고 HAL 드라이버도 뺑이쳐보고 온갖 삽질을 다해봤는데, 그 중에서 성공했던 세팅만 이 포스팅에 요약하고자 한다. 언제나 그렇듯 CUBEMX를 실행시킨다. CUBEMX 설정

STM32F103 SPI 통신 CUBEMX로 초기 설정하기 Read More »

STM32F103 ADC 코드 작성하기 – 인터럽트편

STM32F103 ADC 편 (STM32F1) ADC Multi Channel CUBEMX로 초기설정하기  ADC Multi Channel 코드 작성하기 CUBEMX로 ADC DMA 초기설정하기 ADC DMA 코드 작성하기 코드 작성하기 – 인터럽트(현재 포스팅) UART ADC 데이터 송신하기 지난번 포스팅에 이어서 작성한다. 이전에 언급했듯이, DMA를 시작하는 함수를 실행하면, 인터럽트 기능도 사용할 수 있다. 오늘은 그 콜백함수를 사용할 것이다. HAL_ADC_Start_DMA 코드는 인터럽트가 가능하다.

STM32F103 ADC 코드 작성하기 – 인터럽트편 Read More »

STM32F103 ADC DMA 코드 작성하기

STM32F103 ADC 편 ADC Multi Channel CUBEMX로 초기설정하기  ADC Multi Channel 코드 작성하기 CUBEMX로 ADC DMA 초기설정하기 ADC DMA 코드 작성하기 (현재 포스팅) 코드 작성하기 – 인터럽트 UART ADC 데이터 송신하기 일주일 만의 포스팅이다. 이전 포스팅에서 생성한 코드에서 ADC코드를 사용하는 방법이다. 이 포스팅에서는 퍼포먼스보다는 사용자 편의성과 코드의 간결함을 우선시 한다. ADC는 DMA(직접 메모리 접근)를 이용해 구성한다.

STM32F103 ADC DMA 코드 작성하기 Read More »

STM32F103 ADC DMA CUBEMX 로 초기설정하기

STM32F103 ADC DMA CUBEMX 로 초기 설정 하는 포스팅입니다. STM32F103 ADC 편 ADC Multi Channel CUBEMX로 초기설정하기  ADC Multi Channel 코드 작성하기 CUBEMX로 ADC DMA 초기설정하기 (현재 포스팅) ADC DMA 코드 작성하기 코드 작성하기 – 인터럽트 UART ADC 데이터 송신하기 이번에는 ADC 초기 설정을 하고자 한다. CUBEMX 초기 모습이다. 사용할 보드를 선택한다. Pinout 왼쪽에 보면 ADC선택란이

STM32F103 ADC DMA CUBEMX 로 초기설정하기 Read More »

STM32F103 보드 설계 하기

STM32F103 보드 설계 연구실에서 떠야하는 PCB가 생김에따라 먼저 간단설계먼저 포스팅한다.    아래에 언급할 설계도에서는 부가회로없이, ST-LINK만 동작시킬 수 있도록만 설계했다. 만약에 외부 크리스탈을 사용하거나, RTC를 사용할 경우 데이터시트를 읽어보세요. 요청이 있으면 첨부해 드리겠습니다. STM32F103을 설계하려면 데이터시트에서 PINMAP을 찾아아하지만, CUBEMX를 사용하면 수고로움이 덜어진다. Nucleo64 중에서 F1시리즈를 사용하는 유일한 보드다. 칩은 F103RBT*를 사용한다. 위의 회로에서 기본적으로 사용할

STM32F103 보드 설계 하기 Read More »