导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:改造printf函数打印到lcd等设备

* 15614: C51编程:改造printf函数打印到lcd等设备

   dh_huang 
dh_huang发表的帖子 

 C51编程:改造printf函数打印到lcd等设备
我们知道标准的C51库函数printf是将内容通过串口打印,常见单片机系统中的输出设备通
常是lcd,led,甚至osd等,但是许多编程者苦于编写其打印函数以及各种各样的格式控
制,其实keil c51提供了非常方便的方法来实现,那就是通过改写putchar.c来改造printf
函数,你可以通过以下办法来实现自己设计系统中的打印,
1、拷贝KEIL C51下LIB目录中的putchar.c文件到你的项目目录下,并且将其添加到你的工
程中
2、在char putchar (char c)函数中把所有对SBUF负值的语句替换为你自己的打印设备函数
如:把最后的return(SBUF = c)替换为Lcd_PutC(c);return(c);
3、如果你的输出设备是二维的显示设备你可能需要建立全局的二维变量cursor(x,y),在
每打印一个字符后x,y做相应的变换
4、如果你要在二维的显示设备上输出汉字,你还需要建立一个全局的区码变量,在putchar
函数中先对入口参数c作判断如果是处在区码范围内则此次不输出,并做好获得区码的标
志,待程序第二次调用putchar函数时判断区码标识存在则此次入口参数c实际上就是这个汉
字的位码,则可以将区码变量和本次参数c组成这个汉字的区位码并调用用户的输出函数将
其输出到用户设备,输出后把区码标识复位
以上方法可以把printf函数中的各种格式控制很轻松的应用到用户系统中



发表时间:2002年12月9日11:04:00

  
回复该帖

本主题共有 2 帖,分页:>>>>>该主题的所有内容[2]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  73777.[详细]很好,说得很精简很专业.
摘要:......(无内容)
- [guest][753次] 2005年2月28日

[上一篇帖子]:何必麻烦,给你个现成软件许多单片机网站都可以找到zimo22.exe软件,非常强大,不仅可以用c51
[下一篇帖子]:闲聊:rtl8019as请问塞格有卖rtl8019as的柜台吗?