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

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

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

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

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

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

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

 
Опции темы

Mega48. Как работать с прерываниями PCintX ?

Непрочитано 27.01.2012, 12:07  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Mega48. Как работать с прерываниями PCintX ?

Сообщение от aleksandr_zh Посмотреть сообщение
входной сигнал делим на 2\4\8 (с запасом)
Мегой считаем три сигнала
это реально сдедалать?
но там только два IntX
Если вы согласны делить входные импульсы, то вот вам идея - один из сигналов заведите на клок SPI интерфейса... Прерывание SPI и будет 8 импульсов. Еще три канала на таймеры - вот вам 4 канала. Оставшиеся два - на INTы. Таймеры - в режим CTC и счет до 8. Ну, INTы придется считать все, обработчики на асме - думаю - вполне реально успеть.
Реклама:
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Сказали "Спасибо" nml
aleksandr_zh (27.01.2012)
Непрочитано 27.01.2012, 12:07  
alvadep
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Mega48. Как работать с прерываниями PCintX ?

Сообщение от nml Посмотреть сообщение
Там есть 3 регистра флагов, входы опрашивать не надо.
Там есть 3 регистра масок PCMSK, которыми определяют от каких входов разрешить прерывание. А регистр флагов всего один PCIFR. И флагов там всего 3 (PCIF2, PCIF1, PCIF0).
alvadep вне форума  
Непрочитано 27.01.2012, 12:21  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Mega48. Как работать с прерываниями PCintX ?

Сообщение от alvadep Посмотреть сообщение
А регистр флагов всего один PCIFR. И флагов там всего 3 (PCIF2, PCIF1, PCIF0).
Да, точно, прошу прощения. Нелогично как-то это у них устроено. По мне - регистр флагов должен быть - пока в прерывание вошел, пины уже и поменяться могут.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 27.01.2012, 12:29  
picavr
Почётный гражданин KAZUS.RUN
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,815
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Mega48. Как работать с прерываниями PCintX ?

Сообщение от aleksandr_zh Посмотреть сообщение
всё время. пачек там нет, постояно идут импульсы,
Если выставится флаг прерывания а вы не успеете обработать даный канал и придёт ещё 1 импульс, то вы потеряете его.

Я в своё время делал подсчёт импульсов от 4 топливораздаточных колонок на АЗС.
Метод таков.
Считать все каналы из 1 порта 1 байтом.
Сравнить с предыдущим состоянием.
В изменёных каналах увеличить счётчики.
Сохранить текущее состояние в качестве предыдущего для следующего чтения.

Напишите на ассемблере процедуру для обработки прерывания и посмотрите вложиться ли обработка всех каналов во время 2 микросек на 20 МГЦ (АТТИНЯ2313 на 20 работает)
Обрабатывать лучше в 1 прерывании, меньше тратиться времени на переходы и служебные сохранения регистров для многих прерываний.
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
Сказали "Спасибо" picavr
aleksandr_zh (27.01.2012)
Непрочитано 27.01.2012, 12:29  
MisterDi
Почётный гражданин KAZUS.RUN
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Mega48. Как работать с прерываниями PCintX ?

Классическая задача для программируемой логики. Счетчик событий - 25 разрядов * 6 каналов = 150 триггеров. Вполне поместиться в ЕРМ240. Для управления - МК по вкусу. И никакой головной боли успеет/не успеет
__________________
misterdi<@>i.ua
MisterDi вне форума  
Непрочитано 27.01.2012, 12:29  
alvadep
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Mega48. Как работать с прерываниями PCintX ?

Если поделить входные импульсы, то и прерывания можно не использовать.
Опрос входов делать программно. И с UARTом работать не по прерываниям, а по флагам. На ассемблере это все получится.
alvadep вне форума  
Непрочитано 27.01.2012, 12:43  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,009
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Mega48. Как работать с прерываниями PCintX ?

aleksandr_zh,
совет несколько авантюрный, но - PSoC наверняка поможет, тема рядом. можно и связку авр+альтера на 64 ячейки
jump вне форума  
Непрочитано 27.01.2012, 13:04  
aleksandr_zh
Гражданин KAZUS.RUN
 
Регистрация: 17.11.2011
Адрес: Брянская область, РФ
Сообщений: 699
Сказал спасибо: 693
Сказали Спасибо 428 раз(а) в 213 сообщении(ях)
aleksandr_zh на пути к лучшему
По умолчанию Re: Mega48. Как работать с прерываниями PCintX ?

Сообщение от jump Посмотреть сообщение
aleksandr_zh,
совет несколько авантюрный, но - PSoC наверняка поможет, тема рядом. можно и связку авр+альтера на 64 ячейки
хм
с нуля с наскоку не получится
ничего под рукой из этого нет

я это могу мелкой логикой решить, но некрасиво получится - горсть рассыпухи + МК с индикацией
aleksandr_zh вне форума  
Непрочитано 27.01.2012, 15:07  
picavr
Почётный гражданин KAZUS.RUN
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,815
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Mega48. Как работать с прерываниями PCintX ?

Сообщение от aleksandr_zh Посмотреть сообщение
я это могу мелкой логикой решить, но некрасиво получится - горсть рассыпухи + МК с индикацией
Пути решения вам рассказали )) вам решать как пойдёте )))
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как работать с видео сигналом? Easyrider83 Цифровые сигнальные процессоры 95 13.06.2014 00:03
Как заставить работать LT3748? akh60 Делимся опытом 6 02.12.2011 16:29
Как заставить себя работать?! Sukhanov Отвлекитесь, эмбеддеры! 152 09.04.2009 08:08
Как работать со стеклотекстолитом? vlad_de Делимся опытом 1 13.02.2008 09:18
как работать с EEPROM в КР1878ВЕ1? Maxoid Микроконтроллеры, АЦП, память и т.д 1 17.12.2003 17:16


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.