ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • UART 통신 실습, 코드 작성법
    Note/임베디드 노트 2020. 11. 25. 22:18

    구동 함수 사용방법

    1. 클럭을 활성화한다.

    - _HAL_RCC_USARTx_CLK_ENABLE() 함수를 이용해서 사용할 USARTx의 클럭을 활성화 시킨다.
    - _HAL_RCC_GPIOx_CLK_ENABLE() 함수를 이요하여 USART 핀으로 사용할 GPIO의 클럭을 활성화시킨다.

    2. UART로 사용할 GPIO 핀을 대체 기능(Alternate function) 모드로 설정하고 UART 핀으로 사용하도록 설정한 다음 HAL_GPIO_init() 함수를 이용해서 초기화한다.

    3. UART_HandlerTypeDef 구조체 변수를 이요하여 UART를 설정하고 HAL_UART_Init() 함수를이요하여 동작조건을 설정한다.

    4. 통신 모드에 따라 다음의 함수를 이용하여 데이터를 송수신한다.

    * Blocking모드
    - HAL_UART_Transmint(), HAL_UART_Receive()
    * Non Blocking 모드(인터럽트 사용 모드)
    - HAL_UART_Transmit_IT(), HAL_UART_Receive_IT()
    - HAL_UART_IRQHandler()
    * DMA 모드
    - HAL_UART_Transmit_DAM(), HAL_UART_Receive_DMA()

    5. UART에서 인터럽트를 발생시키는 경우는 다음과 같이 처리한다.

    * HAL_NVIC_SetPRiority() 함수를 이요해서 해당 인터러브의 우선 순ㄴ위를 설정하고 HAL_NVIC_SetPrirority()함수를 사용하여 인터럽트를 활성화시킴

    * 해당 인터럽트의 ISR(Interrupt Service Routine)을 작성한다.
    0 ISR의 예 : USART2_IRQHandler()

    * 인터럽트의 발생시에 처리해야 할 내용을 해당 인터럽트의 콜백함수에 작성한다.
    - 콜백 함수의 예 : HAL_UART_RxCpltCallback(), HAL_UART_TxCpltCallback()

    'Note > 임베디드 노트' 카테고리의 다른 글

    SPI 통신  (0) 2020.11.26
    ARM 프로세서 개요  (0) 2020.11.25
    USART 통신(UART와의 차이)  (0) 2020.11.25
    UART 통신 이론  (0) 2020.11.25
    공부할 목차  (0) 2020.11.25
Designed by Tistory.