Hi, There basically are two schemes you have to choose from. 1. if the timer is a Windows.Forms.Timer and your Tick handler is short (less than 10 msec), then everything should be OK. That requires there are no blocking I/O methods called. So when your peripheral needs 200 msec to perform a data acquisition, it would only work smoothly if that gets handled asynchronously, i.e. in one timer tick you issue a "start acquisition" command without waiting for the results; and in a different handler (or a later tick of the timer) you issue a "now deliver the available data" command. 2. If the above is not possible, the alternative is to have a second thread that takes care of communicating with your peripheral and preparing the new data; it should then use the Control.InvokeRequired/Invoke pattern to update the GUI. See this little article[^]. :)
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
modified on Monday, June 7, 2010 8:39 AM