Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: demanik 
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Странное поведение таймера...
Странное поведение таймера...
Klim Дата: Ср, 28.12.2011, 17:30  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 80
Репутация: 0   ±
Замечания:   ±
На сайте с 21.12.2009

Статус: Offline

Включил 2 таймера.
TMR0 настроен на частоту срабатывания 100 герц
TMR1 настроен на частоту срабатывания 1000 герц
Создал 2 переменных
Каждое срабатывание таймера инкременирую переменные, которые в основной программе выводятся на ЖКИ.
А вот теперь вопрос - почему так медленно срабатывают таймеры. И вроде как TMR0 должен срабатывать реже в 10 раз, чем TMR1? А наглядная картина выглядит совсем иначе...
Прикрепления: Comparator.dsn(83Kb) · Comparator.bas(6Kb) · COMPARATOR.hex(2Kb)
ЯНДЕКС Дата: 28.12.2011
ivan_fd Дата: Ср, 28.12.2011, 19:16  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Специалист
Сообщений: 911
Репутация: 50   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

В прерывании нужно также выставлять значение таймера, иначе в следующий раз он будет считать от 0 до 255.

Меня все время преследуют умные мысли...но я быстрее!!!
Сообщение отредактировал ivan_fd - Ср, 28.12.2011, 19:17
Klim Дата: Ср, 28.12.2011, 22:34  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 80
Репутация: 0   ±
Замечания:   ±
На сайте с 21.12.2009

Статус: Offline

А можно код подправить, чтоб было понятнее.
Сообщение отредактировал Klim - Ср, 28.12.2011, 22:34
retas Дата: Чт, 29.12.2011, 00:35  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 462
Репутация: 10   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

ivan_fd наверное предлогал зделать так

'-------------------------- Прерывания--------------------------

Int_Label:
Context Save '
If T0IF = 1 Then
Inc Schet2
T0IF = 0
TMR0 = $64
EndIf

If TMR1IF = 1 Then
Inc Schet1
TMR1IF = 0
TMR1L = $E7
TMR1H = $FF
EndIf
Context Restore ' Возврат из обработчика прерывания


Новый подход к питанию потребителей переменного тока: http://ekolaif.ucoz.ru
ivan_fd Дата: Чт, 29.12.2011, 00:40  |                                                                                                                Сообщение # 5
Группа: Модераторы
Ранг:  Специалист
Сообщений: 911
Репутация: 50   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

retas

Именно так. biggrin wink


Меня все время преследуют умные мысли...но я быстрее!!!
Сообщение отредактировал ivan_fd - Чт, 29.12.2011, 00:40
Klim Дата: Чт, 29.12.2011, 09:48  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 80
Репутация: 0   ±
Замечания:   ±
На сайте с 21.12.2009

Статус: Offline

Спасибо, помогло.
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Странное поведение таймера...
Страница 1 из 11
Поиск: