Борюсь с майферовм подключенным по spi. Когда отлаживал по параллельному интерфейсу, проблем не было. Как распаял по spi не могу завести. Вроде регистры читает пишет. Но с выхода на антену ничего не выходит. Правильно я понял, что адрес сдвигаем влево на 1 и в зависимости от чтения записи старший бит выставляем/очищаем?
<code>
void WriteRawRC(unsigned char addr, unsigned char value)
{
PCD_NSS_ON();
SPI_Write_Byte(addr<<1);
SPI_Write_Byte(value);
PCD_NSS_OFF();
}
unsigned char ReadRawRC(unsigned char addr)
{
unsigned char tmp8;
PCD_NSS_ON();
SPI_Write_Byte((addr<<1)|0x80);
tmp8 = SPI_Read_Byte();
PCD_NSS_OFF();
return (tmp8);
}
</code>