龙鳞铁碎牙 发表于 2025-5-19 18:45

【STM32C092RC 测评】板载串口调试printf输出

本帖最后由 龙鳞铁碎牙 于 2025-5-20 06:25 编辑

拿到一款新的开发板,首先要做的就是打印出串口功能,下面来介绍步骤

1.打开原理图

可以知道,串口为PA2和PA3,为USART2



和STLINK连接在一起

2,打开cubemx
选择芯片型号STM32C092RCT6
3.使能USART2
PA2,PA3

4.生成代码


5.打开KEIL
/* USER CODE BEGIN 4 */
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}

重定义串口打印输出
添加头文件
#include <stdio.h>


6. 在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_USART2_UART_Init();
/* USER CODE BEGIN 2 */

/* USER CODE END 2 */

/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
                printf("欢迎来到STM32C092意法半导体公司\r\n");
}
/* USER CODE END 3 */
}


可以看到串口输出
欢迎来到STM32C092意法半导体公司

串口测试完毕,
源代码见附件



4y1b3 发表于 2025-5-31 23:52

确认开发板PA2、PA3引脚与USB转TTL模块或ST-LINK虚拟串口正确连接。

小迷糊仙 发表于 2025-6-4 12:31

感谢分享 学习了

codingtuzi 发表于 2025-6-4 22:36

居然还是中文!

龙鳞铁碎牙 发表于 2025-6-5 06:36

codingtuzi 发表于 2025-6-4 22:36
居然还是中文!

不限制中英文,这就是我的强大之处

juliestephen 发表于 2025-7-4 17:35

使用printf函数进行串口调试是一种常见的做法

saservice 发表于 2025-7-4 22:19

使用HAL库的HAL_UART_Transmit函数将字符发送到串口。

ingramward 发表于 2025-7-10 12:03

在 Keil 中必须开启 micro library,否则 printf 不会正常工作

jimmhu 发表于 2025-7-10 15:45

int fputc(int ch, FILE *f)
{
    HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);
    return ch;
}

plsbackup 发表于 2025-7-18 12:54

需要打开使用MicroLIB的选项,这样才能使printf函数正常工作

龙鳞铁碎牙 发表于 2025-7-18 19:31

plsbackup 发表于 2025-7-18 12:54
需要打开使用MicroLIB的选项,这样才能使printf函数正常工作

是的

vivilyly 发表于 2025-7-18 21:10

编写printf重定向            

sdCAD 发表于 2025-7-18 22:47

建议使用 DMA 或非阻塞方式发送

ccook11 发表于 2025-7-19 13:08

printf 效率较低,频繁使用会影响实时性

houjiakai 发表于 2025-7-19 17:09

printf() 是 C 标准库中的函数
页: [1]
查看完整版本: 【STM32C092RC 测评】板载串口调试printf输出