티스토리 뷰

mcu/stm32

STM32F103RB UART 수신코드 테스트

NationCore 2018. 7. 20. 09:43

STM32 STM32CubeMX로 먼저 설정 했다고 가정해서 만든 코드 테스트입니다.


인터럽트 방식인데


먼저 Rxbuffer에 값을 읽어서 넣은 뒤, 그 값을 printf을 이용해 터미널에 표시해주는 방식입니다.



#include "main.h"

#include "stm32f1xx_hal.h"


UART_HandleTypeDef huart1; // UART핸들 타입 구조체 선언 


void SystemClock_Config(void);

static void MX_GPIO_Init(void);

static void MX_USART1_UART_Init(void);


uint8_t Rxbuffer1[10] = ""; // 버퍼 사이즈 10을 기준으로 데이터를 받아드리는 메모리 영역


int main(void)

{

  HAL_Init();

  SystemClock_Config();

  MX_GPIO_Init();

  MX_USART1_UART_Init();

  while (1)

  {

    HAL_UART_Receive_IT(&huart1, (uint8_t*)Rxbuffer1 ,9); // UART 1에서 데이터 9개를 Rxbuffer에 저장하게 됨

    for(int i=0; i<9;i++)

    {

      if(i==0){printf("U1: ");}

      printf("%c",Rxbuffer1[i]);

      if(i==8){printf("\n");}

      HAL_Delay(10);  // 약간의 딜레이를 줌

    }

    HAL_Delay(100);

    HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5); // 데이터 수신마다 불 점등 반복

  }

}



'mcu > stm32' 카테고리의 다른 글

STM32F103C8 - 레지스터를 이용한 LED 점등  (0) 2018.03.01
STM32F103C8 보드 테스트 해보다  (0) 2018.03.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함