Перейти к содержанию
    

Поковырялся ещё немного - нашёл небольшую ошибочку - давала +1 к значению давления (rjmp - забыл) теперь всё работает , как надо.

 

LexsLavrov..нужное оптимизировал - получилось 13 кило.

Это , как-то очень много!! У меня в 164-ой всего занято на данный момент 28% FLASH - это с обработкой DS1337, DS18B20(через USART) ,DS1621,BMP085,LCD , датчиком освящённости, кнопкамии и подпрограммой МЕНЮ

BMP085.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык я и не претендую на мало :). Вообще там еще много чего можно хорошенько оптимизировать, но все лень как-то. Кстати текущая версия все равно получилась глючной - непредсказуемо перестает реагировать на запросы с компьютера и иногда делает ошибки в вычислениях. Иногда все вроде работает, но гаснет LCD. Надо копать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык я и не претендую на мало :). Вообще там еще много чего можно хорошенько оптимизировать, но все лень как-то. Кстати текущая версия все равно получилась глючной - непредсказуемо перестает реагировать на запросы с компьютера и иногда делает ошибки в вычислениях. Иногда все вроде работает, но гаснет LCD. Надо копать...

Да и я убил на глюк BMP ~ 2 месяца , потом плюнул и ещё месяц им не занимался, а ошибка заключалась - вместо LSR в формуле для X3 X3=((X1+X2)+2)/2^2

надо было ставить ASR

И кстати ещё одна опечатка в DS BOSH

X1=AC3*B6/2^13

Эту формулу можно начинать считать с конца т.к. умножение и деление в "правах" равны, но при делении B6 на 2^13 от B6 останется 0х00

Поэтому вот так X1=(AC3*B6)/2^13

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, Боши со скобками сурово обошлись, это точно.

Но я так формулы не записываю в принципе. Я пишу так:

x1 = ac3 * b6

x1 = x1 / 2^13

И все везде записано только так. Ибо нефиг компилятору думать.

А в конце - долго и нудно переводим в десятичную систему и заодно добавляем... сколько там до кода символа с цифрой? 30? или 0х30? :) И складываем это в кучку переменных типа char, а потом сразу из этой области памяти - на экран, да в цикле...

Вот мож потому и много кода. Но зато он понятен. Вобщем сама-то последовательность вычислений вообще тривиальна, а вот подпрограммы деления/умножения - те посложнее, особливо для меня. Я математикой вообще крайне мало занимаюсь - у меня в основном ченить по-тупее :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:biggrin: На asm вообще что-то указать компилятору достаточно сложно, ибо ручками сам раскладываешь все формулы на части и задаешь последовательность действий самим кодом.

....а вот подпрограммы деления/умножения - те посложнее....

Они есть стандартные в application от ATMEL, мне не понравилось только деление , поэтому написал свой алгоритм деления - исходя из простого деления в "столбик"

...да в цикле...

А зачем в цикле, индикатор же запоминает переданный ему символ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня графдисплей, так что символов он не мыслит - только кучки пикселей :).

А в цикле - в цикле ставится начальный адрес памяти, из него грузится код символа (цифры), вызывается подпрограмма, которая выплевывает на дисплей кучку пикселов, которая соответствует коду символа, а потом указатель памяти +1. Цикл выполняется до тех пор, пока известное количество символов не будет выведено на экран. Т.е. это мелкий цикл локального значения. И выполняется он раз в 11.25 минут :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выгреб еще кучку глюков. Самый убойный - это в одном месте поставлена не метка перехода, а оставлен адрес который вписал компилятор. Самые веселые - это то что при считывании данных с датчика в память они переносились очень забавно :). Самое веселое из веселого это то что крайние байты давления пишутся верно, а средний - почему-то заменялся каким-то постоянным значением. Очень весело: давление при повышении температуры рисует "пилу".

После выпиливания глюков все... как-то подозрительно даже... заработало... И даже связь с компом 6 часов подряд не отваливалась при опросе раз в 5 минут. Также проводились короткие сеансы с опросом раз в две секунды - тоже работает.

 

Кстати перелопатил в лаборатории склад - нашел барометр. Никто не подскажет что за тип? (Корпус был снят для выяснения внутреннего устройства :) )

post-65588-1312379940_thumb.jpg

post-65588-1312379949_thumb.jpg

Изменено пользователем LexsLavrov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет!

 

Не он ли , их ещё и продают и целые торги устраивают

 

http://www.24au.ru/Details.aspx?LotID=10248 :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Он-то он :) только хотелось каких-то марок, типов, инструкций и описаний, но видно не судьба :) Ихотелось это потому что будучи извлеченным из коробки он показывал ну совсем не то... Там есть регулировки - под одну из них дырка в корпусе. Эта регулировка аналогична просто повороту шкалы - она просто блок анероидных коробок двигает туда-сюда. Она помогла. А вторая... может она и не регулировка вовсе...

Кстати, если это аналог БАММ-1, то рабочее положение прибора - только лёжа, циферблатом вверх.

Еще забавно что поступательное движение рыгача преобразуется во вращательное стрелки с помощью... ЦЕПИ!!! Такая цепь как велосипедная, но только в масштабах 1/2 миллиметра - наматывается/разматывается на подпружиненный ролик, который на оси стрелки. Из-за этого наверное он не требует постукивания перед считыванием показаний.

 

А прошивка-то работает :). Целую ночь выстояла, не глюкнуло ни в самом устройстве, ни связь с компом не отвалилась :).

Еще задумался - наверное диапазон графика 986 - 1041 мБар - это многовато? При условии что юзается на уровне моря почти. Ато как-то скучно наблюдать абсолютно ровный график. Надо наверное погодные экстремумы для Питера порыть :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А прошивка-то работает :). Целую ночь выстояла, не глюкнуло ни в самом устройстве, ни связь с компом не отвалилась :).

Еще задумался - наверное диапазон графика 986 - 1041 мБар - это многовато? При условии что юзается на уровне моря почти. Ато как-то скучно наблюдать абсолютно ровный график. Надо наверное погодные экстремумы для Питера порыть :)

http://www.meteoinfo.ru/pogoda/russia/leningrad-region

А почему в барах меришь , а не в мм.рт.ст.

Я ураган в Москве "отловил" раньше чем гидрометцентр России , теперь по графику падения давления , пытаюсь сделать систему предупреждения - чтоб "вопила" - счас буде пипец

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

http://www.pitermeteo.ru/archive.php лучше - сразу скачивается xls, а там на разных вкладках - месяцы. Несколько измерений в день. На картинке график давления за прошлый год, Питер.

Кстати - обратил внимания что рекорды активно ведутся для обзепонятных величин: температура, осадки, скорость ветра. А для давления - как-то не ведутся совсем. А влажность вообще мало кого интересует :)

 

Миллибары... да как-то удобнее т.к. барометр в часах (Casio Pro Trek) и этот анероид - они в миллибарах. А пересчитать недолго. Вообще самые извратные единицы это PSI и дюймы ртутного столба :)

 

Да, про грозы/ураганы - я давно уже заметил что даже на Casio с их одним измерением в 2 часа это хорошо бывает видно. А если мерять раз в 5-10 минут - то эффективность должна только возрасти. Хотя в инете бытует мнение что если внатуре пипец, то такая система даст только минут 10-15 на то чтобы спрятиться/приготовиться к смерти :)

post-65588-1312459493_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то давление у Вас сегодня какое-то "бешенное" атм. давление: 762 мм.рт.ст. Ведь , через 2 дня у нас

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то давление у Вас сегодня какое-то "бешенное"

Если вы о картинке - то это за прошлый ГОД

Если о цифре - то 762 мм.рт.ст. (кстати в пользу мБар - миллибары пишутся короче ;) ) то ничего бешенного не вижу в ней. И не меняется особо.

 

Ведь , через 2 дня у нас

Фраза не закончена?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы о картинке - то это за прошлый ГОД

Если о цифре - то 762 мм.рт.ст. (кстати в пользу мБар - миллибары пишутся короче ;) ) то ничего бешенного не вижу в ней. И не меняется особо.

Очень повышенное - это не нормальное давление

Фраза не закончена?

Закончена. Погоду в Москве можно узнавать по Вашей - 2-3 дня разницы- это преимущественное направление , всех циклонов и антициклонов приходящих к нам

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Э-э-э... Нормальное давление на уровне моря это 760 мм.рт.ст. на уровне моря. 762 мм.рт.ст. это нормальное +2. Всего лишь. Это при том что у меня барометр стоит на втором этаже дома, который на набережной т.е. ну метров 10 - это минус 2 мБар. Так что повышенное - может быть, но бешенное - ни разу.

Вот когда в прошлом январе было 1049 мБар (786 мм.рт.ст) - вот это бешеное!!!

 

Закончена. Погоду в Москве можно узнавать по Вашей - 2-3 дня разницы- это преимущественное направление , всех циклонов и антициклонов приходящих к нам

Я так и подумал :) но вы уж сильно на буквы пожалничали :)

 

Вчера собрал второй такой же барометр, залил прошивку. Показывает примерно на 0.8 мБар больше чем первый. В инструкции было сказано что может быть погрешность из-за напряжений, оставшихся в кристалле после пайки. Не соврали. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...