lixinghui

串口重定向

在单片机的串口输出中,只能通过单字节发送或者字符串发送,这对调试的输出不太方便,如果我们能使用像C语言printf函数来输出就会方便很多。 标准的stdio.h中对于printf函数的输出是有固定方向(显示器)的,如果需要输出到串口,就需要对它进行重定向处理。 32位单片机的printf函数是调用了fputc函数,8位单片机为putchar函数。 重定向fputc函数代码为: #in...

C语言宏定义概述

宏定义又称为宏替换,在程序编译的时候对宏定义的内容进行替换。 正如C语言中所讲,函数的使用可以使程序更加模块化,便于组织,而且可重复利用,但在发生函数调用时,需要保留调用函数的现场,以便子函数执行结束后能返回继续执行,同样在子函数执行完后要恢复调用函数的现场,这都需要一定的时间,如果子函数执行的操作比较多,这种转换时间开销可以忽略,但如果子函数完成的功能比较少,甚至只完成一点操作,如一个乘...