откройте код библиотеки и посмотрите. Эта задержка всегда одна и та же. Величина 255 там и близко не стояла, откуда вы ее взяли??
Нет, она разная в случает температуры и давления (у давления еще и градация). Сам посмотри. Я скриншот выше приводил.
Допускается, если делать это умеючи. Евгений как-то обьяснял, попросите у него ссылку.
Но если не понимаете - лучше Сериал в прерываниях не пользоваться, программа зависнет. Тип прерываний не имеет значения.
Мне BOOM показывал. А сейчас я её убрал из скетча. И без задержки работает.
Я ее взял из масимально возможного значения переменной типа char.
В здравом уме никто так не делает.
Спасибо.
Но это не означает, что будет работать при другом атмосферном давлении, другой температуре и тп. Эти задержки нужны для ГАРАНТИРОВАННОГО получения данных. Они составляют миллисекунды и особо ни на что не влияют.
У ТС был вопрос про температуру. В случае температуры всегда одинаковая
Их тут уже с полсотни ))
упсс… развлекайтесь
(С) Каролкофилмс (помнишь думаю такую киностудию)
Я уже развлекся:
Просто мне мешает delay
. Я хочу поместить запрос BMP180 в обработку прерывания по таймеру. Так как задержка действительно нужна, то я попытаюсь реализовать ее другим методом.
Это исключительно неверное решение. Так никто не делает. В обработчик прерывания не помещают длящиеся действия, особенно если они длятся миллисекунды (что очень много по меркам микроконтроллера).
Вместо помещения опроса датчика в прерывание у вас есть два более правильных варианта:
-
Вы можете инициировать в прерывании начало чтения датчика, выставить флаг, после чего передать эту задачу основной программе.
-
Другой вариант - вы можете инициировать чтение датчика в одном прерывании, потом выйти из него, отсчитать по таймеру нужную задержку и закончить чтение датчика в другом прерывании
имейте в виду, что миллис внутри прерывания тоже не работает, так что замена делей на миллис вам ничего не даст
Не согласен. Даст, как минимум еще 5-8 новых тем на форуме…
Спасибо. Но я так не собираюсь делать.
Засада в том, что при обработке прерывания loop приостановлен.
на то оно и “прерывание” чтобы “прерывать” работу луп
Не понятно правда, чем это вам мешает.
Хотя… попробую догадаться - вы хотели бы запустить прерывание и ждать, пока счетчик миллис в loop не отсчитает нужную задержку?
Хотел тогда, когда писсал #99. Теперь расхотелось.
Теперь задумался над Вашим #96. Вопреки ожиданиям BOOM, новую тему открывать пока не буду. BOOM cущественно мне помог вчера.