Не работают у таймеров TMR0 и TMR1 старшие байты pic18
|
|
dimitriy-bc |
Дата: Вт, 27.01.2015, 00:48 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
150
Замечания:
±
На сайте с 19.03.2012
Статус:
Offline
|
Всем доброго времени суток. В принципе проблему описал в названии темы. Нужно использовать TMR0 как счетчик. Но отрабатывает только младший байт TMR0L, старший TMR0Н стоит в нолях без изменений. Попробовал подключить TMR1 результат тот же. Пробовал на разных компьютерах с ХР и винда 7. с разными Протонами. Скорее всего где-то что-то не прочел. Хотя как мне кажется старался.
Прикрепления:
MD.rar
(54.6 Kb)
Сообщение отредактировал
dimitriy-bc - Вт, 27.01.2015, 00:50
|
|
|
|
DAlexV |
Дата: Вт, 27.01.2015, 09:43 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Регистр T0CON.6 режим 8 (16 бит ) . 1-8бит, 0-16бит. T0CONbits_T08BIT = 0 Dim wTimer0 As TMR0H Word Вроде так. И в коде не увидел настройки таймера и прерывание по переполнению. А нужно бы. Удачи
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
anatol |
Дата: Вт, 27.01.2015, 11:03 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Изменил в высоких прерываниях ....... wTimer_0 = wTimer0 wTimer0 = 0 ....... проще - переменная у вас обнулялась, а потом считывалась. И дополнительно при выводе на индикатор десятичного числа нет необходимости ограничивать 5 десятичными знаками, ведь переменная у вас Word (что равно 65535) т.е. 5 знаков. Достаточно просто Dec wTimer_0 вместо
Dec5 wTimer_0
Сообщение отредактировал
anatol - Вт, 27.01.2015, 11:05
|
|
|
|
dimitriy-bc |
Дата: Вт, 27.01.2015, 12:43 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
150
Замечания:
±
На сайте с 19.03.2012
Статус:
Offline
|
DAlexV, anatol, спасибо за ответы. DAlexV, вроде сделал все как Вы рекомендовали, но сдвигов ноль. anatol, у меня отказывается работать TMR0 и TMR1 в 16ти битовом варианте для pic18F452. Работает только как 8ми битовый. Запись в него и считывание проходит нормально, а в прерывание улетает после переполнения младшего байта. Попробовал TMR1 для pic16F874A, все нормально. Кому не в лом прогоните у себя, может не с тем мучаюсь.
|
|
|
|
ivan_fd |
Дата: Вт, 27.01.2015, 13:16 | Сообщение # 5 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
dimitriy-bc, все работает как надо, Вы просто не внимательно читали даташит.
|
|
|
|
DAlexV |
Дата: Вт, 27.01.2015, 16:18 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Цитата ivan_fd ( ) dimitriy-bc, все работает как надо +1. Перепроверил сейчас в протеусе. Все правильно, пишет, читается, сбрасывается. Что смущает ???? Если то что в Watch Windows не отображается TMR0H ????. Все верно. Для реального просмотра состояния таймера нужно добавить немного другой регистр. Называется Internal Timer0. Находиться в PIC18 CPU Internal Model Data.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
dimitriy-bc |
Дата: Вт, 27.01.2015, 16:20 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
150
Замечания:
±
На сайте с 19.03.2012
Статус:
Offline
|
ivan_fd, читаю я внимательно. Вот еще бы одразу понимать, что прочитал, мне бы цены не было в базарный день. Спасибо. DAlexV, спасибо. Скачал, буду смотреть.
Сообщение отредактировал
dimitriy-bc - Вт, 27.01.2015, 16:31
|
|
|
|
dimitriy-bc |
Дата: Чт, 19.02.2015, 17:33 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
150
Замечания:
±
На сайте с 19.03.2012
Статус:
Offline
|
И еще раз здравствуйте. Видать опять что-то не дочитал. Не получается вписать значение полученное таймером в переменную. Младший байт вписывается, а старший нет.
Сообщение отредактировал
dimitriy-bc - Чт, 19.02.2015, 22:28
|
|
|
|
dimitriy-bc |
Дата: Пт, 20.02.2015, 10:27 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
150
Замечания:
±
На сайте с 19.03.2012
Статус:
Offline
|
Сегодня утром попробовал вписывать по байтам, вроде заработало. Гляньте на сколько это корректно.
|
|
|
|