dirty123 发表于 2025-3-1 15:15

【STM32L562E_DK开发板】--3.串口打印

本帖最后由 dirty123 于 2025-3-1 15:19 编辑

#申请原创#      
      本篇讲述串口打印功能。
一.原理与准备
1.开发板套件配有一个PMOD扩展板,上面有串口接线端子CN2.硬件接线如下。

2.由扩展板接到主板上,反向找出串口引脚PC10、PC11,查阅datasheet分别为UART3 TX、RX.如下图红框所示。

3.开发板上使用到了STG3692QTR两路复用开关,如上图绿框所示,对应MCU控制引脚如下。我们使用到串口,将这两引脚置高。


二.代码准备
1.串口配置

2.复用开关引脚配置

3.生成代码。在Keil下,切记要勾选MicroLIB如下,要不然输出打印不出来。

4.修改代码。这里在main.c修改,包含添加头文件,串口映射,两路复用开关置高,循环打印串口日志。源文件附在附件见文末。
#include "main.h"
#include "stdio.h"

/*
main函数
*/
int main(void)
{

/* USER CODE BEGIN 1 */

/* USER CODE END 1 */

/* MCU Configuration--------------------------------------------------------*/

/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();

/* USER CODE BEGIN Init */

/* USER CODE END Init */

/* Configure the system clock */
SystemClock_Config();

/* USER CODE BEGIN SysInit */

/* USER CODE END SysInit */

/* Initialize all configured peripherals */
MX_GPIO_Init();

MX_USART3_UART_Init();
MX_ICACHE_Init();

HAL_GPIO_WritePin(GPIOF, GPIO_PIN_11, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_12, GPIO_PIN_SET);
HAL_Delay(500U);
/* USER CODE BEGIN 2 */
printf("Are You OK !\r\n");
/* USER CODE END 2 */
   
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
    /* USER CODE END WHILE */
      printf("Welcome to use STM32L562E_DK Board !\r\n");
      HAL_Delay(2000U);

    /* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}


/*
串口重映射
*/
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}

三.测验
      编译烧录,设置打开串口助手,复位开发板,可以看到串口日打印如下。


      至此,实现串口日志打印功能,可以方便调试测验。





页: [1]
查看完整版本: 【STM32L562E_DK开发板】--3.串口打印