打印

万年历的一个问题 printf

[复制链接]
2046|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiutianhun|  楼主 | 2010-11-3 11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在做万年历时,调用这个函数 fput()时一直跳不出来,也不知道是什么原因?
int fputc(int ch, FILE *f)
{
/* 将Printf内容发往串口 */
  USART_SendData(USART1,(unsigned char) ch);
  while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);||应该是这句跳不出来
  return ch;
}
沙发
yuanruibing| | 2010-11-16 16:55 | 只看该作者
俺也不知!

使用特权

评论回复
板凳
baidudz| | 2010-11-16 22:14 | 只看该作者
还有其他代码吗,一起贴出来看看

使用特权

评论回复
地板
hgjinwei| | 2010-11-16 22:51 | 只看该作者
串口没有初始化?
发送没有使能?

使用特权

评论回复
5
mcu5i51| | 2010-11-17 08:43 | 只看该作者
printf 会调用这个吗 fputc

使用特权

评论回复
6
dbayj| | 2010-11-20 19:51 | 只看该作者
本帖最后由 dbayj 于 2010-11-20 19:55 编辑

int fputc(int ch, FILE *f)
{
  /* Write a character to the USART */
  USART_SendData(USART1, (u8) ch);

  /* Loop until the end of transmission */
  while(!(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == SET))
  {
  }
  return ch;
}

使用特权

评论回复
7
dbayj| | 2010-11-20 19:52 | 只看该作者
仔细对一下,你那里不对,我也是从别人代码里找到的,停留在改代码的阶段。

使用特权

评论回复
8
dbayj| | 2010-11-20 19:54 | 只看该作者
本帖最后由 dbayj 于 2010-11-20 19:56 编辑

:victory:

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

1

帖子

1

粉丝