OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2962|回复: 5

STM32中printf重定向到串口

[复制链接]

132

主题

340

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1036
金钱
1036
注册时间
2017-10-30
在线时间
163 小时
发表于 2018-3-2 14:37:08 | 显示全部楼层 |阅读模式

        学习STM32过程中,经常打交道的莫过于串口,你可以将任何信息,当然重要的是调试信息打印到串口中输出,总是用一个字节发送函数或者字符串发送函数


总是有些不放便,之前编程中熟悉的莫过于printf了,下面就给出了用printf打印到串口的方案,当然方案不止一个,仅供参考。


1、 添加printf的头文件   #include <stdio.h>


2、重写int fputc(int ch, FILE *f)函数


int fputc(int ch, FILE *f);

函数

int fputc(int ch, FILE *f)
{

USART_SendData(USART1, (uint8_t) ch);

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

return ch;
}

3、修改一下选中Use MicroLIB   Target——Code Generation——选中Use MicroLIB


这样就可以像以前那样使用printf了。

嵌入式全新视频:www.makeru.com.cn/?t=12


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

162

帖子

0

精华

高级会员

Rank: 4

积分
541
金钱
541
注册时间
2017-4-6
在线时间
67 小时
发表于 2018-3-2 15:37:03 | 显示全部楼层
回复 支持 反对

使用道具 举报

9

主题

86

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2017-6-16
在线时间
46 小时
发表于 2018-3-3 14:14:47 | 显示全部楼层
#if 1
#pragma import(__use_no_semihosting)            
//标准库需要的支持函数                 
struct __FILE
{
        int handle;
};

FILE __stdout;      
//定义_sys_exit()以避免使用半主机模式   
_sys_exit(int x)
{
        x = x;
}
//重定义fputc函数
int fputc(int ch, FILE *f)
{      
        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);
    USART_SendData(USART1,(u8)ch);   
        return ch;
}
#endif




我用的是这样的
回复 支持 反对

使用道具 举报

6

主题

93

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2018-1-27
在线时间
4 小时
发表于 2018-3-4 12:27:54 | 显示全部楼层


顶一个,想学习MM32的call群 676021505
回复 支持 反对

使用道具 举报

132

主题

340

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1036
金钱
1036
注册时间
2017-10-30
在线时间
163 小时
 楼主| 发表于 2018-3-5 11:24:41 | 显示全部楼层
灵动微MM32 发表于 2018-3-4 12:27
顶一个,想学习MM32的call群 676021505

嵌入式学习交流群:561213221
回复 支持 反对

使用道具 举报

55

主题

151

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2018-3-12
在线时间
53 小时
发表于 2018-10-9 14:57:04 | 显示全部楼层
为什么我直接包含头文件#inlcude "stdio.h",报错,显示error:invalid peprocessing directive
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 15:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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