GD32F427重定向printf无法打印

[复制链接]
7434|17
 楼主| dd22086 发表于 2023-8-5 14:05 | 显示全部楼层 |阅读模式
IAR已经设置library-full。用的是USART2
也加入以下代码:
int fputc(int ch, FILE *f)
{
    usart_data_transmit(USART2, (uint8_t)ch);
    while(RESET == usart_flag_get(USART2, USART_FLAG_TBE));
    return ch;
}

发现运行printf时,会卡死在usart_flag_get这个函数里跳不出来。
qzuserjim 发表于 2023-8-11 14:01 | 显示全部楼层
USART2的发送中断使能了吗?建议查看寄存器中断位。
yangxiaor520 发表于 2023-8-11 18:14 来自手机 | 显示全部楼层
是不是没有使能发送完成中断啊
juventus9554 发表于 2023-8-11 22:39 | 显示全部楼层
寄存器中断位问题
lamanius 发表于 2023-8-19 11:17 | 显示全部楼层
要是keil我还能说两句,IAR我可真不行了
liu96jp 发表于 2023-8-19 13:08 | 显示全部楼层
一般你可以自己写个重定向函数的,就可以不用选择library-full了吧
w2nme1ai7 发表于 2023-8-19 15:24 | 显示全部楼层
是不是你那里的标记没清掉,或者怎么回事儿啊?
zhizia4f 发表于 2023-8-19 15:38 | 显示全部楼层
感觉写的没啥问题啊,咋就出不来呢?
tax2r6c 发表于 2023-8-20 18:10 | 显示全部楼层
可能一直为低呗,导致现在一直循环出不来,是吧
Addition 发表于 2023-8-21 18:23 | 显示全部楼层
这个应该是IAR高版本才会出现这个问题

IAR无法打印.pdf

57.05 KB, 下载次数: 11

戊戌变法 发表于 2023-8-26 11:58 | 显示全部楼层

GD32F427重定向printf无法打印

检测以下串口号
zchong 发表于 2023-8-27 12:51 | 显示全部楼层

GD32F427重定向printf无法打印

参考IAR的相关文档,版本太高!
zhouxr 发表于 2023-8-29 15:34 | 显示全部楼层
老师,可以加您微信问个问题吗?
Bowclad 发表于 2023-9-5 23:45 | 显示全部楼层
iar的printf我也没搞成功过
ayb_ice 发表于 2023-9-26 11:28 | 显示全部楼层

GD32F427重定向printf无法打印

用延时代替查询标志也可以
Bowclad 发表于 2023-9-27 19:02 | 显示全部楼层
是不是串口配置错了啊
Undshing 发表于 2023-9-27 22:16 | 显示全部楼层
自己写一个重定向代码吧
shanyuxiang 发表于 2023-10-7 21:41 | 显示全部楼层

GD32F427重定向printf无法打印

很可能是串口没配好,先确认一下串口时钟开了没? 串口初始化了没?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

6

帖子

0

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