Duhas писал(а):а КАК?! можно проустить прерывание ? О_о
Не знаю. Факт в том, что день работает, день не работает
При этом если просто читать регистры, то все ОК, а если ждать прерывание, то оно не наступает.
Добавлено спустя 1 час 14 минут 28 секунд:Не, все не так
Решил почитать, что там в регистрах
Флаг прерывания в регистре CTRL_REG3 не устанавливается. Т.е. в регистр пишем, а он пустой.
Народ, а проверьте кто-нить, пишется ли у вас регистр L3GD20_CTRL_REG3_ADDR (0x22) ???
L3GD20_Write(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);
L3GD20_Write(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);
L3GD20_Write(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);
L3GD20_Write(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);
L3GD20_Write(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1); // <- tmreg = 0x08
L3GD20_Read(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1); // <- tmpreg = 0x00
L3GD20_Read(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);
L3GD20_Read(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);
Добавлено спустя 26 минут 6 секунд:Похоже скорость SPI была очень высокая
И что-то там тихонечко сбоило. Баз палева так. В одном месте.
Добавлено спустя 16 минут 39 секунд:Чо-то я сильно этими выкрутасами расстроен. Думал уже непропай на плате, хотел паяльником лезть.
Ну не можешь ты прочитать/записать - ну ты скажи! Нет, схавал распоряжение, в шредер его по-тихому и сидит лыбится.
Добавлено спустя 1 час 36 минут 41 секунду:Блин, не устанавливается бит включения прерывания и все, хоть убейся. Другие регистры пишутся ОК, а этот - нет.