반응형
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 |