使用printf打印信息是在程序调试环节非常重要的一种手段,但是printf默认是打印到终端的,实际使用过程中不一定能满足需求,那么能不能把printf的打印重定向到文件或者串口呢? 答案当然是可以的。使用如下代码,就能非常方便的将打印重定向啦。
fflush(stdout);setvbuf(stdout, NULL, _IONBF, 0);freopen("/dev/ttyO0", "w", stdout);//打印到串口freopen("./my.log", "a", stdout); //打印到my.log文件
这里在推荐一个工具,secureCRT,可以非常方便的查看串口打印出来的信息,而且还能保存到指定的日志,再分享一个小技巧,通过配置日志文件,可以在每一行打印前加入当前时间,非常方便调试。
打开secureCRT 工具栏的《选项》--《会话选项》就弹出上图。点击《日志文件》--《在每行》中添加
%h:%m:%s:%t 然后确定。