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

 
 
 
Reply to this topicStart new topic
> Прерывания порта P2, регистр флагов P2IFG?
Vasilius
сообщение Nov 20 2006, 20:11
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 22
Регистрация: 1-02-06
Из: Киев
Пользователь №: 13 864



Только начал осваивать хвалёные MSP430__ и уже столкнулся с недоразумением (по крайней мере, на мой взгляд).
Вопрос: Нормально ли это, что устанавливается флаг прерывания (регистр P2IFG) в ответ на изменение входного сигнала на соответствующей ноге порта P2, в то время когда все мыслимые прерывания запрещены? При этом, я точно уверен, что сами прерывания не возникают. Устанавливается только флаг запроса прерываний. Явно вижу это в дебаггере IARа и косвенно в реальном железе.

MK: MSP430F1232.
Работаю с bit.2 порта P2 от заземленной, закондёренной и подтянутой к питанию кнопки.

P2DIR &= ~BIT2; //нога на вход
P2SEL &= ~BIT2; //нога – как порт ввода/вывода
P2IES &= 0x00; //для определенности
P2IE &= ~BIT2; //запрещаем прерывания от этой ноги!
__disable_interrupt(); //и ещё раз категорически!!!

Не новичок вроде бы, но с этим MK растерялся не на шутку. Благодарю за ответ заранее.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Nov 20 2006, 22:16
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Я не понял, а что странного?
Начиная с того, что я изучал в жизни первым - 8259, всегда были флаги запроса прерывания, и маска разрешения. Флаги формируются по соответствующему событию, независимо от маски, а прерывание выполняется, только если оно не замаскировано.
А где не так? Я не буду использовать такие микроконтроллеры blink.gif

А, понял. Разница в терминах. Учтите - флаги - это запросы, а не признаки входа в обработку прерывания.

Сообщение отредактировал Dog Pawlowa - Nov 20 2006, 22:19


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Vladimir_T
сообщение Nov 21 2006, 06:33
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 517
Регистрация: 7-02-06
Пользователь №: 14 073



Флаг должен устанавливаться, а вызов обработчика прерыания зависит от того разрешено ли вами оно (от порта в целом). Проанализировав флаги прерывания от порта вы можете в обработчике иж обработать поочедно.
Go to the top of the page
 
+Quote Post
Vasilius
сообщение Nov 21 2006, 10:41
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 22
Регистрация: 1-02-06
Из: Киев
Пользователь №: 13 864



Да понял. Уже и сам дошел. Меня просто смутила фраза из переводной документации:

Каждый бит PnIFG – это флаг прерывания соответствующей ножки ввода/вывода, устанавливаемый, когда происходит перепад выбранного входного сигнала на ножке. Все флаги прерывания PnIFG запрашивают прерывание, когда установлен их соответствующий бит PnIE и установлен бит GIE. Каждый флаг PnIFG должен быть сброшен программно. …

Всем большое спасибо.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 19:22
Рейтинг@Mail.ru


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