Home » STM » Page 3

STM

STM32F0 EXTI CUBEMX로 설정하고 TrueSTUDIO로 코드 작성하기

STM32F0 EXTI 예제 포스팅입니다. EXTI는 확장 인터럽트 같은 개념인데 주로 GPIO로 인터럽트를 걸고 싶을 때 사용하는 듯한다. 메뉴얼에서도 HAL 드라이버에서 딱히 별도의 라이브러리를 제공하고 있진 않다고 적혀있다. 그냥 뭐..사용하고 싶은 핀에 인터럽트를 걸고 싶으면 쓰는 듯하다.   글을 읽기전에 CUBEMX를 모른다면 이 포스팅을 참고하길 바란다. 이번에는 별다른 설정을 만지지 않고 바로 Configure 탭으로 가서 GPIO […]

STM32F0 EXTI CUBEMX로 설정하고 TrueSTUDIO로 코드 작성하기 Read More »

STM32F0 TIM (타이머) 인터럽트 코드 작성하기

STM32F0 TIM 설정하고 코드를 작성하는 예제입니다. STM32F091 TIM 목차 STM32F0XX TIM(타이머) 인터럽트 CUBEMX로 초기설정하기 STM32F0XX TIM(타이머) 인터럽트 코드 작성하기 (현재 포스팅)   HAL_TIM_Base_Start_IT() 타이머에서 인터럽트를 동작시키려면 위 함수를 시작해야한다. 입력인자로 동작시킬 타이머를 입력해준다.   while문 안에 코드 한줄 추가하고, 타이머를 적어준다.   HAL_TIM_PeriodElapsedCallback() 인터럽트는 while문에서 동작하는 것이 아니므로, 별도의 콜백함수를 사용해야한다. while문 안에 코드가 동작하고 있다가,

STM32F0 TIM (타이머) 인터럽트 코드 작성하기 Read More »

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

STM32F0 TIM 인터럽트 기초 코드를 생성하는 예제입니다. STM32F091 TIM 목차 STM32F0XX TIM(타이머) 인터럽트 CUBEMX로 초기설정하기 (현재 포스팅) STM32F0XX TIM(타이머) 인터럽트 코드 작성하기   타이머 인터럽트는 규칙적으로 어떠한 데이터를 보내고 싶을 때 사용하는 기능이다. while문 안의 내용과는 관련 없이 규칙적으로 데이터를 보내야하므로 인터럽트 기능을 사용한다.   CUBEMX부터 시작한다. 보드 검색하고 더블클릭한다. 보드의 기초 설정을 사용할 것이므로 yes누른다.

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

STM32F0 UART Receive 코드로 구현하기

STM32F0 UART Receive –  UART 수신부를 구현하는 예제입니다. STM32F091RC USART 목차 STM32F0XX UART CUBEMX로 설정하기 STM32F0XX UART Transmit 코드로 구현하기 STM32F0XX UART Receive 코드로 구현하기 (현재 포스팅) UART ADC 데이터 송신하기 Receive 코드는 두줄이면 해결되지만, 데이터를 실제로 수신하는지 확인해야하므로 Transmit과 혼용해서 사용해볼까 한다. HAL_UART_Receive() 수신 함수도 송신 함수와 다를 것 없어보인다. 입력인자는 같은데, 사용하는 방법이 다르다고 볼

STM32F0 UART Receive 코드로 구현하기 Read More »

STM32F0 UART Transmit 코드로 구현하기

STM32F0 UART Transmit – 시리얼 통신 송신부를 구현하는 예제입니다. STM32F091RC USART 목차 STM32F0XX UART CUBEMX로 설정하기 STM32F0XX UART Transmit 코드로 구현하기 (현재 포스팅) STM32F0XX UART Receive 코드로 구현하기 UART ADC 데이터 송신하기 오늘은 간단하게 데이터를 보내는 코드를 작성해보고자 한다. HAL_UART_Transmit() huart : uart의 핸들러를 넘겨준다. 초기설정에서 uart2를 사용하므로 huart2를 사용하면된다. TrueSTUDIO를 사용하는 사람이라면 이클립스 기반

STM32F0 UART Transmit 코드로 구현하기 Read More »

STM32F0 UART CUBEMX 로 기초 설정하기

STM32F0 UART CUBEMX 로 기초 설정하는 예제입니다. STM32F091RC USART 목차 STM32F0XX UART CUBEMX로 설정하기 (현재 포스팅) STM32F0XX UART Transmit 코드로 구현하기 STM32F0XX UART Receive 코드로 구현하기 UART ADC 데이터 송신하기 들어가기 앞서 UART는 어따 써먹는 놈인가? 시리얼 통신할 때 사용하는 놈이다. 보통 칩에서 pc로 데이터를 보내거나, 역으로 수신할 때 사용하는데, 이 프로토콜을 지원하는 곳이 많아 두루두루 쓰인다.

STM32F0 UART CUBEMX 로 기초 설정하기 Read More »

STM32F0 PWM Duty 조절하기

STM32F0 PWM Duty 를 조절하는 예제를 포스팅했습니다. STM32F091RC PWM목차 STM32F0XX CUBEMX로 PWM클럭 설정하기 STM32F0XX PWM 코드 작성하기 STM32F0XX PWM 설정 부록 설명 STM32F0XX PWM Duty 조절하기 (현재 포스트) Duty를 조절하는 방법이 아두이노와 달라서 좀 애를 많이 먹었다. 그렇다고 ATmega 사용할 때 처럼 포스팅이 쉽게 되어있는 것도 아닌것 같았다. 제조사에서 메뉴얼 많이 뿌려주니 그거 읽어보고 구현해야겠다고 생각했다.

STM32F0 PWM Duty 조절하기 Read More »

STM32F0 PWM 설정 부록 설명

STM32F091RC PWM목차 STM32F0XX CUBEMX로 PWM클럭 설정하기 STM32F0XX PWM 코드 작성하기 STM32F0XX PWM 설정 부록 설명 (현재 포스트) STM32F0XX PWM Duty 조절하기 설정 포스팅 보신 분들은 아마 설정만 보아서는 바로 이해가 안가시는 분들도 계시리라 생각합니다. Prescaler : 분주기니 뭐니 이야기를 하는데, 그냥 간단히 클럭을 나누는것이다. 이를테면 48Mhz는  이므로 매우 주파수가 높다.  육안으로 PWM제어하는 것을 보고 싶다면 속도를 느리게

STM32F0 PWM 설정 부록 설명 Read More »

STM32F0 PWM 코드 작성하기

STM32F0 PWM 코드를 작성하는 예제입니다. STM32F091RC PWM목차 STM32F0XX CUBEMX로 PWM클럭 설정하기 STM32F0XX PWM 코드 작성하기 (현재 포스트) STM32F0XX PWM 설정 부록 설명 STM32F0XX PWM Duty 조절하기 본 포스팅은 PWM 클럭을 생성하는 것을 목적으로 합니다. 아두이노처럼 밝기를 실시간으로 설정하고 제어하는 것은 본 포스팅과 무관합니다.   이전 포스팅에서 코드를 생성하면 위와 같이 초기 코드가 나올 것이다.   PWM

STM32F0 PWM 코드 작성하기 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 »