Boryan_R писал(а):Коррекция давления: первые 2 байта EEPROM = норм давление для местности, следующие 2 байта = коррекция показаний датчика (+1мм = "0A 00" или - 1мм "F6 FF")
Можно это как то пояснить более понятно. Что значит первые два байта? Что там должно быть? Например давление 752мм что дальше? Перевести это десятичное значение в шестнадцатиричное и записать в еепром? Или часы сами пишут туда значение давления считанное с датчика? Затем непонятно со следующими двумя байтами коррекции показаний. что делать с ними? Если первые два байта в еепром это записанное давление с датчика и оно отличается от реального например на 2мм выше, то в байты коррекции я должен записать что? Какое значение? У вас даны только два значения для + и - 1 мм. А как быть если разница больше?
Код инициализации еепром убран, поэтому нужно обязательно прошивать EEPROM.
Эти два параметра только для чтения и не изменяются в дальнейшем, т.е. первый параметр (первые два байта) это нормально атм. давления для текущей местности - т.е. фраза "выше нормы на ХХ мм." рассчитывается от этого параметра, второй - коррекция датчика давления в мм. рт. столба помноженное на 10 (для каждого датчика свое) данное число просто суммируется с измеренным (если отрицательное то вычитается), из практики обычно датчики BMP180 из одной партии могут выдавать значения с разницей 1-2 мм
По умолчанию в поставляемом файле EEPROM, первые два байта "F2 02" что соответствует 754 (2F2 hex) мм. и коррекция равна 0 (00 00)
В последующих прошивках будет значение помноженное на 10, т.е. 7540
Если для Вашей местности нормальное атм. давление 752 (2F0 hex) - то меняете первый параметр на F0 02 (по всем правилам, сначала младший, а потом старший байты)
Если у Вас показывает давление выше на 2,5мм - то нужно записать "-25" (E7 FF)