智能车制作

 找回密码
 注册

扫一扫,访问微社区

STM32论坛
查看: 5900|回复: 0
打印 上一主题 下一主题

STM32F103串口程序中printf函数不好用的解决方法

[复制链接]

489

主题

1691

帖子

1

精华

管理员

网站创始人&站长

Rank: 11Rank: 11Rank: 11Rank: 11

积分
85932

特殊贡献奖章资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

QQ
威望
56988
贡献
17374
兑换币
13144
注册时间
2007-6-8
在线时间
5785 小时
跳转到指定楼层
1#
发表于 2012-3-7 11:08:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现象:在STM32F103的UART程序加入printf函数发送字符串,但是程序会死在printf函数中,无法发送。已经添加了底层驱动函数如下:

int fputc(int ch, FILE *f)
{
  /* Place your implementation of fputc here */
  /* e.g. write a character to the USART */
  USART_SendData(USART1, (u8) ch);
  /* Loop until the end of transmission */
  while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET)
  {
  }
  return ch;
}


原因:未在工程中使用库函数Micro Lib

解决方法:
1. 右键点击左侧工程名,打开工程属性

2. 勾选Micro Lib



之后再编译,下载,程序就可以正常运行了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 21:14 , Processed in 0.047916 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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