본문 바로가기

STM32/touchGFX_STM32

[STM32F746] USART6 송신 test

728x90

* 목표 : USART6을 이용하여 "hello world" 송신

 

USART6은 stm32f746-disco 보드에서 사용자가 핀을 사용할 수 있는 유일한 방법이다.

 

datasheet를 참고하면

 

TX / D1 (PC6) = USART6_TX

RX / D0 (PC7) = USART6_RX

 

1. 보드 설정

- USART6 활성화

 

- FREERTOS task 생성

 touchGFX와 함께 사용하기 때문에 uart 통신을 하는 task하나를 따로 하나 더 만들어서 사용하였다.

 

 

2. 코드 작성

 printf를 사용하기 위해서는 추가해야할 2가지 코드가 있다.

1) 

#include <stdio.h>

 

2)

/* USER CODE BEGIN 0 */
#ifdef __GNUC__
  /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
     set to 'Yes') calls __io_putchar() */
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
/**
  * @brief  Retargets the C library printf function to the USART.
  * @param  None
  * @retval None
  */
PUTCHAR_PROTOTYPE
{
  /* Place your implementation of fputc here */
  /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */
if(ch == '\n')
{
HAL_UART_Transmit(&huart6, (uint8_t *) "\r", 1, 0xFFFF);
}
HAL_UART_Transmit(&huart6, (uint8_t *) &ch, 1, 0xFFFF);

return ch;
}

/* USER CODE END 0 */

 

=> 빨간 부분은 사용하는 USART 번호에 맞게 수정하면 됨

 

 

728x90

'STM32 > touchGFX_STM32' 카테고리의 다른 글

[KEIL][TIP!] keil IDE 한글 깨짐 해결법  (0) 2020.09.11
[STM32F746] RS-232  (0) 2020.09.08
[touchGFX] Multi-Language  (0) 2020.09.03
[stm32F746] PWM  (0) 2020.09.01
[stm32F746] printf 사용 시 추가해야할 코드  (0) 2020.09.01