打印
[技术问答]

当通过printf()处理信息的时候,如何知道通过哪一组UART传...

[复制链接]
247|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
heisexingqisi|  楼主 | 2020-4-25 22:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在用户开发应用程序的过程中,往往需要通过使用printf()处理信息,如果NuMicro®系列支持的UART不只一组,我们可以通过定义 ”retarget.c”中的DEBUG_PORT,来决定printf()是使用哪一组UART传输数据。初始设置为UART0。

用户可以更改DEBUG_PORT的定义改变printf()的传输端口,以符合自己的系统构架。

使用特权

评论回复
沙发
heisexingqisi|  楼主 | 2020-4-25 23:04 | 只看该作者
int fputc(int ch, FILE *f)
{
        uint8_t bInChar[1]={0xFF};
  /* Place your implementation of fputc here */
  /* e.g. write a character to the UART */

        bInChar[0]=(uint8_t)ch;
        DrvUART_Write(UART_PORT0,bInChar,1);

        return ch;
}

使用特权

评论回复
板凳
598330983| | 2020-4-25 23:57 | 只看该作者
感谢分享

使用特权

评论回复
地板
598330983| | 2020-4-25 23:57 | 只看该作者
终于明白怎么回事了。

使用特权

评论回复
5
jiekou001| | 2020-4-26 11:08 | 只看该作者
不知道要不要判断是否发送为空,或者发送器空闲?

使用特权

评论回复
6
huangcunxiake| | 2020-4-26 11:11 | 只看该作者
char putchar(char c)
{
        while(!TI);
        TI=0;
        return(SBUF = c);
}

51用的这个重定向,都要判断一下,是否发生中断。

使用特权

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

本版积分规则

116

主题

2538

帖子

2

粉丝