打印

IAR printf重定向到usart

[复制链接]
5035|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
twins7713|  楼主 | 2013-5-9 11:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int fputc(int ch, FILE *f)
IAR printf重定向到usart
为什么printf之后总是
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET在这里做死循环

int fputc(int ch, FILE *f)
{
  /* Place your implementation of fputc here */
  /* e.g. write a character to the USART */
  USART_SendData(USART2, (u8) ch);

  /* Loop until the end of transmission */
  while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET)
  {}
  return ch;
}

相关帖子

沙发
江陵龙少| | 2013-5-9 13:05 | 只看该作者
串口发送是一位一位进行的,是需要时间的
while循环,检测是否发送完毕(判TC标志)。

使用特权

评论回复
板凳
twins7713|  楼主 | 2013-5-9 14:07 | 只看该作者
江陵龙少 发表于 2013-5-9 13:05
串口发送是一位一位进行的,是需要时间的
while循环,检测是否发送完毕(判TC标志)。 ...

发送完了,我也收到一位,但是这里检测就应该通过,执行下一位发送,但是这里一直检测为发送未完成,但是我都收到数据了。

使用特权

评论回复
地板
仙帝将王| | 2014-6-10 21:09 | 只看该作者
twins7713 发表于 2013-5-9 14:07
发送完了,我也收到一位,但是这里检测就应该通过,执行下一位发送,但是这里一直检测为发送未完成,但是 ...

楼主,问题解决了吗,我也遇到了这个问题,求指导:'(

使用特权

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

本版积分规则

10

主题

29

帖子

1

粉丝