1. keilc51的printf函数被系统弄成了库文件(属于静态型),我们是没法修改的,但是他会向下调
用函数:char putchar(char c),这个函数在安装目录的../C51/LIB/PUTCHAR.C里面。值得注
意的是,当我们在编译工程时,系统会先到我们的工程目录中找这个文件来编译,如果找不到
再去安装目录找到编译。
2.因此我们就将安装目录的这个文件(PUTCHAR.C)复制到我们的工程中来,并添加到工程中,
然后修改里面的内容,这个文件默认是输出51单片机的串口0的,如果我们想把输出流定向到
LCD12864等显示模块,这时就只需要修改代码,调用LCD的打印字符函数,就好了。这时一个 不错的推荐!!
3.另外注意的是:首先不要乱改动源文件,你只是复制过来就可以。复制过来的文件也不要修改文
件的名称,因为别人说不定是按文件名来索引的,也不要改里面的函数名,只是改函数里面的内 容而已。
4.源码展示(输出流定向到LCD12864):
文件名:PUTCHAR.C
示范内容:
#include "lcd12864.h"
char putchar (const char c)
{
if (c == '\n')
/* lcd12864换行 */
else
lcd_send_char(c);
}
修正:我们复制过来的文件是可以改名字的,但还是要注意里面的函数名字千万不能变的!!
函数名字在编译后形成符号,在连接阶段,标准库(静态库)所找的就是符号了
阅读(2201) | 评论(0) | 转发(0) |