打印
[应用相关]

工程师的调试法宝之Printf串口输出

[复制链接]
649|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qcliu|  楼主 | 2023-9-12 09:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
Printf函数是一个格式化输出函数,是C语言的一个库函数。在程序中可以使用该函数通过串口可以打印出想要的信息。其使用方法如下:

    1、首先需要在包含printf的C语言库函数的头文件stdio.h;

    2、正常初始化想要打印信息的串口。

    3、重新实现函数int fputc(int ch, FILE *f)。例如:

        #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)



PUTCHAR_PROTOTYPE
{
  /* Place your implementation of fputc here */
  /* e.g. write a character to the USART */
  USART_SendData(USARTx_PRINTF, (uint8_t) ch);

  /* Loop until the end of transmission */
  while (USART_GetFlagStatus(USARTx_PRINTF, USART_FLAG_TC) == RESET)
  {}

  return ch;
}



      4、在工程文件里面选择包含该功能的c语言函数库,例如:

         
————————————————
版权声明:本文为CSDN博主「迟来的圈外人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/alex_li0824/article/details/77430571

使用特权

评论回复
沙发
Stahan| | 2023-9-13 23:36 | 只看该作者
ac6怎么重定向printf啊?

使用特权

评论回复
板凳
weifeng90| | 2023-9-14 08:24 | 只看该作者
对于嵌入式系统来讲,串口***是最链接的调试界面。

使用特权

评论回复
地板
MessageRing| | 2023-9-14 23:19 | 只看该作者
是的,每次我都得先把串口调通再做别的

使用特权

评论回复
5
tpgf| | 2023-10-11 18:58 | 只看该作者
这种方式能实现的前提是有一个显示终端是吗

使用特权

评论回复
6
zljiu| | 2023-10-11 19:26 | 只看该作者
我们都可以吧信息打印在什么地方呢

使用特权

评论回复
7
tfqi| | 2023-10-11 19:38 | 只看该作者
这个是向什么位置输出相关状态的呢

使用特权

评论回复
8
aoyi| | 2023-10-11 20:23 | 只看该作者
其实我们也可以通过点灯来指导我们调试

使用特权

评论回复
9
nawu| | 2023-10-11 21:00 | 只看该作者
这个和普通的串口输出有什么不一样的呢

使用特权

评论回复
10
gwsan| | 2023-10-11 21:31 | 只看该作者
通常这种信息报送并不具备较好的实时性

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

64

主题

3317

帖子

4

粉丝