| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| PIC16F877A & interrupts http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=1571 |
Страница 1 от 2 |
| Автор: | nickich [ Чет Яну 12, 2006 12:13 pm ] |
| Заглавие: | PIC16F877A & interrupts |
Наистина ли този пик вектора на прекъсванията сочи към един и същи адрес, независимо от събитието, предизвикало прекъсването, и после във функцията, обслужваща прекъсването трябва да полирам битовете в регистрите за да разбера какво точно се е случило? ... или аз нещо не разбирам |
|
| Автор: | Desert Leo [ Чет Яну 12, 2006 12:50 pm ] |
| Заглавие: | |
Да, така е - 0004h. И какво толкова не ти харесва? |
|
| Автор: | nickich [ Чет Яну 12, 2006 1:18 pm ] |
| Заглавие: | |
Не ми харесва, 4е е неудобно, губи се време, не мога да имам прекъсване по време на друго прекъсване, няма приоритети, ... да продължавам ли? ... абе цялата идеология на прекъсванията се насмита. Вчера ми се наложи по-сериозно да ползвам прекъванията и се за4етох в документацията.... Май ще трябва да ги отказвам тия |
|
| Автор: | Bezmozachen [ Чет Яну 12, 2006 1:33 pm ] |
| Заглавие: | |
Ами пиковете са така. В 18-ките има две нива на прекъсвания, но пак нещата опират проверка. Имаше и техники за вложени прекъсвания, т.е. почваш да обслужваш едно прекъсване, като разрешаваш прекъсванията, т.е. вече го обслужваш извън прекъсванията и така можеш да организираш приоритетна обработка. Лично на мен никога не ми се е налагало да го правя. 2-те нива при 18-ките са ми напълно достатъчни, за обработка на 7-8 прекъсвания. |
|
| Автор: | Desert Leo [ Чет Яну 12, 2006 1:48 pm ] |
| Заглавие: | |
Ами такива са си. И според мен това е нормално за сферата им на приложение. Ако в твоя проект се изисква обслужване на прекъсване на няколко нива, то просто си сбъркал с избора на PIC. |
|
| Автор: | the_real_maniac [ Чет Яну 12, 2006 4:21 pm ] |
| Заглавие: | |
А кое AVR има ли приоритети (не съм запознат и затова питам Или трябва да се скача на AMR или нещо от тиз тип 'мощ'/клас . ? |
|
| Автор: | bateAz [ Чет Яну 12, 2006 4:59 pm ] |
| Заглавие: | |
MSP430 има приоритети и общо 16 вектора за прекъсване, но е малко по-висок ценови клас ( 15 лева ++ ). Има в Електронинвест ( MSP430F149 ), има и макетни платки за него. Olimex предлагат програматор за него. |
|
| Автор: | Реконструктор [ Чет Яну 12, 2006 5:08 pm ] | |||||||||
| Заглавие: | ||||||||||
mega-та има 21 прекъсвания (mega16). С приоритети, разбира се. |
||||||||||
| Автор: | TheWizard [ Чет Яну 12, 2006 7:45 pm ] |
| Заглавие: | |
От де почнахте - де свършихте :) |
|
| Автор: | Nikola Kirov [ Чет Яну 12, 2006 8:57 pm ] |
| Заглавие: | |
Не можем да пропуснем възможноста да покажем колко голямо дърво за пиковете |
|
| Автор: | the_real_maniac [ Чет Яну 12, 2006 10:30 pm ] | |||||||||
| Заглавие: | ||||||||||
Питам и отговарят. Всичко е точно. Благодаря за инфото. Не вярвам да ме подвеждат хи-хи, но знаеш ли. Може да злорадстват подбудени от завист към Майкрочип. |
||||||||||
| Автор: | WDW [ Пет Яну 13, 2006 3:24 pm ] |
| Заглавие: | |
Е добре де, и аз не съм запознат с останалите тУкмаци,но винаги това ми се е струвало толкова естествено: Настъпва прекъсването и ти просто проверяваш от къде е !! Как е при другите? Какво значи 16 нива ?? |
|
| Автор: | nickich [ Пет Яну 13, 2006 3:39 pm ] |
| Заглавие: | |
Е да, настъпва прекъсването, ама защо трябва да гупиш време да проверяваш от къде е. При нормалните професори просто вектора на прекъсванията сочи към определен адрес, който е различен за съответното пррекъсване и на този адрес си слагаш указател към функцията, която искаш да се изпълни при настъпване на дадено събитие (прекъсване). Ако в момента се изпълнява функция, обслужваща дадено прекъсване и настъпи прекъсване с по-висок приоритет, професора прекъсва изпълнението на текущата и изпълнява тази с по-висок приоритет, след това се връща към текущата. |
|
| Автор: | Desert Leo [ Пет Яну 13, 2006 4:34 pm ] |
| Заглавие: | |
Схемата на прекъсване на Пиковете си е съвсем нормална за приложенията им. Ако имаше няколко нива с приоритети, схемата на прекъсване би се усложнила неоправдано и вместо да улесни - ще затрудни програмирането. Всеки от изброените професори по-горе си има своите приложения и затова да се сравняват по който и да било изолиран параметър или възможност е неправилно. Дори AVR и PIC не би трябвало да се сравняват. |
|
| Автор: | Цецо [ Пет Яну 13, 2006 4:53 pm ] |
| Заглавие: | |
Ами всичко е въпрос на приложение: 1. Пика няма вектори, но влиза в прекъсване за има/няма 500ns. Даже и с проверки на източника, времето за реакция е до няколко микросекунди. 2. АРМ-а има много мощен векторен контролер за прекъсванията. Ама се оказва, че докато се напъха в прекъсването, току виж мръкнало. |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|