C51 printf修改如何能打印到不同的设备呢?
来源:互联网 发布:linux mint kde xfce 编辑:程序博客网 时间:2024/05/29 06:42
原文如下
我们知道标准的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函数中的各种格式控制很轻松的应用到用户系统中
我们知道标准的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函数中的各种格式控制很轻松的应用到用户系统中
- C51 printf修改如何能打印到不同的设备呢?
- Keil C51 的printf
- Keil C51 的printf sprintf
- 细谈不同子网无路由设备为什么能通信 (修改)
- Keil C51重定向printf到串口
- Keil C51重定向printf到串口
- Keil C51重定向printf到串口
- keil C51 重定向printf到串口
- Keil C51使用printf打印单字节数据时的特殊用法
- ABAP将内表数据打印到邮件正文,如何排列的整齐呢?
- USB主机是如何检测到设备的插入的呢?
- USB主机是如何检测到设备的插入的呢?
- 关于keil c51里面的 printf 函数
- Keil C51中printf()函数的说明
- 如何把自己修改的内容推送到公司远程git库呢
- 如何修改zencart的Title呢?
- printf的归宿-数据打印到哪儿了
- KeilC51使用printf输出到串口打印的实现
- PHP中日期相加减
- Office 2010 中打开多个Excel文件只能在同一窗口中显示的问题
- Dx trouble processing "java/nio/CharBuffer.class":
- boost::ref学习
- 国际化-屏幕适配-样式与主题
- C51 printf修改如何能打印到不同的设备呢?
- SORT AGGREGATE
- 深入浅出linux之前言
- 如何查询运行在某个表上的所有SQL
- 常用的masm32宏 等等
- webQQ
- [IOS] Objective C 类初始化函数注意点
- Linux网卡编号混乱的解决办法
- 播放器更新桌面歌词功能