[原创] 重定向printf
1049 查看
4 回复
 楼主 | 发布于 2018-01-19 | 只看楼主
分享到:
学习stm32,打交道最多的莫过于串口通讯了,但是官方的串口发送库太恶心了,完全不好用甚是还念C语言的printf,想输出什么就有什么,
现在,一步步来做个重定向,让你的stm32可以跟C语言一样能想看什么就看什么:

首先:

添加printf的头文件 :
  #include <stdio.h>    //当时学C语言最熟悉的stdio.h


其次:


改写int fputc(int ch, FILE *f)函数


int fputc(int ch, FILE *f);

int fputc(int ch, FILE *f)
{

USART_SendData(USARTx, (uint8_t) ch);

while (USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET);

return ch;
}

最后:

在keil 平台上改下设置:

Use MicroLIB  ->Target -> Code Generation -> 选中Use MicroLIB

当然,前提是你初始化了USARTx


在IAR中一样的:

只不过最后一个设置改一下Projec t- >Options -> General Options -> Library Configuration中的Library 项由"Normal"改为"Full"


(0 ) (0 )

嵌入式学习

回复 举报

回复于 2018-01-19 沙发

感谢分享;

主要就2种方法;

(0 )
评论 (0) 举报

回复于 2018-01-19 2#

多谢分享!!
(0 )
评论 (0) 举报

回复于 2018-01-19 3#

谢谢分享
(0 )
评论 (0) 举报

楼主 | 回复于 2018-01-31 4#

(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部