Добрый. Не получается передавать данные. (Нужна только передача) Вот обмен и код передачи.
Вроде все верно, цифровой интерфейс норм. Осциллографом смотрел - норм. Но не передает. Микросхему сдувал и менял на новую, питание везде ном, земля норм.
Может что заметите. Спасибо!
INT08U Transmit_Package_CC1101( char * f, INT08U Len) {
int i;
INT08U marcState,res=0;
CLR_CS();
timer1 = 10;
while (TEST_PORT_BIT(MISO_PIN,MISO_BIT)) {
if (timer1<=0)
return 0;
}
rw_spi(TXFIFO_B);
rw_spi(Len);
for ( i=0; i<Len; i++)
rw_spi( f[i] );
SET_CS();
write_strobe(STX);
marcState = read_reg(MARCSTATE) & 0x1F;
if((marcState != 0x13) && (marcState != 0x14) && (marcState != 0x15)) {
sidle(); // Enter IDLE state
write_strobe(SFTX); // Flush Tx FIFO
write_strobe(SRX);
return 0;
}
timer1 = 10;
while ( !TEST_PORT_BIT(GDO0_PIN,GDO0_BIT) ) {
if (timer1<=0)
return 0;
}
timer1 = 10;
while ( TEST_PORT_BIT(GDO0_PIN,GDO0_BIT) ) {
if (timer1<=0)
return 0;
}
if( (read_reg(TXBYTES) & 0x7F)==0)
res = 1;
return res;
}