태그: TrueSTUDIO

TrueSTUDIO로 CMSIS-DSP 사용해보기 – 기초 설정 편

TrueSTUDIO로 CMSIS-DSP 사용해보기 – 기초 설정 편

이제 졸업논문 작성도 얼추 끝났겠다. 한번 달려보려고 한다. ARM Cortex 아키텍쳐를 사용하면 CMSIS-DSP 라이브러리를 사용할 수 있다. CMSIS에서는 디버거 자작 등 여러가지 자료를 사용할 수 있다. 하지만 단점이 하나 있는데, KEIL에서만 트러블 없이 사용할 수 있다는거다. 정작 코드를 올릴라카면 코드용량 넘었어요 빼애애애애애애액 거려서 돈을 요구한다는게 존나게 빡이치지만, 어쩔 수 있나. 나는 돈이 없다 이마리야. CMSIS-DSP…

STM32F4 LL I2C 레지스터 및 코드 작성하기

STM32F4 LL I2C 레지스터 및 코드 작성하기

STM32F4 LL I2C 설정 및 코드 작성 프로젝트입니다. STM32F4 LL I2C 설정 및 ADXL345 레지스터 살펴보기 STM32F4 LL I2C 레지스터 및 코드 작성하기 STM32F4 LL I2C INTRO LL드라이버를 작성해보는 사람이라면 모두 알겠지만, 레퍼런스 메뉴얼을 참고하지 않고서는 코드를 작성할 수 없다. 더군다나 아트메가로 먼저 i2c를 제어해봤지만, 이건 그것보다 더 복잡하다고 해야하나, 골때리는 것들이 있다. 레퍼런스 메뉴얼…

STM32F4 ADC LL 드라이버 코드 작성하기

STM32F4 ADC LL 드라이버 코드 작성하기

STM32F4 ADC LL 드라이버 설정 및 초기설정 포스팅 STM32F4 ADC LL 드라이버 초기설정하기 STM32F4 ADC LL 드라이버 코드 작성하기 자, 이제 코드를 작성해보자. 아니지. 코드를 작성하기 전에 레지스터부터 확인을 해봐야한다. 왜냐하면 LL 드라이버는 직접 레지스터를 제어하기 때문에 내부 구조를 파악해야하기 때문이다. 레퍼런스 메뉴얼 분석 레퍼런스 메뉴얼에는 위처럼 서술해 놨다. 레귤러 채널로 ADC를 사용한다면 먼저 ADC_CR2레지스터에…

STM32F103 UART ADC 데이터 송신하기

STM32F103 UART ADC 데이터 송신하기

STM32F103 UART ADC 데이터 송신하기 예제 아마도 이전 글까지 읽으신 분들은 의문이 있으리라. UART로 데이터를 송신하는 것은 고정된(Static) 데이터이다보니까, 사용자가 알 수 없는 아날로그 데이터는 어떻게 송신할 것인지 궁금했을 것이다. 결국 이 의문을 해결하기 위해서는 어떠한 코드나, 설정을 추가해야한다는 결론에 이른다. 코드를 추가하는 것은 같겠지만, 사용하는 컴파일러에 따라 별도 설정이 필요한 경우가 있다. ADC를 사용하는…

STM32F103 ADC Multi Channel 코드 작성하기

STM32F103 ADC Multi Channel 코드 작성하기

STM32F103 ADC Multi Channel 코드를 작성하는 예제입니다. ADC Multi Channel CUBEMX로 초기설정하기 ADC Multi Channel 코드 작성하기 (현재 포스팅) CUBEMX로 ADC DMA 초기설정하기 ADC DMA 코드 작성하기 코드 작성하기 – 인터럽트 UART ADC 데이터 송신하기 코드를 생성했으니 본격적으로 코드를 작성해보자. ADC Polling 방식으로 코드를 작성하려면 아래처럼 작성하라고 레퍼런스 메뉴얼에 적혀있다. ADC를 사용하려면 HAL_ADC_Start HAL_ADC_PollForConversion HAL_ADC_GetValue…

Read More Read More

STM32F0 UART LL 송신 코드 작성하기

STM32F0 UART LL 송신 코드 작성하기

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

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

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

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

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

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

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

STM32F0 UART Receive 코드로 구현하기

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 Transmit 코드로 구현하기

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를 사용하는 사람이라면 이클립스 기반…

STM32F103 SPI 통신 코드 작성하기

STM32F103 SPI 통신 코드 작성하기

STM32F103 SPI 통신 목차 STM32F103 SPI 통신 CUBEMX로 초기 설정하기 STM32F103 SPI 통신 코드 작성하기 (현재 포스팅)   SPI 통신의 기본 원리는 데이터를 쓴 만큼 데이터를 받는다. 이 말은 즉 데이터를 받고 싶으면 그 만큼 더미데이터를 보내야 한다는 뜻이다. 이번 포스팅은 SPI를 사용하는 ADC 칩과 통신하고자 한다.   처음 SPI를 시작할 때 ADC 칩을 초기화 해야한다.…