본문 바로가기

Develop Knowledge/STM32F4 by ChrisP

2-3강. UART Rx Interrupt

본 단행본은 inflearn에 있는 ChrisP 강사님의 "HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌"를 정리한 글입니다.

 

강좌 바로 보기 >> https://www.inflearn.com/course/stm32f4/dashboard

 

[무료] HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌 - 인프런 | 강의

고성능 마이크로컨트롤러인 STM32F 시리즈를 처음 접하는 분들이 쉽게 시작할 수 있도록 무료 컴파일러 TrueSTUDIO 및 코드자동생성 프로그램 CubeMX 설치부터 칩 기능의 개념설명, 소스코드작성(HAL

www.inflearn.com

 

- 회로도

생략

 

- CubeMX 설정

1. Pinout &Configuration

UART3 -> NVIC Settings -> global interrupt 활성화

 

 

- 코드 생성

uint8_t rx3_data[10];

int main()
{
    // rx3_data에 10바이트 데이터가 들어오면, "인터럽트를 활성화 시킨다."
    HAL_UART_Receive_IT(&huart3, &rx3_data, 10);
}

// 인터럽트 콜백 함수.
// 인터럽트가 활성화 되면 이 함수 안의 내용이 실행된다.
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    // 만약 받아진 인터럽트가 USART3이라면
    if(huart->Instance == USART3)
    {
    	//터미널에서 10바이트 데이터를 USART3으로 들여오고
    	HAL_UART_Receive_IT(&huart3, &rx3_data, 10);
        //터미널로 10바이트 데이터를 USART3으로 내보낸다.
    	HAL_UART_Transmit(&huart3, &rx3_data, 10, 100);
    }
}