реклама на сайте
подробности

 
 
> Прерывания
Allregia
сообщение Sep 8 2009, 04:36
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Если я правильно понял, приоритет прерываний в МСП фиксированный и поменять его нельзя.
У меня в программе используются несколько прерываний - от вотчдога, дух таймеров, УАРТов и АЦП.
Но (!) - прерывание от одного из таймеров должно быть самым приоритетным, остальные не важно, подождут.
Правильно ли будет для этого в процедуре обработки прерывания этого таймера запретить глобально прерывания вообще, а при выходе разрешить? Или в этом есть "подводные камни" ?

т.е.:
Код
#pragma vector=TIMERB0_VECTOR          
__interrupt void TIMERB0_interrupt(){
      __disable_interrupt();

     .........  тут остальной код обработчика прерывания

     __enable_interrupt();
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Allregia
сообщение Sep 12 2009, 10:24
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Кстати о препроцессоре, хотя это немного не в тему - вот на другом форуме нашел полезное, для работы с двоичными константами:

Код
Можно так:
#define byte unsigned char

#define _bitset(bits)\
  ((byte)(\
  (bits%010)|\
  (bits/010%010)<<1|\
  (bits/0100%010)<<2|\
  (bits/01000%010)<<3|\
  (bits/010000%010)<<4|\
  (bits/0100000%010)<<5|\
  (bits/01000000%010)<<6|\
  (bits/010000000%010)<<7))

#define BIN8(bits)   _bitset(0##bits)
#define BIN16(bitsH,bitsL)  (unsigned(BIN8(bitsL)) + unsigned((BIN8(bitsH)<<8)))

Использование:
k = BIN8(0x11001010);


Может кому пригодится.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Allregia   Прерывания   Sep 8 2009, 04:36
- - MrYuran   Если я чего-то не путаю, вложенные прерывания по у...   Sep 8 2009, 04:48
- - Allregia   Да, я не совсем правильно выразился. Интересует им...   Sep 8 2009, 04:52
- - VAI   А при обработке прерываний глобальные прерывания и...   Sep 8 2009, 05:06
- - Allregia   Всем спасибо.   Sep 8 2009, 06:42
- - Allregia   Еще небольшой вопрос: я привык (по работе с другим...   Sep 9 2009, 06:46
|- - MrYuran   Цитата(Allregia @ Sep 9 2009, 10:46) IAR ...   Sep 9 2009, 06:56
||- - Dog Pawlowa   Цитата(MrYuran @ Sep 9 2009, 09:56) А boo...   Sep 9 2009, 07:36
||- - MrYuran   Цитата(Dog Pawlowa @ Sep 9 2009, 11:36) В...   Sep 9 2009, 07:45
|- - zltigo   Цитата(Allregia @ Sep 9 2009, 08:46) пере...   Sep 9 2009, 07:00
|- - Allregia   Цитата(zltigo @ Sep 9 2009, 10:00) Все ог...   Sep 9 2009, 14:37
|- - zltigo   Цитата(Allregia @ Sep 9 2009, 16:37) ...в...   Sep 9 2009, 15:42
|- - Allregia   Цитата(zltigo @ Sep 9 2009, 18:42) Вот, к...   Sep 9 2009, 15:57
|- - zltigo   Цитата(Allregia @ Sep 9 2009, 17:57) то т...   Sep 9 2009, 16:05
||- - Allregia   Цитата(zltigo @ Sep 9 2009, 19:05) Будет ...   Sep 9 2009, 19:11
||- - zltigo   Цитата(Allregia @ Sep 9 2009, 21:11) Я та...   Sep 9 2009, 19:59
||- - Dog Pawlowa   Цитата(Allregia @ Sep 9 2009, 22:11) Это ...   Sep 9 2009, 20:29
||- - Allregia   Цитата(Dog Pawlowa @ Sep 9 2009, 23:29) Э...   Sep 9 2009, 21:07
||- - zltigo   Цитата(Allregia @ Sep 9 2009, 23:07) О то...   Sep 10 2009, 06:25
||- - Dog Pawlowa   Цитата(Allregia @ Sep 10 2009, 00:07) Это...   Sep 10 2009, 07:28
|- - rezident   Цитата(Allregia @ Sep 9 2009, 21:57) Я в ...   Sep 9 2009, 16:55
- - VAI   Я флаги так делаю: Описываю Кодenum on_off { ...   Sep 10 2009, 06:43
|- - zltigo   Цитата(Allregia @ Sep 12 2009, 12:24) Мож...   Sep 12 2009, 10:30
- - Allregia   Можно использовать и как именнованные: #define P...   Sep 12 2009, 13:44
|- - zltigo   Цитата(Allregia @ Sep 12 2009, 15:44) А т...   Sep 12 2009, 14:04
|- - Allregia   Цитата(zltigo @ Sep 12 2009, 17:04) Тольк...   Sep 12 2009, 15:03
|- - zltigo   Цитата(Allregia @ Sep 12 2009, 17:03) Во ...   Sep 12 2009, 15:19
- - Allregia   Согласен, с тем макросом должно быть просто BIN8(1...   Sep 12 2009, 15:33
- - AHTOXA   Всё больше утверждаюсь во мнении, что High Tech (д...   Sep 12 2009, 15:37


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.02582 секунд с 7
ELECTRONIX ©2004-2016