打印
[STM32L5]

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

[复制链接]
516|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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;
}


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


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

main.zip (2.41 KB)



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

117

帖子

1

粉丝