CODE
SPI1_CS_Set(LOW);
SPI1_DR = 0x008F;
while (!(SPI1_SR & (1<<1)));
SPI1_CS_Set(HIGH);
USART1_SendByte(SPI1_DR>>8);
...получаю вразумительный ответ 0xD4. Теперь читаю CTRL_REG1 (20h), ответ 0x07. Записываю в него 0x1F...
Код
SPI1_CS_Set(LOW);
SPI1_DR = 0x0F20;
while (!(SPI1_SR & (1<<1)));
SPI1_CS_Set(HIGH);
SPI1_DR = 0x0F20;
while (!(SPI1_SR & (1<<1)));
SPI1_CS_Set(HIGH);
И заново читаю (20h), чтобы проверить, но SPI1_DR пуст!!!... не смотря на это анализатор показывает что акселерометр ответил верно...
Нажмите для просмотра прикрепленного файла
Считать регистр акселерометра получается только со второго раза... Почему так??? Что я упускаю???