【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意法半导体公司
串口测试完毕,
源代码见附件
确认开发板PA2、PA3引脚与USB转TTL模块或ST-LINK虚拟串口正确连接。 感谢分享 学习了 居然还是中文! codingtuzi 发表于 2025-6-4 22:36
居然还是中文!
不限制中英文,这就是我的强大之处 使用printf函数进行串口调试是一种常见的做法 使用HAL库的HAL_UART_Transmit函数将字符发送到串口。 在 Keil 中必须开启 micro library,否则 printf 不会正常工作 int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
} 需要打开使用MicroLIB的选项,这样才能使printf函数正常工作 plsbackup 发表于 2025-7-18 12:54
需要打开使用MicroLIB的选项,这样才能使printf函数正常工作
是的 编写printf重定向 建议使用 DMA 或非阻塞方式发送 printf 效率较低,频繁使用会影响实时性 printf() 是 C 标准库中的函数
页:
[1]