Всех приветствую. У кого получилось оживить TRC102 помогите... Замучался уже с ним.
При передаче пишу байты по SPI, 1й - 0хВ8 2й - 0хАА
3й - 0хАА, 4й 0х2D 5й- D4, потом 2 байта данных и в конйе 0х00
после того как передал адрес В8 и 0хАА жду пока SDO чтанет = 1. А оно нестановится. немогу понять в чем беда.
Код:
unsigned int RX (unsigned int cmd) {
unsigned char i;
unsigned int temp;
SCK=0;
nCS=0;
delay_us (2);
for (i=16;i›0;i--) {
temp‹‹=1;
if (SDO){temp|=0x0001;};
SCK=0;
delay_us (1);
if (cmd & 0x8000) {SDI=1;} else {SDI=0;};
SCK=1;
cmd‹‹=1;
delay_us (1);
};
delay_us (2);
SCK=0;
nCS=1;
return temp;
}
void RF_send (unsigned char sen){
SCK=0;
for (i=0;i‹8;i--) {
SCK=0;
delay_us (1);
if (sen & 0x80) {SDI=1;} else {SDI=0;};
delay_us (1);
SCK=1;
sen‹‹=1;
delay_us (2);
};
SCK=0;
}
void main (void)......
nFsel=0;
delay_ms (2);
RX (0x80D7);
delay_ms (2);
RX (0xA5F0);
delay_ms (2);
RX (0xC000);
delay_ms (2);
RX (0x825
;
delay_ms (2);
RX (0xC623);
delay_ms (2);
RX (0xCA81);
delay_ms (2);
RX (0x9850);
delay_ms (2);
RX (0xC483);
delay_ms (2);
RX (0x9680);
delay_ms (2);
RX (0xC22C);
delay_ms (2);
RX (0xE196);
delay_ms (2);
RX (0xC80E);
delay_ms (2);
nFsel=1;
while (1)
{
nFsel=1;
nCS=0;
delay_us (1);
RF_send (0xB
;
RF_send (0xAA);
while (!SDO);
RF_send (0xAA);
while (!SDO);
RF_send (0x2D);
while (!SDO);
RF_send (0xD4);
while (!SDO);
RF_send (85);
while (!SDO);
RF_send (127);
while (!SDO);
RF_send (90);
while (!SDO);
RF_send (0X00);
nFsel=0;
nCS=1;
};//while (1)