На руках имеется некий трансмиттер нанопар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" должна содержать искомый ответ, но второй конец этой палки заключается в клоках контроллера: их всего два на каждый передаваемый байт, где взять третий для привязки ответа?
|