This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
如何将printf函数重定向到串口打印,在程序中调用printf向串口发送数据
你好,发送数据的话,没必要这么麻烦,28069有SCI通信外设,你直接使用它们就可以了,
C2000Ware中有相关例程:C:\ti\c2000\C2000Ware_4_02_00_00\device_support\f2806x\examples\c28\sci_echoback
谢谢,是使用的SCI,只是数据是十六进制的,串口打印(ASCII)不能直观使用串口助手打印查看,需要使用printf重定向实现数据转换,比如在实现了printf的情况下,代码:
Uint8 a=0XC8;
printf("\n\r 0X9F= %x\n\r",a);
串口助手显示的结果是:0x9F=C8
方法2 如果使用的是普通串口,那么情况如下:
SCIA_TX('\n');
SCIA_TX('\r');
SCIA_TX(0XC8);
串口助手在普通显示模式下只有不断的换行,没有其他任何其他信息;
串口助手使用HEX模式显示,打印的是:0A 0D 63 38 对应的是'\n' '\r' 'C' '8' 的ASCII码十六进制数值
我重新实现了 int fputc(int _c, register FILE *_fp)希望来达到上面第一种效果。
但是我使用printf("\n\r 0X9F= %x\n\r",a); 只会显示0X9F=,后面的C8没有显示。
您好,请问printf重定向遇到这种情况是什么原因,如何解决,能跟我说说吗?谢谢