独闷闷网

 找回密码
 立即注册
搜索
查看: 3350|回复: 0
打印 上一主题 下一主题
收起左侧

[分享] 如何在stm32单片机上使用printf函数

[复制链接]
跳转到指定楼层
楼主
发表于 2014-1-31 12:37:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在KEIL下使用printf函数,以STM32为例
    在uart.c中添加如下代码
//加入以下代码,支持printf函数,而不需要选择use MicroLIB          
#if 1
#pragma import(__use_no_semihosting)
            
//标准库需要的支持函数                 
struct __FILE
{
        int handle;


};


FILE __stdout;   
   
//定义_sys_exit()以避免使用半主机模式   
_sys_exit(int x)
{
        x = x;
}
int fputc(int ch, FILE *f)
{
    /* Place your implementation of fputc here */
    /* e.g. write a character to the USART */
       
            while (!(USART3->SR & USART_FLAG_TXE));
    USART_SendData(USART3, (uint8_t) ch);




    return ch;
}
#endif
    这样,只要在需要用printf的文件里#include <stdio.h>就可以了,printf会自已的调用fputc函数来实现串口数据的输出
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-5-1 11:42 , Processed in 0.153236 second(s), 18 queries .

快速回复 返回顶部 返回列表