【STM32F767】一、串口3的初始化及使用

1.CUBEMx配置串口的IO口

选择USART3并配置为Asynchronous 

【STM32F767】一、串口3的初始化及使用_第1张图片
配置IO口

设置时钟为216MHz

【STM32F767】一、串口3的初始化及使用_第2张图片
配置时钟

串口设置为8位数据,1位停止位


【STM32F767】一、串口3的初始化及使用_第3张图片
串口设置

2.生成代码,并添加串口重定向程序,以便使用printf


【STM32F767】一、串口3的初始化及使用_第4张图片
串口重定向

3.实验成功


【STM32F767】一、串口3的初始化及使用_第5张图片
实验

串口重定向代码如下

/*-----------------串口重定向 使用printf输出---------------*/

#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 */

  HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);

  return ch;

}

/*-----------------------------------------------------------*/

你可能感兴趣的:(【STM32F767】一、串口3的初始化及使用)