반응형

 

 

 

STM32 HAL_UART_Transmit

 

자꾸 이것의 사용법을 잊어버려 기록한다.

 

UART_HandleTypeDef huart2;

// Direct write
HAL_UART_Transmit(&huart2, "a", 1, 10);

// Variable write
uint8_t rx_data = 'a';
HAL_UART_Transmit(&huart2, &rx_data, 1, 10);

// String write
uint8_t *tx_data = "Init.";
HAL_UART_Transmit(&huart2, tx_data, sizeof(tx_data), 10);

 

참고로 printf의 사용법.

 

#ifdef __cplusplus
extern "C" int _write(int32_t file, uint8_t *ptr, int32_t len) {
#else
int _write(int32_t file, uint8_t *ptr, int32_t len) {
#endif
    if( HAL_UART_Transmit(&huart2, ptr, len, len) == HAL_OK ) return len;
    else return 0;
}

 

위 코드를 사용하고자 하는 부분의 위에 정의해 놓고 사용하면 된다.

 

printf("NUCLEO-L476RG Init. Ver.%d-%d\r\n", 1112, 2);

 

그러면 위와 같이 사용할 수 있다.

 

위의 예는 모두 UART2 번을 사용하는 것으로 예를 들었다.

다른 포트의 경우 huart2 를 다른 번호로 변경하면 된다.

 

 

 

728x90
반응형

'공부 > STM32' 카테고리의 다른 글

211116 STM32 Project example  (0) 2021.11.16
211101 NUCLEO-F401RE Run configuration  (0) 2021.11.02
211101 NUCLEO-F401RE GPIO  (0) 2021.11.01

+ Recent posts