реклама на сайте
подробности

 
 
> Датчик температуры DS18B20 и прерывания
k000858
сообщение Jul 16 2013, 06:08
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Работа с датчиком основывается на точных задержках при маханиях ножкой (1wire). В больших проектах, где используется много прерываний, точные задержки могут растягиваться (по скольку во время выполнения задержек срабатывают прерывания, да не по одной штуки и тд). В результате показания с датчика могут сниматься некорректные. Как вы с этим боритесь? Запрещать прерывания на время выполнения задержек не вариант т.к. могут быть пропуски прерываний.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sidy
сообщение Jul 16 2013, 17:05
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 280
Регистрация: 2-11-08
Пользователь №: 41 333



У меня вопрос близкий к данной теме, по таймерам STM32. Есть один низкочастотный таймер в котором укладывается 100 полных повторений высокочастотного таймера. По переполнению НЧ таймер останавливается, и производятся некоторые расчеты, а ВЧ таймер прожолжает считать. Записав значение счетного регистра ВЧ таймера сразу после прерывания и после окончания расчетов в переменные я хочу вычислить дельту и компенсировать оставание НЧ таймера перед его повторным запуском. Если это произошло в одном периоде ВЧ таймера, то дельту считать легко, но если это произощло в разных периодах, как показано на рис.,

Прикрепленное изображение

то не понятно как вычислить время между событием 1 и 2.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jul 16 2013, 18:24
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(sidy @ Jul 16 2013, 21:05) *
У меня вопрос близкий к данной теме, по таймерам STM32. Есть один низкочастотный таймер в котором укладывается 100 полных повторений высокочастотного таймера. По переполнению НЧ таймер останавливается, и производятся некоторые расчеты, а ВЧ таймер прожолжает считать. Записав значение счетного регистра ВЧ таймера сразу после прерывания и после окончания расчетов в переменные я хочу вычислить дельту и компенсировать оставание НЧ таймера перед его повторным запуском. Если это произошло в одном периоде ВЧ таймера, то дельту считать легко, но если это произощло в разных периодах, как показано на рис.,

Прикрепленное изображение

то не понятно как вычислить время между событием 1 и 2.


Ох ох ох. То что вы спрашиваете совсем не по теме, и надо куда то в раздел к новичкам.
Зачем останавливать таймер? пусть сбросится и тикает заново, никакой задержки не появится. Таймер тикает есть не просит.

Если же делать все несколько "ИНАЧЕ" как вы хотите, то все просто
Т1 - время 1 события
Т2 - время 2 события

если Т2 меньше Т1 - условия что было переполнение таймера
ДТ = Таймер Макс - Т1 + Т2 = 0xFFFF - T1 + T2.


но это слишком элементарно и не отсюда, простите...

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- k000858   Датчик температуры DS18B20 и прерывания   Jul 16 2013, 06:08
- - 1113   вешать 1-wire на какой-то апаратный интерфейс, нек...   Jul 16 2013, 06:13
|- - firew0rker   Цитата(1113 @ Jul 16 2013, 13:13) вешать ...   Jul 16 2013, 07:34
- - k000858   я так понимаю, временные задержки интерфейс соблюд...   Jul 16 2013, 07:45
|- - 1113   Цитата(k000858 @ Jul 16 2013, 10:45) я та...   Jul 16 2013, 07:50
- - VAI   Вот тут я выкладывал исходники для работы с нескол...   Jul 16 2013, 08:07
|- - k000858   Цитата(VAI @ Jul 16 2013, 11:07) Вот тут ...   Jul 16 2013, 08:13
||- - VAI   Цитата(k000858 @ Jul 16 2013, 12:13) Исхо...   Jul 16 2013, 08:36
||- - adnega   Цитата(VAI @ Jul 16 2013, 12:36) Для тайм...   Jul 16 2013, 08:50
||- - k000858   Цитата(adnega @ Jul 16 2013, 11:50) Для S...   Jul 17 2013, 02:44
||- - adnega   Цитата(k000858 @ Jul 17 2013, 06:44) здор...   Jul 17 2013, 06:09
||- - k000858   Цитата(adnega @ Jul 17 2013, 09:09) Единс...   Jul 17 2013, 06:17
|- - firew0rker   Цитата(VAI @ Jul 16 2013, 15:07) Вот тут ...   Jul 16 2013, 15:25
- - Golikov A.   а можно ЦПЛД махонькую воткнуть чтобы она все соби...   Jul 16 2013, 08:11
- - VAI   Точка соединения R77, R74 - это питание.   Jul 16 2013, 16:45
|- - firew0rker   Цитата(VAI @ Jul 16 2013, 23:45) Точка со...   Jul 16 2013, 17:07
|- - VAI   Цитата(firew0rker @ Jul 16 2013, 21:07) О...   Jul 16 2013, 17:18
|- - firew0rker   Цитата(VAI @ Jul 17 2013, 00:18) В данном...   Jul 16 2013, 23:59
- - toweroff   Я использовал SSP (то, что от аппаратного осталось...   Jul 16 2013, 22:52


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 21:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01338 секунд с 7
ELECTRONIX ©2004-2016