从去年12月份至今,将近半年的时间,一直在做测试平台这个项目,项目已接近尾声。
项目的思路如下:
首先建立通信,然后开始测试,测试函数中,先建立两个通信线程(一个接受,一个发送),然后开始测试,写数据,读数据,通过通信控制测试流程。写数据端写数据之后发送消息数据已写,对方收到数据已写消息之后,读数据,然后发送数据已读消息回去,对方收到数据已读消息之后,继续写下一次数据。
- 测试流程的控制比较关键,我的分三部分,IO、AD\DA一组,脉冲一组,轴DA一组。因为输入AD只有4个通道,轴的DA输出和普通DA输出不能一起测试。必须要用两块芯片来选择是轴DA还是普通DA接入AD进行测试。故轴的DA和普通DA必须分开测试。
- 对于被测试端,必须要保证在测试结束之后,把测试结果发送给测试端之后,发送线程才能够终止。线程的终止与否是根据测试流程中的各个标志位来判断的。后面为了增加重新测试功能,在测试结束标志位置为之后,又调用了初始化函数,为下一次测试做准备,所以标志位置位之后又被初始化为0了,线程不会结束。接收线程一直等待测试端发送重新测试消息,收到重新测试消息之后,开始重新测试。