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

 
 
> Прерывания
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, 13:44
Сообщение #2


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

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



Можно использовать и как именнованные:

#define PORT0DIR BIN8(0b1001100)

smile.gif

А также во всех других случаях, когда двоичное удобнее шестнадцатеричной, десятичной или восьмеричной.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 12 2009, 14:04
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Allregia @ Sep 12 2009, 15:44) *
А также во всех других случаях, когда двоичное удобнее шестнадцатеричной, десятичной или восьмеричной.

Только таких случаев нет, это я, как человек отдавший многие годы ASM и по неопытности раньше пользовавший всякие 'b', говорю. То, Вы привели в примере именования, это просто глупость, ибо неименованы именно биты и/или их группы.
Кстати, в своей 'удобной' записи, поминая ее два раза, оба раза ошиблись sad.gif
Цитата
Использование:
k = BIN8(0x11001010);

#define PORT0DIR BIN8(0b1001100)

Вот такое само за себя говорящее 'удобство' smile.gif
P.S.
Использование
Цитата
#define byte unsigned char

вместо typedef это дополнительный признак неведения, что творите.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Allregia
сообщение Sep 12 2009, 15:03
Сообщение #4


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

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



Цитата(zltigo @ Sep 12 2009, 17:04) *
Только таких случаев нет, это я, как человек отдавший многие годы ASM и по неопытности раньше пользовавший всякие 'b', говорю. То, Вы привели в примере именования, это просто глупость, ибо неименованы именно биты и/или их группы.
Кстати, в своей 'удобной' записи, поминая ее два раза, оба раза ошиблись sad.gif


Во 1-х, она не моя, говорил же - это подсмотрено на другом форуме.
Во 2-х - да, там ошибка, х вместо b.
Цитата
Использование

вместо typedef это дополнительный признак неведения, что творите.


См. выше. Мелкие недочеты можно и исправить.
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
- - Allregia   Кстати о препроцессоре, хотя это немного не в тему...   Sep 12 2009, 10:24
|- - zltigo   Цитата(Allregia @ Sep 12 2009, 12:24) Мож...   Sep 12 2009, 10:30
|- - 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 Текстовая версия Сейчас: 23rd July 2025 - 17:40
Рейтинг@Mail.ru


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