Do I need to clear the input buffer of visa object every time when I acquire data from oscilloscope?
7 views (last 30 days)
Show older comments
Hi everyone,
I was trying to write a MATLAB script which plots data from the oscilloscope every couple of seconds until stopped by user. The way it was done was that, in a while loop, commend was sent to the oscillosopce to do a single acquisition. Then data was read using binblockread, and fread was used to remove the terminating character. Then the data were plotted, and the script pause for a few seconds before starting a new acquisition.
I was not sure about one thing: when binblockread reads data from the visa object, does it clear the input buffer? Or, when I do the new acquisition, will old data automatically get overwitten? Will the old data remain in the input buffer, and I end up with a mixture of old and new data every time I do another acquisition?
Ideas, suggestions, or links of useful resources would all be really appreciated. Thanks!
0 Comments
Answers (1)
Pratheek Punchathody
on 29 Mar 2021
As per my understanding during the read and write operations with a VISA Object, the "read" function suspends MATLAB execution when "The input buffer is filled".
You can use "flush" function to clear buffers for communication with the VISA resources.
flush(v,"input"); % flushes only the input buffer of the VISA resource.
Hope this helps..!
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!