RoboMaster

标题: 【求助帖】关于UbUntu的多线程串口通信问题 [打印本页]

作者: kdl511    时间: 2018-5-4 21:45
标题: 【求助帖】关于UbUntu的多线程串口通信问题
现在是妙算能够接受串口通信的数据,我的代码开了三个线程,分别是图像获取,图像处理还有串口通信。
现在是图像获取,图像处理的线程都是很快,基本的功能能够实现,没有延时,抢到时间片。只差的是串口通信的有延时,主控板发过来的数据起码要10S才能够获取得到。惨惨惨,liunx的多线程协同真的麻烦,望高手能指导一下。


作者: 173future    时间: 2018-5-6 11:45
本帖最后由 173future 于 2018-5-6 11:49 编辑

每次接收数据后把缓冲区里面的多余数据读干净就好了。

uint8_t buffer[100];
void ReadData(int &fd){
  int bytes;
  ioctl(fd,FIONREAD,&bytes);
  if(bytes > 5) return;
  read(fd,buffer,5);
  ioctl(fd,FIONREAD,&bytes);
  if(bytes > 0) read(fd,buffer,bytes);
}

作者: MonsterMechanil    时间: 2018-12-3 18:57
大佬!!!!!!!




欢迎光临 RoboMaster (https://bbs.robomaster.com/) Powered by Discuz! X3.2