OpenEdv-开源电子网

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

printf函数重定向后无法使用

[复制链接]

2

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2022-8-8
在线时间
4 小时
发表于 2022-8-29 15:14:19 | 显示全部楼层 |阅读模式
3金钱
向大家请教一个问题,printf函数重定向后不能输出内容。之前也是这么做的可以使用printf函数打印到串口助手,但是现在一样的操作不知道哪里出问题了,麻烦大家帮忙看一下,下面是我的代码和串口助手显示的内容。

使用原子的printf重定向(直接复制的),也包含了相应的头文件stdio.h。
  1. #if 1
  2. #pragma import(__use_no_semihosting)            
  3. //±ê×¼¿aDèòaμÄÖ§3Öoˉêy                 
  4. struct __FILE
  5. {
  6.         int handle;

  7. };

  8. FILE __stdout;      

  9. void _sys_exit(int x)
  10. {
  11.         x = x;
  12. }

  13. int fputc(int ch, FILE *f)
  14. {      
  15.         while((USART1->SR&0X40)==0);
  16.     USART1->DR = (uint8_t) ch;      
  17.         return ch;
  18. }
  19. #endif
复制代码
主函数为
  1. int main(void)
  2. {
  3. uint8_t rec=0;
  4. uint8_t ch[]={0};
  5. HAL_Init();
  6. SystemClock_Config();
  7. MX_GPIO_Init();
  8. MX_USART1_UART_Init();


  9. while (1)
  10. {
  11. printf("串口通信测试\r\n");
  12. HAL_UART_Transmit (&huart1,"uart test\r\n",strlen("uart test\r\n"),100);
  13. }
  14. }
复制代码
但是串口助手中只显示HAL库函数发送的内容





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

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2022-8-8
在线时间
4 小时
 楼主| 发表于 2022-8-30 09:22:55 | 显示全部楼层
串口助手的页面没传上去,显示内容只有uart test。printf的内容没有显示。
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8463
金钱
8463
注册时间
2020-5-11
在线时间
3904 小时
发表于 2022-8-30 15:26:37 | 显示全部楼层
能显示uart test说明串口发数据没问题,可能是串口助手不支持中文,可用16进制显示接收数据,或换个助手看看.
专治疑难杂症
回复

使用道具 举报

12

主题

228

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1730
金钱
1730
注册时间
2016-3-8
在线时间
678 小时
发表于 2022-8-31 16:30:31 | 显示全部楼层
直接这样看看:
int fputc(int ch, FILE *f)
{      
        HAL_UART_Transmit (&huart1,&ch, 1,100);  
        return ch;
}
回复

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2021-12-12
在线时间
10 小时
发表于 2022-8-31 18:49:57 | 显示全部楼层
你可以移植相关开发板的串口实验 把他们的例程copy到自己的工程里 看看效果
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 04:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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