printf串口重定向标准方法

一,简介

在程序调试的过程中,需要用到串口打印信息来判断单片机程序运行是否正确。需要使用串口对printf进行重定向,本文就介绍一下ARM官方推荐的一种重定向的方法,供参考使用。

二,具体步骤

主要分为两步:
1,将retarget文件复制到工程;
2,重新实现sendchar和getkey函数;

2.1 将retarget.c添加到project

在keil的安装目录(xx/ARM/Startup)下,找到retarget.c文件,复制到工程目录:
在这里插入图片描述
这里我复制到我的工程目录(xx\Core\Src)下:
在这里插入图片描述
将retarget.c添加到工程:
在这里插入图片描述
看到工程里有retarget文件,代表文件添加成功。
在这里插入图片描述

2.2 重新实现sendchar和getkey函数

在这里插入图片描述
官方推荐在Serial.c中进行实现,本文为了方便演示直接在main函数中进行实现:
在这里插入图片描述
注:getkey函数因为在调试的过程中用不到所有暂时不实现,有必要用到时再进行实现。

调用验证printf函数打印是否成功:
在main函数的while(1)中添加调用代码:
在这里插入图片描述
2.3 编译下载验证效果
在这里插入图片描述
可以看到printf调试信息已经在循环打印了,确认printf重定向成功。

三,总结

本文主要介绍如何使用keil自带的retarget.c进行printf重定向,供参考。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

音频金钟小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值