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

 
 
> Работа таймера TMR1 в PIC16
loghir
сообщение Apr 28 2011, 02:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 13-03-11
Пользователь №: 63 577



Доброго времени суток!
Сохраняется ли предзагрузка таймера более одного цикла работы? После первого переполнения или сброса модулем CCP?

Сообщение отредактировал loghir - Apr 28 2011, 02:26
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
xemul
сообщение Apr 28 2011, 09:47
Сообщение #2



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Позволю себе дополнить предыдущего оратора.
Если используется прескейлер, то, т.к. он обнуляется при записи в TMR, через раз можно (если таки боремся за точность) накидывать ещё единичку
Код
TMR1 += VALUE + DELTA + 1

Результат компиляции
Код
TMR1 += VALUE + DELTA
TMR1 = TMR1 + VALUE + DELTA

может отличаться, если VALUE и/или DELTA не константы, с которыми справился препроцессор.
(точнее было бы написать "должен отличаться", но писс, н-р, по-любому оптимизирует до
Код
TMR1 += VALUE + DELTA

, а потом может сделать так
Код
TMR1 += (VALUE + DELTA)

или так
Код
TMR1 += VALUE
TMR1 += DELTA
)
А если вдруг VALUE и/или DELTA окажутся volatile, то для получения однозначного результата проще оформить такой кусок ассемблерной вставкой.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- loghir   Работа таймера TMR1 в PIC16   Apr 28 2011, 02:25
- - Ruslan1   Цитата(loghir @ Apr 28 2011, 05:25) Добро...   Apr 28 2011, 07:03
|- - Ruslan1   ......Но если хочется совсем-совсем точно, то нужн...   Apr 28 2011, 09:57
|- - ar__systems   Цитата(Ruslan1 @ Apr 28 2011, 04:57) .......   Apr 28 2011, 13:21
- - loghir   Спасибо за неожиданно информативный ответ! Нас...   Apr 28 2011, 18:24
|- - Ruslan1   Цитата(loghir @ Apr 28 2011, 21:24) Спаси...   Apr 28 2011, 19:48
- - VVD_2   Цитата(loghir @ Apr 28 2011, 05:25) Добро...   May 15 2011, 12:47
- - loghir   Все ли у меня в порядке с настройками таймера? Код...   May 17 2011, 09:56
- - sargein   PEIE забыли. Ну и в тексте программы где-то дальше...   May 17 2011, 10:05
- - loghir   sarqein спасибо! Добавлю в настройку КодPEIE =...   May 17 2011, 11:34
- - loghir   Нигде не нашел данных: при Fosk/4 = 1 Mhz (при TMR...   May 17 2011, 13:17
- - sargein   Правильно, оно же все делением получается хорошо, ...   May 17 2011, 14:08
- - loghir   Таймер упорно не работает: (счет не начинается) Ко...   May 23 2011, 09:33
|- - xemul   Цитата(loghir @ May 23 2011, 13:33) Код.....   May 23 2011, 10:10
- - loghir   Запускаем таймер низким на RA0: Кодif (RA0 == ...   May 23 2011, 10:34
- - sargein   тоже не понял про прерывания, где interrupt isr()?...   May 23 2011, 10:47
- - loghir   Цитатагде interrupt isr() пока стараюсь далать мак...   May 23 2011, 11:35
- - xemul   Цитата(sargein @ May 23 2011, 14:47) тоже...   May 23 2011, 12:31
- - loghir   ЦитатаВы продолжаете не понимать, что такое прерыв...   May 23 2011, 14:22
|- - xemul   Цитата(loghir @ May 23 2011, 18:22) Ну по...   May 23 2011, 17:30
- - loghir   Цитата(sargein @ May 23 2011, 13:47) тоже...   May 31 2011, 08:31


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 18:14
Рейтинг@Mail.ru


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