На руках имеется некий трансмиттер нанопар3561 который общается с контроллером по SPI. У него по адресу 0х01 лежит идентификатор встроенного контроллера.
Формат протокола следующий:
<instruction><address><data>
<instruction> - 0x81 - запись одного байта
<instruction> - 0х01 - чтение одного байта
Как я понимаю:
unsigned char nano_data_trans[]=
{
0x01, 0x01
};
char i;
char pin;
char len_nano_data = sizeof(nano_data_trans) / sizeof(nano_data_trans[0]);
void int0_isr(void)
{
spi_init();
for ( i=0; i<len_nano_data; i++)
{
SPDR = nano_data_trans[i];
while (!(SPSR & (1<<SPIF)));
}
pin = SPDR;
}
после отправки инструкции и адреса переменная "pin" должна содержать искомый ответ, но второй конец этой палки заключается в клоках контроллера: их всего два на каждый передаваемый байт, где взять третий для привязки ответа?