Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
-памагите!
Отправлено
private
18 июня 2007 г. 10:58
-в меге прерывание установило семафор, все всё поняли, семафор сбросили, но флаг не трогали, событие вроде не должно повторяться, но семафор опять устанавливается обработчиком, пока флаг не сбросят,как енто понять?
Составить ответ
|
Вернуться на конференцию
Ответы
Сейчас более гламурно : "Сам я нэ местный, памажите чем можете !". А вообще, =ВН= прав.
—
scorpion
(18.06.2007 12:55:49
195.135.239.198
,
пустое
)
Не знаю как в меге, но флаги, если они аппаратно не сбраысваются, принято сбрасывать программно. Иначе, при разрешенном прерывании, возможен "и вечный бой, покой нам только снится".
—
-=ВН=-
(18.06.2007 12:16:49
193.125.71.140
,
пустое
)
-буквы закона...как быть?
—
private
(18.06.2007 12:24:54
217.65.241.196
, 499 байт)
Так и быть, как написано. Сбросить флаг путем записи 1 (one) в какой-то разряд USIOIF. И до тех пор пока Вы этого не сделаете, т.е. не запишите означенную 1 по указанному адресу, прерывание будет генерироваться ,если установлены какой-то USIOIE в USICR и какой-то Gl Inter Ena,le Flag.
—
-=ВН=-
(18.06.2007 12:35:44
193.125.71.140
,
пустое
)
поъяснение....
—
private
(18.06.2007 12:29:7
217.65.241.196
, 127 байт)
и ? Русским по белому же написано - ручками сбрасываем, путем записи 1-цы во флаг
—
DASM
(18.06.2007 12:26:21
212.58.192.14
,
пустое
)
+1, и продолжаем вдумчивое курение ДШ
—
=AVR=
(18.06.2007 12:30:17
80.92.96.19
,
пустое
)
volatile вроде ни при чем, флаг должен сбрасываться аппаратно при выполнении обработчика прерываний
—
Aalex
(18.06.2007 11:17:52
195.5.12.10
,
пустое
)
какой флаг ??
—
DASM
(18.06.2007 11:23:59
212.58.192.14
,
пустое
)
Флаг соответствующего прерывания, я так понял, что у товарища повторно вызывается обработчик прерывания, если он не сбрасывает флаг програмно
—
Aalex
(18.06.2007 11:48:27
195.5.12.10
,
пустое
)
завидую вашим телепатическим способностям, лично я нихя не понял
—
DASM
(18.06.2007 11:54:5
212.58.192.14
,
пустое
)
это просто версия :-))
—
Aalex
(18.06.2007 11:55:39
195.5.12.10
,
пустое
)
телепаты тут собрались по вашему ? А писать в теме "памагите" - это очень гламурно ? volatile какой-нить забыли, больше гадать не на чем
—
DASM
(18.06.2007 11:02:29
212.58.192.14
,
пустое
)
-нанавижу гламуррррррр!!!!!!!!
—
private
(18.06.2007 11:57:49
217.65.241.196
, 164 байт)
Хм, а в какой такой Меге есть USI - может, все же в Tiny? Так USIOIF и сбрасывается только ручками - ДШ надо курить внимательнее
—
=AVR=
(18.06.2007 12:26:30
80.92.96.19
,
пустое
)
уточню -329-я, сбрасываю "ручками", но с задержкой, ивент не повторяется, обработчик тем не менее повторяется, -это нормально?
—
private
(18.06.2007 12:37:14
217.65.241.196
,
пустое
)
А, точно - эту про экзотику (329) я и запамятовал. А флаг, генерирующий прерывание, надо сбрасывать именно в обработчике, а не где-то там "с задержкой", иначе получишь "самовозбуждение прерывания"
—
=AVR=
(18.06.2007 12:41:31
80.92.96.19
,
пустое
)
-так на кой тады "фича"- не сбрасывай-не отпустишь, да и at the transition from 15 to 0 -как жо? ась???
—
privat
(18.06.2007 12:44:37
217.65.241.196
,
пустое
)
Фича с отсутствием автоматического сброса флага, генерирующего прерывание, добавляет гибкости. Я могу сбросить этот флаг в самом начале обработчика, чтобы дать возможность новому событию породить очередной запрос, пока обрабатываю текущий, а могу и в середине или в конце - чтобы игнорировать новые события, пока не обработано текущее
—
=AVR=
(18.06.2007 12:50:36
80.92.96.19
,
пустое
)
Ну и хрен с ним, сбрасывай программно, лишь бы работало :-)
—
Aalex
(18.06.2007 12:21:40
195.5.12.10
,
пустое
)
-абыдна...
—
private
(18.06.2007 12:25:39
217.65.241.196
,
пустое
)
А и правда, сбрасывается только путем записи 1 в флаг, зараза :-)))
—
Aalex
(18.06.2007 12:34:9
195.5.12.10
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
умножьте 3 на единицу:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru