打印

STM8的UART问题

[复制链接]
4271|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wxx116zh|  楼主 | 2009-10-16 16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM8的UART初始化完成后,不能发送数据,按例程中的再后面加上这个函数之后才能发送,想问一下大侠们,是不是在发送前还需要什么操作。。
char putchar (char c)
{
    if (c == '\n')
    {
      /* put '\r' to hardware here */
      /* Wait transmission is completed : otherwise the first data is not sent */
      while (!(UART2_SR & 0x40));
      UART2_DR = ('\r');
      /* Wait transmission is completed */
      while (!(UART2_SR & 0x40));
    }
    /* put c to hardware here */
    /* Wait transmission is completed : otherwise the first data is not sent */
    while (!(UART2_SR & 0x80));
    UART2_DR = (c);
    /* Wait transmission is completed */
    while (!(UART2_SR & 0x80));
    return (c);
}
沙发
zhaoxinzxzx| | 2009-10-16 23:52 | 只看该作者
不知道楼主在说什么,是要用标准C的Printf函数吗?

使用特权

评论回复
板凳
wxx116zh|  楼主 | 2009-10-17 22:35 | 只看该作者
这是资料里面给的例子,是用的Printf函数。。

使用特权

评论回复
地板
hsbjb| | 2009-10-18 18:55 | 只看该作者
程序有点乱,不知道这个程序能实现什么功能

使用特权

评论回复
5
sinadz| | 2009-10-18 19:33 | 只看该作者
这是个判断语句,而且有返回值,具体干什么用的,也不是很清楚

使用特权

评论回复
6
aolin| | 2009-10-19 09:18 | 只看该作者
Cosmic的printf函数库没有实现对硬件支持,因此你要自己做具体的putchar函数,这样你可以任意定义printf输出到UART1,UART2,还是UART3,甚至你都可以将其定义输出到SPI,CAN

使用特权

评论回复
7
wxx116zh|  楼主 | 2009-10-19 11:19 | 只看该作者
哦,明白,谢谢了。

使用特权

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

本版积分规则

7

主题

62

帖子

1

粉丝