TCS3404, TCS3414 − Application Information: Software
Configuring the Timing Register
The command, timing, and control registers are initialized to
default values on power up. Setting these registers to the
desired values would be part of a normal initialization or setup
procedure. In addition, to maximize the performance of the
device under various conditions, the integration time and gain
may be changed often during operation. The following pseudo
code illustrates a procedure for setting up the timing register
for various options.
// Set up Timing Register
//Low Gain (1x), integration time of 12ms (default value)
Address = 0x39
Command = 0x81
Data = 0x02
WriteByte (Address, Command, Data)
//Timing Register
//Low Gain (1x), integration time of 101ms
Command = 0x81
Data = 0x01
WriteByte (Address, Command, Data)
//Timing Register
//Low Gain (1x), integration time of 12ms
Data = 0x00
WriteByte (Address, Command, Data)
//High Gain (16x), integration time of 101ms
Command = 0x81
Data = 0x01
WriteByte (Address, Command, Data)
Command = 0x87
Data = 0x20
WriteByte (Address, Command, Data)
//Read data registers (see Basic Operation example)
//Timing Register
//Gain Control Register
//Perform Manual Integration of 50 us
//Set up for manual integration
Command = 0x80
Data = 0x01
WriteByte (Address, Command, Data)
//Disable ADC_EN
Command = 0x81
Data = 0x10
WriteByte (Address, Command, Data)
//Set manual integration
Command = 0x80
Data = 0x03
WriteByte (Address, Command, Data)
//Enable ADC_EN and begin integration
//Integrate for 50ms
Sleep (50)
//Wait for 50ms
ams Datasheet
[v1-00] 2015-Nov-11
Page 35
Document Feedback