Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 17.04.2016, 20:37  
Vadimkhl
Прохожий
 
Регистрация: 04.02.2008
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Vadimkhl на пути к лучшему
По умолчанию Не работает прерывание от TMR1

Добрый день!
Очень нуждаюсь в помощи.
Проблема в том, что при переполнении TMR1 флаг PIR1,TMR1IF не устанавливается в 1,
тем сам не генерируется прерывание! Уже все мозги сломал

Очень прошу помочь в решении данной проблемы.
Вот кусок кода настройки таймера (обратите внимание, что TMR1 управляется через GATE):

Код:
            movlw       b'00000010'     ; Такт таймера от FOSC/4. Пределитель 1:1. Схема генератора выключена.
            movwf       T1CON           ; Синхронизацая по умолчанию. 16-бит чтение/запись.
            movlw       b'11000001'     ; Управление GATE включено. Активное состояние 1. Источник управления TMR2.
            movwf       T1GCON    
            clrf        TMR1H           ; Сброс счетчика таймера.
            clrf        TMR1L  
            bsf         T1CON,TMR1ON    ; Включить таймер.

            clrf        T2CON           ; Пре и пост делители 1:1.
            setf        PR2             ; Полный периуд (=.255)
            clrf        TMR2            ; Сброс счетчика таймера.

            bsf         IPR1,TMR1IP     ; Прерывание TMR1 высокий приоритет.
            bcf         PIR1,TMR1IF     ; Сброс флага переполнения TMR1.
            bsf         PIE1,TMR1IE     ; Разрешить прерывание переполнения TMR1.
            
            bsf         T2CON,TMR2ON    ; Включить 3-х байтный счетчик.

            bsf         INTCON,GIEL     ; Разрешить прерывания низкого уровня.
            bsf         INTCON,GIEH     ; Включить прерывания высокого и низкого уровня.
Вложения:
Тип файла: rar PIC18(L)F46K22.rar (2.7 Кб, 17 просмотров)
Реклама:
Vadimkhl вне форума  
Непрочитано 18.04.2016, 05:02  
picpower
Частый гость
 
Регистрация: 13.07.2014
Сообщений: 17
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
picpower на пути к лучшему
По умолчанию Re: Неработает прерывание от TMR1

Надо еще включить приоритеты прерываний:
Код:
RCONbits.IPEN = 1;
picpower вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прерывание в прерывании или как их правильно разложить? rusyvochka PIC 20 31.05.2015 23:21
Прерывание от OCR1B в таймере Т1 на Atmega8535 Rotorx179 AVR 1 09.01.2015 19:53
Мега88 внешнее прерывание по низкому уровню E_C_C Proteus 0 06.09.2012 11:47
[Решено] Ошибка TMR1 в Proteus Виталий К. Proteus 5 17.06.2010 23:00
не обрабатывается прерывание от таймера во время АЦП rusakov_a Микроконтроллеры, АЦП, память и т.д 0 03.07.2008 01:33


Часовой пояс GMT +4, время: 08:29.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot