[应用相关] 工程师的调试法宝之Printf串口输出

[复制链接]
1119|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语言函数库,例如:

          6245364ffb0e1d548a.png
————————————————
版权声明:本文为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 | 显示全部楼层
是的,每次我都得先把串口调通再做别的
tpgf 发表于 2023-10-11 18:58 | 显示全部楼层
这种方式能实现的前提是有一个显示终端是吗
zljiu 发表于 2023-10-11 19:26 | 显示全部楼层
我们都可以吧信息打印在什么地方呢
tfqi 发表于 2023-10-11 19:38 | 显示全部楼层
这个是向什么位置输出相关状态的呢
aoyi 发表于 2023-10-11 20:23 | 显示全部楼层
其实我们也可以通过点灯来指导我们调试
nawu 发表于 2023-10-11 21:00 | 显示全部楼层
这个和普通的串口输出有什么不一样的呢
gwsan 发表于 2023-10-11 21:31 | 显示全部楼层
通常这种信息报送并不具备较好的实时性
您需要登录后才可以回帖 登录 | 注册

本版积分规则

64

主题

3317

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部