linux下如何清空串口的输入输出缓存

loveleijuforever 2005-04-18 08:18:11
串口1发送数据,串口2读取1发的数据。
我用tcflush(fd,TCIOFLUSH)清空串口1、2的缓存,但是结果很奇怪

串口1先发送asdf,串口2接受asdf
此时串口1发送可kg,串口2接受kgdf.

很纳闷。盼高手指点。

代码如下:
int readcommsg( char *readstring )
{
int rdcount=read( fd, readstring, 10 );
if(rdcount>0)
{
tcflush(fd,TCIOFLUSH);
return 1;
}
tcflush(fd,TCIOFLUSH);
return -1;

}
...全文
1370 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qfxx 2005-04-19
  • 打赏
  • 举报
回复
你清空了串口缓存
但是没有清空readstring
在read前加上
bzero(readstring,10);

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧