|
Прерывания |
|
|
|
Sep 8 2009, 04:36
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Если я правильно понял, приоритет прерываний в МСП фиксированный и поменять его нельзя. У меня в программе используются несколько прерываний - от вотчдога, дух таймеров, УАРТов и АЦП. Но (!) - прерывание от одного из таймеров должно быть самым приоритетным, остальные не важно, подождут. Правильно ли будет для этого в процедуре обработки прерывания этого таймера запретить глобально прерывания вообще, а при выходе разрешить? Или в этом есть "подводные камни" ? т.е.: Код #pragma vector=TIMERB0_VECTOR __interrupt void TIMERB0_interrupt(){ __disable_interrupt(); ......... тут остальной код обработчика прерывания
__enable_interrupt(); }
|
|
|
|
|
 |
Ответов
|
Sep 9 2009, 06:56
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Allregia @ Sep 9 2009, 10:46)  IAR не дает обявить "volatile bool". А bool volatile ? Должен. Это нужно, если необходимо.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Sep 9 2009, 07:45
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Dog Pawlowa @ Sep 9 2009, 11:36)  В версии 410, например, нет такого типа и нужны в нем действительно нет, компилятор совершенно свободно использует bis/bic когда нужно. У меня версия 3.40 и там есть такой тип, нужно только stdbool.h подключить А там вот что: Цитата #ifndef __cplusplus
#define bool _Bool #define true 1 #define false 0
#define __bool_true_false_are_defined 1
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
Сообщений в этой теме
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 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 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|