求教,对于51的串口打印函数,有没有更好的实现方法??

[复制链接]
4634|5
 楼主| XIANSir 发表于 2011-4-12 22:05 | 显示全部楼层 |阅读模式
本帖最后由 XIANSir 于 2011-4-13 08:02 编辑

折腾了几天,Keil C51的scanf()函数还是搞不定??:L于是决定放弃。

现在的想法是:字符串输出打印使用puts()库函数,格式化打印使用printf()库函数;字符串读取使用gets()库函数,格式化输入使用gets()和sscanf()库函数结合来完成。


不知道各位前辈是不是这样做。


另外,觉得串口数据传输时while(TI==0)和while(RI==0)实在是太浪费CPU了,不知道大家有没有更好的实现方法啊???
mohanwei 发表于 2011-4-12 23:39 | 显示全部楼层
改造putchar,输出到环形缓冲区;发送中断自己到环形缓冲区取数。
 楼主| XIANSir 发表于 2011-4-13 08:09 | 显示全部楼层
2# mohanwei
好主意!!!
环形缓冲区:是不是就是一个数组加一个输入指针和一个输出指针啊!!!
这个主意非常非常赞!嗯今天试试写一下。多谢前辈指教:handshake
liang7143 发表于 2011-4-13 16:38 | 显示全部楼层
这是操作系统讲得很多的一个问题

生产者 消费者问题
原野之狼 发表于 2011-4-13 16:51 | 显示全部楼层
格式化数据到一个pipe中
 楼主| XIANSir 发表于 2011-4-13 17:31 | 显示全部楼层
4# liang7143 嗯,可惜51一般跑不了系统!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:冷暖自知,泰然处之;持之以恒,必有所成!

0

主题

609

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部