Hello,
I understand that you are reading a 50 byte message that is repeated over and over again with a 30ms delay in between each repetition. It will be rather difficult to detect a 30ms delay using software. I can imagine that possibly calling GetInQLen() in a tight loop and checking the time that it takes to change from n to n+1 would be a good place to start.
I would like more information about your application so that I can better assist you. I'm not sure what you mean by 30hz. Do you mean that the 50 byte message is sent 30 times per second? How many bits per second is this transmission? It would be much easier to simply start your acquisition application before the first byte was received on the serial port so that you could read in chunks of 50 byte
s and not have to worry about the 30ms delay. Is this possible in your situation? How about the data, are there any headers or footers in it to determine where a "packet" starts and stops?
Scott B.
Applications Engineer
National Instruments