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

[复制链接]
525|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 | 显示全部楼层
  1. int fputc(int ch, FILE *f)
  2. {
  3.         uint8_t bInChar[1]={0xFF};
  4.   /* Place your implementation of fputc here */
  5.   /* e.g. write a character to the UART */

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

  8.         return ch;
  9. }
598330983 发表于 2020-4-25 23:57 | 显示全部楼层
感谢分享
598330983 发表于 2020-4-25 23:57 | 显示全部楼层
终于明白怎么回事了。
jiekou001 发表于 2020-4-26 11:08 | 显示全部楼层
不知道要不要判断是否发送为空,或者发送器空闲?
huangcunxiake 发表于 2020-4-26 11:11 | 显示全部楼层
  1. char putchar(char c)
  2. {
  3.         while(!TI);
  4.         TI=0;
  5.         return(SBUF = c);
  6. }

51用的这个重定向,都要判断一下,是否发生中断。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

157

主题

2770

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部