Перейти к содержанию

Не Страбатывает Прерывание От Tmr1


Oleg74

Рекомендуемые сообщения

Доброго времени суток всем форумчанам! Проблемка возникла у меня с прерыванием от TMR1 в программе приёма IR NEC протокола.

Суть проблемы в том, что после приёма 32 бит адреса и данных провожу сравнение, инвертируя второй байт адреса, затем второй байт команды и далее программа принимает биты повтора. На этом этапе программа работает без укоризненно. Между битами повтора запускаю TMR1 с входным предделителем 1:2 на время 100ms. Т.е. если за заданное время нет приёма бита повтора, - должен очиститься регистр команды и сброситься флаг повтора. А прерывание от TMR1 работает как ему вздумается... Может сработать в заданное время, но чаще проходит от 20 до 40 сек до сброса режима повтора. Что же может влиять на такую работу таймера?

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

работает как ему вздумается

Работает так, как ему велено.

Что же может влиять

Проверьте параметризацию таймера, разрешение и обработку прерываний.

Я не раздаю удочки. Я продаю рыбу.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Проверял неоднократно, флаг сброшен, прерывание от INT разрешено, а он насчитывает круги. Отслеживал работу таймера в MPLAB по регистрам. Использовал и протаса в ней же

Отправлено с моего Ixion XL145 Snatch через Tapatalk

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Какая связь между прерываниями от таймера и прерыванием по INT?

Разрешение прерываний по TMR1 обеспечивается ТРЕМЯ битами:

T1IE, PEIE, GIE

Отсутствие любого из них запретит этот источник прерываний.

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

МК хоть какой? Может там еще что вмешивается...

Да и код инициализации и самого прерывания неплохо бы глянуть...

На форумах принято общаться на "ты", что не является оскорбительным и подразумевает равноправие

Ссылка на комментарий
Поделиться на другие сайты

Кому нужен этот скрин?

В нем нет всего кода и в нем есть макросы, определения которых не видны.

Кроме того, нет разрешения периферийных прерываний.

В регистре INTCON бит PEIE сброшен в 0.

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Вроде разобрался. В регистре INTCON бит PEIE установил в 1, таймер стал работать как и положено ему.

Только не совсем понял, причём тут прерывания от периферийных модулей

Ссылка на комментарий
Поделиться на другие сайты

Чтобы это понять, нужно читать даташит. Хотя бы иногда и выборочно.

Все источники прерываний, флаги и разрешения которых находятся в регистрах PIR1 и PIE1, управляются битом PEIE.

Это совершенно однозначно показано в разделах Interrupts даташитов в схеме формирования запросов.

Это естественно следует и из самого названия как регистров флагов/запросов, так и названия оного управляющего бита.

Служит этот бит для упрощения доступа к управлению разрешениями, поскольку INTCON виден из всех банков, а PIE1 только из первого.

ЗЫ. К периферийным модулям PIC10...PIC16 относятся все таймеры кроме нулевого (он является системным и даже не может быть остановлен), модули CCP, все интерфейсы типа SPI, I2C, UART, USB, ADC, CTMU и другие.

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Да с регистрами PIE1 и PIR1 всё понятно. В них находятся TMR1IE-бит разрешения прерывания от TMR1 и TMR1IF-флаг того же прерывания.

Тут никаких проблем не было. Все операции с ними проводились согласно даташиту.

Получается, что таймер TMR1 относится к периферийным модулям? Раз при разрешении данного прерывания (PEIE=1)

стало обрабатываться прерывание от TMR1

Кстати в даташите в описании модуля таймера TMR1 про бит PEIE регистра INTCON ничего не сказано,

что он влияет на прерывание от TMR1

Изменено пользователем Oleg74
Ссылка на комментарий
Поделиться на другие сайты

И в описании на таймер все сказано, и в описании модуля прерываний...

Даташит на PIC16F886 (у всех 16-х в разделе таймера 1 написана копипаста).

Раздел 6 Таймер 1

Параграф 6.7:

6.7 Timer1 Interrupt

The Timer1 register pair (TMR1H:TMR1L) increments

to FFFFh and rolls over to 0000h. When Timer1 rolls

over, the Timer1 interrupt flag bit of the PIR1 register is

set. To enable the interrupt on rollover, you must set

these bits:

• Timer1 interrupt enable bit of the PIE1 register

PEIE bit of the INTCON register

• GIE bit of the INTCON register

The interrupt is cleared by clearing the TMR1IF bit in

the Interrupt Service Routine.

А почему Вас так удивляет отнесение первого таймера к периферийным модулям?

Вы вообще что понимаете под термином периферийный?

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Я считал периферийними модулями CCP, MSSP, АЦП, но только не модули таймеров :unsure:

Видимо в даташите на русском языке зыбыли указать про бит PEIE ив описании модуля TMR1.

Всё равно спасибо!!!

Думаю Тема закрыта

Изменено пользователем Oleg74
Ссылка на комментарий
Поделиться на другие сайты

Микрочип не издает даташитов на русском языке. Сайт www.microchip.ru не имеет никакого отношения к оной компании. Этот сайт запилил один из дистрибьюторов Микрочипа. Он же организовал перевод на русский. Так что пользоваться документацией на этом сайте нужно осмотрительно. Чисто в ознакомительных целях и для выяснения смысла не слишком понятных в английском оригинале текстов.

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...