Здравструйте. На плате есть два датчика: L3G4200 и LSM303. Схема подключения взята из документаций на эти датчики. Датчики подключенны к PIC18. Интерфейс обмена i2c. Реализован программно. Скорость менял от 30 кбис/с до 400 кбит/с. Настройки датчика:
Write_byte(CTRL_REG4,0x80); Write_byte(CTRL_REG3,0x08); Write_byte(CTRL_REG2,0x06); Write_byte(CTRL_REG1,0x0F);
Данные считываю блоком начиная с адреса STATUS_REG: GetI2C(STATUS_REG|0x80); Данные считываются. Регистр WHO_AM_I так же читается, т.е. i2c работает.
Проблема в том, что в данных, считанных из датчика наблюдаются большие выбросы, хотя он неподвижен. В чём может быть проблема?
|