beautypg.com

Omega Speaker Systems 8 Channel Thermocouple USB Data Acquisition Module TC-08 User Manual

Page 15

background image

Technical reference

11

Example

The following code is a fragment of a C application demonstrating how to use Get
Single mode with the USB TC-08 driver:

//========================================================
// Setting up and converting readings with Get Single mode
//========================================================

usb_tc08_set_mains

(handle,

0

);

// use 50Hz mains noise rejection

for

(channel =

0

; channel <

9

; channel++)

{

// set each channel up as a type K thermocouple

// channel 0 is the cold junction and will be enabled

// by setting the third argument to anything other than ' '

usb_tc08_set_channel

(handle, channel,

'K'

);

}

// find out the approximate conversion time
// for a call to usb_tc08_get_single

minimum_interval =

usb_tc08_get_minimum_interval_ms

(handle);

printf(

"Conversion time: %d\n"

, minimum_interval);

// Collect 10 readings over approximately 9 minutes

last_time = GetTickCount();

for

(i =

0

, i <

10

, i++)

{

// do the conversion for all channels

usb_tc08_get_single

( handle,

value_array,

// short value_array[9]

&overflow_flags,

0

);

// degrees Celsius units

// print out the values

printf(

"\n\nTime: %d minute(s)"

, i);

for

(c =

0

; c <

9

; c++)

{

// check for overflows on each channel

// with a bitwise & comparator
// shift the comparison bit to match the channel

if

(overflow_flags & (

1

<< c))

{
printf(

"\nChannel %d overflowed"

, c);

}

else

// no overflow

{
printf(

"\nChannel %d: %f"

, c, value_array[c]);

}
}

if

(i <

9

)

{

while

(

60000

> (GetTickCount() - last_time))

// 60000ms = 1 minute

{
Sleep(

100

);

// let other applications run

}

last_time = GetTickCount();
}
}