栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

STM32单片机IAR环境下重定向printf函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

STM32单片机IAR环境下重定向printf函数

STM32单片机IAR环境下重定向printf函数 一、引言

在项目开发中,使用printf函数通过串口打印调试信息,需要对printf函数进行改写,重定向到使用的串口号,该例中使用的单片机是STM32F103C8T6,工程文件使用STM32CubeMX生成,开发环境是IAR,使用了HAL库。

关键词:STM32,IAR,printf重定向

二、工程配置 1. 使能Usart

在STM32CubeMx中使能需要的串口,本例使用Usart3,配置如下图:

2.修改库文件配置

在IAR中,选择菜单Project -> Options -> General Options -> Library Configuration的Library为Full,如下图

3.代码

在程序中添加以下代码

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

当然以上代码需要使用含有HAL_UART_Transmit()函数的头文件,可以搜索以下,该函数在stm32f1xx_hal_uart.h中,
还要使用HAL库的串口初始化函数:

MX_USART3_UART_Init();

在调用printf的函数的文件中,包含stdio.h头文件即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/290541.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号