问题一:
这个项目中碰到过什么问题,你是怎么解决的,造成这个问题的原因是什么
问题二:
你学习、、、的时候有什么收获
问题三:
你做的项目中有用到进程通信或者线程通信吗?
CCD项目中用到了线程通信,线程之间可以通过共享的全局变量进行通信。能够在多个线程里共享全局变量。例如才激动的明场和暗场的均值和方差。
还有个项目中用到了进程通信,这个项目我只是帮助他们做,不是主要做的。是通过工业机器人拍照,把图片传给预测程序,视觉识别目标,然后控制机器人向目标方向运动。这个项目中,工业机器人的摄像头的驱动程序是用C++写的,视觉识别预测程序是python写的,预测之后驱动机器人的程序也是C++写的,图像传给识别程序使用的共享内存和信号量。共享内存是使多个进程共享内存的同一块区域,共享内存很快,但是共享内存不能自动自动同步,因此需要通过信号量来进行同步。信号量不传递数据,就只是用来同步进程。识别结果再传递给工业机器人是用套接字socket,它可以用于不同机器之间的进程通信。
CCD项目问题:
五院的电脑是不联网的,且是xp系统,不能安装vs2012及以上的软件,当时项目交接时,情况紧急,我就把整个程序release编译之后打包成安装软件发给他们进行安装的
还有一个端口冲突问题,当时无论如何都通信不成功,硬件排查不出来问题,软件驱动也排查不出来问题,最后是发现端口冲突,把端口号改了就好了
还有数据读取问题,由于xp系统采集到的数据是小端的,即低位在前高位在后,必须进行大小端的转换,不然得到的数据就是完全错误的。一开始没注意到这个问题,发现数据总是错的,后来才知道xp系统的原因,有大小端的问题。