[APM32F4] 【APM32F402R Micro-EVB开发板测评】3,printf

[复制链接]
697|25
 楼主| ddllxxrr 发表于 2025-7-25 06:52 | 显示全部楼层 |阅读模式
我看了UART例程有printf,就高高兴兴地打开,想用一下printf.
谁知根本就不是我要的printf。例程的名字叫做pintf,其实是用串口函数输出一段字符。

那自已来吧。
1,我知道得应映一下
  1. /* Private function prototypes ********************************************/
  2. int fputc(int c,FILE *f)
  3. {
  4.        
  5.         while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
  6.         USART_TxData(USART1,(uint8_t)c);
  7.         return c;
  8. }
注意:重要事情说三遍,一定要加上while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
否则只打一个字符。
2,在头文件加上#include studio.h
3,   MDK魔术棒微库打开
APM3.jpg




在主函数加上一句printf就行了:


  1.   SystemCoreClockUpdate();
  2.     SysTick_Config(SystemCoreClock / 1000);
  3.        
  4.           printf("Hello world!!!!!\n\r");
  5.     while (1)
  6.     {
  7.         Delay();
  8. //        for(i = 0; i < sizeof(txBuf); i++)
  9. //        {
  10. //            while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
  11. //            USART_TxData(USART1, txBuf[i]);
  12. //        }
  13.         BOARD_LED_Toggle(LED2);
  14.     }



运行结果:
APM4.jpg




天鹅绒之夜 发表于 2025-7-25 19:40 | 显示全部楼层
版主,您的这个实验是不是太简单了啊
 楼主| ddllxxrr 发表于 2025-7-26 16:10 | 显示全部楼层
天鹅绒之夜 发表于 2025-7-25 19:40
版主,您的这个实验是不是太简单了啊

大道置简。要那么复杂干么?
天鹅绒之夜 发表于 2025-8-15 10:24 | 显示全部楼层
ddllxxrr 发表于 2025-7-26 16:10
大道置简。要那么复杂干么?

说得有道理
ulystronglll 发表于 2025-9-2 16:06 | 显示全部楼层
printf函数通常需要通过串行通信接口 来实现输出。
macpherson 发表于 2025-9-2 17:14 | 显示全部楼层
在使用printf函数时,要注意性能和资源消耗
elsaflower 发表于 2025-9-2 21:02 | 显示全部楼层
长字符串打印卡顿?              
gygp 发表于 2025-9-4 13:21 | 显示全部楼层
需要实现一个函数来发送字符串。这个函数会遍历字符串中的每个字符,并调用上面实现的字符发送函数来发送每个字符。
ingramward 发表于 2025-9-4 15:27 | 显示全部楼层
频繁的printf调用可能会影响程序的执行效率,特别是在性能受限的嵌入式系统中。
DawnFervor 发表于 2025-9-4 20:46 | 显示全部楼层
就是不用printf函数。要自己写,要自己写
lihuami 发表于 2025-9-6 10:50 | 显示全部楼层
支持浮点数打印?               
风暴之眸 发表于 2025-9-6 13:10 | 显示全部楼层
printf用于格式化输出还是太方便了
霜之闪耀 发表于 2025-9-7 22:58 | 显示全部楼层
printf函数目前在嵌入式端不支持浮点打印吧!
mollylawrence 发表于 2025-9-8 13:17 | 显示全部楼层
printf函数是标准C库中用于格式化输出的函数
everyrobin 发表于 2025-9-8 15:16 | 显示全部楼层
printf函数是一个常用的调试工具,它可以将格式化的字符串输出到标准输出设备。
plsbackup 发表于 2025-9-9 12:14 | 显示全部楼层
启用 MicroLIB              
51xlf 发表于 2025-9-9 14:52 | 显示全部楼层
可使用缓冲队列 + 任务发送              
空灵回声 发表于 2025-9-9 15:23 | 显示全部楼层
是不是使用printf函数必须要启动Keil内置的MicroLib选项啊
 楼主| ddllxxrr 发表于 2025-9-9 16:20 | 显示全部楼层
空灵回声 发表于 2025-9-9 15:23
是不是使用printf函数必须要启动Keil内置的MicroLib选项啊

恩,应该是
averyleigh 发表于 2025-9-9 18:08 | 显示全部楼层
将 C 标准库中的 printf 重定向到 串口
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2404

主题

7001

帖子

68

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