LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 869|回复: 2

关于串口缓冲区的问题

[复制链接]
发表于 2004-6-3 12:15:04 | 显示全部楼层 |阅读模式
类似的问题我已经问过一次了 ,试了几次 ,也没有找到很好的解决办法。为什么我打开一个串口。向一个外设发了一些信息,然后从外设立接受的回应信息。然后再发一些信息,收到的却是上次的回应 信息和这次的回应信息。就算中间关闭串口再打开也还是这样

怎么样才能只收到这次得回应信息   而没有上次得回应呢?

我猜想是输入的缓冲区没有清空的缘故。我试过 fflush
可是kj501兄说fflush不能清除内核的缓冲区,我接触linux才一个月,请各位大虾 帮助我
谢谢
发表于 2004-6-3 13:43:34 | 显示全部楼层
串口编程就应该使用与串口操作相关的POSIX函数。
fflush清除用户空间的读写缓冲,而tcflush清除串口缓冲。
[php]
#include <termios.h>
int tcflush(int fildes, int queue_selector);
[/php]
 楼主| 发表于 2004-6-3 17:16:08 | 显示全部楼层
呵呵   真是不好意思 。谢谢home_king兄了 。
我看了一下手册上有    设备的输入缓冲区是TCIFLUSH
输出是TCOFLUSH
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表