Other Parts Discussed in Thread: ADS1255
Hi,
I am facing of output continuously varying of ads1255. I have posted my initialisation function please tell whether it is correct or there are issues of timing.
void init_adc1255(void)
{
select_slave();
spi_write_byte(0x00); //wakeup
release_slave();
_delay_us(100);
select_slave();
spi_write_byte(0x0F); //stop continuous reading
release_slave();
_delay_us(1000);
select_slave();
spi_write_byte(0xFE); //reset
release_slave();
while(bit_is_set(PIND,0));
write_reg(IO,0x0,0x30); //write gpio register
_delay_ms(10);
write_reg(DRATE,0x0,0x03); //drate
_delay_ms(10);
write_reg(ADCON,0x0,0x07); //adcon
_delay_ms(10);
write_reg(MUX,0x0,0x01); //mux
_delay_ms(10);
write_reg(STATUS,0x0,0x06); //status
_delay_ms(10);
}