在调试的过程中,咱们常常会发现有收到的数据推迟的现象,现在提出几点处理的办法:
(1)在循环中参加适量的延时,经过一个简略的比如看,

你会发现在cpu的占用率在加延时和不加的时分有很大的差异,当加的时分根本不占,而不加延时的时分到达100%。我在调试串口通讯时分,发现while loop里加一个延时会有很好的作用(假如有一个或某几个线程占用了 100% 的 CPU,此刻体系对其他线程就会反应迟钝。例如,程序的履行线程占用了100% 的 CPU,那么用户对界面的操作就会迟迟得不到呼应,甚至于用户会误认为程序死锁了。所以在程序中要尽量防止呈现 100% 占用 CPU 的情况。 现在大多数的计算机仍是单核单个 CPU 的,因而要防止任何一个线程企图 100% 占用 CPU 的情况).
(2)visa read 的字节总数最好用一个特点节点来替代

由于咱们不知道数据缓冲区有多少个字节,这样就不需要去设定了
(3)常常看到会有人说串口里边有一堆数据,可是去读的时分却读回来一点点,每次均不相同,这种怀情况是由于串口有一个serial configuration这个节点上面,有一个termination char,我们将它设为F就可以了,由于遇到这个终止符,它就会中止读数,所以读回来的就会少了!