stm32之printf函数

本文详细介绍了在STM32嵌入式系统中如何利用printf函数将数据输出到UART,通过重定义fputc函数实现灵活的数据流向控制,帮助底层开发者理解数据传输路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.函数

printf,这个函数,学过c语言的同学都知道,这个函数会帮我们将数据输出到终端上面。

在stm32里面,我们没有屏幕终端,那这个函数是输出到哪里?有同学说到串口,其实这是可以的,不管输出到哪里,主要看我们怎么实现int fputc(int ch, FILE *f);这个函数,printf最后还是这个函数,在这个函数里面我们可以设置我们的输出的地方,比如uart通信的输出寄存器,显示屏的显示寄存器,或者是蓝牙,wifi的都可以。下面给的是uart协议的输出。

//重定义fputc函数 
int fputc(int ch, FILE *f)
{      
	while((USART1->SR&0X40)==0);//循环发送,直到发送完毕   
    USART1->DR = (u8) ch;      
	return ch;
}

所以,这个函数具体是什么怎么用,我们都知道了,这样我们就很清楚数据的流向了,搞底层的需要清楚一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值