问个在CodeWarrior中使用printf函数的问题
我的芯片不具有串口,但是想用printf函数显示信息有什么办法吗,好像可以显示在log window 里,不过查了很多资料都没有介绍。有用过的朋友介绍下。 昨天正看了点资料,好像有个词叫 半主机机制不是一般的芯片能支持的。CODE WARRIOR? FREESCALE? 这个不太懂 公司的技术人员都问了,都不知道怎么弄。
我就想把调试运行中不能设置断点的通讯过程给打印到窗口或文件里,确不好做到。 没有串口的话,可以软件模拟串口,基本的原理就是利用空闲定时器,来时实现波特率的基准时间
实例可参考这里
http://www.chipart.cn/ar_list.asp?id=75 定义 void TERMIO_PutChar( charch ) security 我不是要模拟口串口,是因为芯片没有串口无法使用printf函数输出信息。
helloshi 能不能祥细说下。这个问题试了好多方法都没有解决。现在都想用Spi去输出信号,再用另一个单片机把这个信息送到PC的串口了。主要是想跟踪USB的枚举过程。 【3楼】 security 看了芯艺的文章感觉还是有用的,情况跟他是一样的。谢谢。 回复【5楼】pldjn
security 我不是要模拟口串口,是因为芯片没有串口无法使用printf函数输出信息。
helloshi 能不能祥细说下。这个问题试了好多方法都没有解决。现在都想用Spi去输出信号,再用另一个单片机把这个信息送到PC的串口了。主要是想跟踪USB的枚举过程。
-----------------------------------------------------------------------
void TERMIO_PutChar( charch )
{
spi 口输出ch;
} 我以前也是有个小板串口不够用,Spi去输出信号解决的,做了个转接板 32位处理器在控制台调试模式下可以使用pringf函数,其他模式下需要自己写串口通信程序,在pc的上位机上通过串口助手可以看 得自己写,唉,麻烦,网上找一个头文件吧 #include <stdio.h>
void SCI_Printf(const char* fmt,...)
{
va_list ap;
char buf;
va_start(ap,fmt);
(void*)vsprintf(buf,fmt,ap);
SCI_SendString( (uchar*)buf );
va_end(ap);
}
可以使用在freescale中使用Printf 但缓冲区不能超过256
页:
[1]