[APM32F4] 【极海APM32F402 Micro-EVB开发板】--串口打印

[复制链接]
 楼主| dirty123 发表于 2025-7-26 18:16 | 显示全部楼层 |阅读模式
      串口日志打印在我们调试开发中经常用到,本篇讲述开发板实现串口打印功能 。
一.硬件准备
      查阅芯片手册可开发板原理图,这里使用USART1, TX --PA9, RX --PA10
1_串口引脚.png
      开发板扩展引脚GND、PA10、PA9接好USB转串口线如下
2_开发板串口接线.jpg
二.代码准备
      官方SDK下Board_APM32F402_Tiny\USART\USART_Printf为基础,做如下修改。
1.main函数修改如下。加入欢迎语及LED灯切换后状态printf打印。
  1. int main(void)
  2. {
  3.     //uint8_t i;
  4.     USART_Config_T USART_ConfigStruct;

  5.     //BOARD_LED_Config(LED2);
  6.     BOARD_LED_Config(LED3);

  7.     USART_ConfigStruct.baudRate = 115200;
  8.     USART_ConfigStruct.hardwareFlow = USART_HARDWARE_FLOW_NONE;
  9.     USART_ConfigStruct.mode = USART_MODE_TX;
  10.     USART_ConfigStruct.parity = USART_PARITY_NONE;
  11.     USART_ConfigStruct.stopBits = USART_STOP_BIT_1;
  12.     USART_ConfigStruct.wordLength = USART_WORD_LEN_8B;
  13.     BOARD_COM_Config(COM1, &USART_ConfigStruct);

  14.     SystemCoreClockUpdate();
  15.     SysTick_Config(SystemCoreClock / 1000);
  16.                 printf("Welcome to Greehy APM32F402 Micro-EVB\r\n");
  17.     while (1)
  18.     {
  19.         Delay();
  20. //        for(i = 0; i < sizeof(txBuf); i++)
  21. //        {
  22. //            while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
  23. //            USART_TxData(USART1, txBuf[i]);
  24. //        }
  25.         BOARD_LED_Toggle(LED3);
  26.                                 if(GPIO_ReadOutputBit(LED3_GPIO_PORT,LED3_PIN))
  27.                                 {
  28.                                          printf("LED3 is OFF\r\n");
  29.                                 }
  30.                                 else
  31.                                 {
  32.                                          printf("LED3 is ON\r\n");
  33.                                 }
  34.     }
  35. }

2.重定向映射函数
  1. int fputc(int c,FILE *f)
  2. {
  3.         
  4.         while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
  5.         USART_TxData(USART1,(uint8_t)c);
  6.         return c;
  7. }
3.打开微库
3_大开微库.png
三.测验
      编译后烧录,可以看到LED3闪烁,且串口打印日志如下
4_串口打印.png



USART_Printf.zip

2.63 MB, 下载次数: 1

串口打印

您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

135

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部