STM32F0

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

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

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

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

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

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

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

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

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

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 코드로 구현하기 더 보기 »

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 코드로 구현하기 더 보기 »

STM32F0 UART CUBEMX 로 기초 설정하기

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

STM32F0 UART CUBEMX 로 기초 설정하기 더 보기 »

STM32F0 PWM Duty 조절하기

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

STM32F0 PWM Duty 조절하기 더 보기 »

STM32F0 PWM 설정 부록 설명

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

STM32F0 PWM 설정 부록 설명 더 보기 »

STM32F0 PWM 코드 작성하기

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

STM32F0 PWM 코드 작성하기 더 보기 »

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로 하기 더 보기 »

STM32F0 LL 드라이버를 사용해서 LED 제어하기

STM32F0 LL GPIO 제어   오늘은 HAL 드라이버가 아니라 LL 드라이버를 사용해서 LED를 제어하고자 한다.   LL 드라이버는 Low Layer의 약자로 HAL드라이버보다 세세하게 설정이 가능하고, 가볍고 빠르다는 장점이 있다. 하지만 하드웨어 구조에 대한 이해 역시 요구되고, 시리즈별로 호환성, 이식성이 떨어진다는 단점도 존재한다.   원래대로라면 F1시리즈를 이용해서 구성하고자 했으나, CUBEMX에서 지원이 되지 않는다. 그래서 지원이되는 F0시리즈를 …

STM32F0 LL 드라이버를 사용해서 LED 제어하기 더 보기 »

STM32F0 CUBEMX LED 가지고 놀기

STM32F0 CUBEMX LED 예제입니다.   오늘은 F091RC 칩을 사용한 보드를 사용할거다. 파란 버튼을 누르면 LED가 나오게 할거다.   이놈이다.   이전 포스팅처럼 CUBEMX를 실행한다. 사용 보드를 선택 후 더블클릭 한다.   초기화면이다. LD2는 초록 빛을 내는 LED이고, B1은 파란색 버튼이다.   GPIO 버튼을 클릭한다.   나중에 인터럽트를 사용하면 Rising edge로 사용할 생각이다. 근데 아마 인터럽트를 …

STM32F0 CUBEMX LED 가지고 놀기 더 보기 »