一般我们在KEIL中用printf实现串口打印时,只要包含stdio.h头文件,然后重新实现fputc函数即可,如附图一:
但在GCC环境中,我们需要实现的底层函数就不是fputc函数了,而是_write函数,如附图二:
需要注意的是:
printf后面添加 \n或者在printf之后使用fflush(stdout),来立即刷新输出流。
否则printf不会输出任何数据,而且会被后来的正确发送的printf数据覆盖。
这是因为printf的数据流在扫描到 \n之前都会被保存在缓存中,直到 \n出现或是fflush(stdout)强制刷新才会输出数据。
|