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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 06.12.2009, 03:09  
dimmich
Почётный гражданин KAZUS.RU
 
Аватар для dimmich
 
Регистрация: 12.05.2006
Адрес: Владимир
Сообщений: 2,791
Сказал спасибо: 2,966
Сказали Спасибо 4,205 раз(а) в 1,183 сообщении(ях)
dimmich на пути к лучшему
Лампочка Вход в прерывания для PIC микроконтроллеров

Не нашел ответов в документации, неохота экспериментировать и испытывать эти ситуации "в железе", решил спросить у знающих товарищей. Поясните, как будет себя вести микроконтроллер в этих ситуациях.


1) Бит глобального разрешения прерываний сброшен. В это время происходит одно из событий, которое могло бы привести к прерыванию, например переполнение таймера. Соответственно флаг прерывания по переполнению таймера устанавливается. Потом программно взводим бит глобального разрешения прерываний. Войдет ли микроконтроллер в подпрограмму прерываний?

2) Выполняется подпрограмма прерывания по какому-либо событию. В это время происходит событие, по которому микроконтроллер должен войти и выполнить прерывание по другому событию. Выполняющаяся подпрограмма прерывания закончит свое выполнение? После выхода из прерывания запустится ли подпрограмма, которая должна выполнится по второму событию?

3) Бит глобального разрешения прерываний установлен. Бит разрешения прерывания, допустим по переполнению таймера, сброшен. Флаг переполнения таймера установлен. В это время программно взводим бит разрешения прерывания по переполнению таймера. Войдет ли микроконтроллер в подпрограмму прерывания?

4) Одновременно произошло несколько событий, приводящих ко входу в прерывание. Какой приоритет выполнения частных прерываний?

5) Одновременно произошло несколько событий, приводящих ко входу в прерывание, или еще одно событие произошло во время выполнения подпрограммы прерывания. После выполнения подпрограммы по прерыванию от старшего события, выполнятся ли прерывания по другим событиям?

6) Одновременно произошло несколько событий, приводящих ко входу в прерывание, или еще одно событие произошло во время выполнения подпрограммы прерывания. Но во время первого входа в подпрограмму прерываний, флаги от других событий программно сбросить. Если ответ на предыдущий ответ будет "повторный вход в подпрограмму прерывания", но ведь флаги будут уже сброшены. Войдет ли микроконтроллер в подпрограмму прерывания повторно?
Реклама:

Последний раз редактировалось dimmich; 06.12.2009 в 03:29.
dimmich вне форума  
Непрочитано 06.12.2009, 10:07  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Вход в прерывания для PIC микроконтроллеров

Все это есть в документации, причем у ПИКов в отличие от АВР даже документация русская...

1. да
2. после завершения первого контроллер выполнит 1 команду из основной программы и войдет во 2-е
3. да
4. См. в документации. У АВР бОльший приоритет имеет прерывание с меньшим адресом вектора - т.е. которое в списке выше
5. да. Если несколько - см. пункт 4
6. Когда контроллер вернется в основную программу - он посмотрит какие флаги стоят В ДАННЫЙ МОМЕНТ и обработает их.
niXto вне форума  
Сказали "Спасибо" niXto
dimmich (06.12.2009)
Непрочитано 06.12.2009, 10:09  
lsa
Почётный гражданин KAZUS.RU
 
Аватар для lsa
 
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
lsa на пути к лучшему
По умолчанию Re: Вход в прерывания для PIC микроконтроллеров

Чтоб не писать отсебятину, прикладываю седьмую главу "Прерывания" из книги С.Катцен "PIC микроконтроллеры, все что необходимо знать", 2008 Додека.
Здесь есть ответы практически на все вопросы по прерываниям среднего семейства PIC.
Вложения:
Тип файла: pdf Glava7.pdf (1.29 Мб, 464 просмотров)
lsa вне форума  
Сказали "Спасибо" lsa
dimmich (06.12.2009)
Непрочитано 06.12.2009, 10:15  
lsa
Почётный гражданин KAZUS.RU
 
Аватар для lsa
 
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
lsa на пути к лучшему
По умолчанию Re: Вход в прерывания для PIC микроконтроллеров

Сообщение от niXto Посмотреть сообщение
Все это есть в документации
Вот перевод мануала, раздел "Прерывания".
Вложения:
Тип файла: pdf pic16_8.pdf (265.3 Кб, 262 просмотров)
lsa вне форума  
Сказали "Спасибо" lsa
dimmich (06.12.2009)
Непрочитано 06.12.2009, 17:17  
dimmich
Почётный гражданин KAZUS.RU
 
Аватар для dimmich
 
Регистрация: 12.05.2006
Адрес: Владимир
Сообщений: 2,791
Сказал спасибо: 2,966
Сказали Спасибо 4,205 раз(а) в 1,183 сообщении(ях)
dimmich на пути к лучшему
По умолчанию Re: Вход в прерывания для PIC микроконтроллеров

Сообщение от lsa Посмотреть сообщение
Glava7.pdf
Спасибо за файл. Мысли начали укладываться по полочкам. Нашел ошибку на стр.222. Там в примере программы обращение к регистру PIE1 производится по третьему банку памяти. А он находится в первом.
dimmich вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Использование HI - TECH для PIC контроллеров ST_Senya Микроконтроллеры, АЦП, память и т.д 27 22.10.2010 18:45
Сравнение средств разработки для микроконтроллеров AVR и PIC silic Микроконтроллеры, АЦП, память и т.д 24 04.12.2009 07:36
Помогите с ЦАП AD7708/AD7718 или их аналогами ST_Senya Микроконтроллеры, АЦП, память и т.д 9 30.11.2009 19:03
Изучение HI-TECH C для PIC ST_Senya Микроконтроллеры, АЦП, память и т.д 7 26.09.2009 20:36


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


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