Datasheet

LTC2485
36
2485fc
*******************************************************************************/
signed int32 read_LTC2485(char addr, char con g)
{
struct fourbytes // De ne structure of four consecutive bytes
{ // To allow byte access to a 32 bit int or oat.
int8 te0; //
int8 te1; // The make32() function in this compiler will
int8 te2; // also work, but a union of 4 bytes and a 32 bit int
int8 te3; // is probably more portable.
};
union // adc_code.bits32 all 32 bits
{ // adc_code.by.te0 byte 0
signed int32 bits32; // adc_code.by.te1 byte 1
struct fourbytes by; // adc_code.by.te2 byte 2
} adc_code; // adc_code.by.te3 byte 3
// Start communication with LTC2485:
i2c_start();
if(i2c_write(addr | WRITE))// If no acknowledge, return zero
{
i2c_stop();
return 0;
}
i2c_write(con g);
i2c_start();
i2c_write(addr | READ);
adc_code.by.te3 = i2c_read();
adc_code.by.te2 = i2c_read();
adc_code.by.te1 = i2c_read();
adc_code.by.te0 = i2c_read();
i2c_stop();
return adc_code.bits32;
} // End of read_LTC2485()
/*** initialize() **************************************************************
Basic hardware initialization of controller and LCD, send Hello message to LCD
*******************************************************************************/
void initialize(void)
{
// General initialization stuff.
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_counters(RTCC_INTERNAL,RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
lcd_init(); // Initialize LCD
delay_ms(6);
printf(lcd_putc, “Hello!”); // Obligatory hello message
delay_ms(500); // for half a second
} // End of initialize()
APPLICATIONS INFORMATION