народ, помогите, сделайте скидку нубу, не хочет у меня cc1100 сносно работать (
скажите, что не так в инициализации и сбросе??? каждую проверку одних и тех же регистров выдаёт разные значения, про то что о приёме передаче мечтаю объяснять не буду (
Код
unsigned int temp = 0x80;
void rw_spi()
{
SPDR = spi_out;
while (!(SPSR & temp));
spi_in = SPDR;
}
void write_reg(int spi_out1, int spi_out)
{
rw_spi();
spi_out = spi_out1;
rw_spi();
status = spi_in;
}
void reset_cc1100()
{
SCK_HI();
MOSI_LO();
CS_ACTIVE();
for(i = 0; i < 8; i++);
CS_INACTIVE();
for(i = 0; i < 321; i++);
CS_ACTIVE();
while( TESTBIT( PINB, MISO ) );
SPDR = CC1100_SRES;
CS_INACTIVE();
}
void init_cc1100()
{
reset_cc1100();
write_settings();
write_patable();
spi_out = CC1100_SIDLE;
write_strob();
spi_out = CC1100_SFRX;
write_strob();
spi_out = CC1100_SFTX;
write_strob();
}
Сори, если кого достал, сам замучался (((
Сообщение отредактировал stellar - Oct 9 2006, 22:05