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

 
 
 
Closed TopicStart new topic
> lpc2478 + прерывание EINT1, не происходит прерывание EINT1
Alexander___
сообщение May 16 2011, 11:46
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 30-05-07
Пользователь №: 28 039



Доброго времени суток!
Уже третий день бьюсь над обработкой прерывания от внешнего источника 1. Не получается. help.gif
Загвоздка похоже в конфигурировании Р2.11(PINSEL4 23:22). Какую бы функцию не задал для этого вывода 00, 01, 10, 11, все воспринимается как 00. Т.е. могу оценить состояние вывода Р2.11 через FIO2PIN (FIO2PIN&0x800). Причем даже при FIO2DIR=0х800!
Может кто сталкивался с такой ситуацией? Подскажите где собака порылась

И еще если задать IO2IntEnR=0х800 и IO2IntEnF=0x800, то по соответствующим перепадам сигнала флаги в регистрах IO2IntStatR и IO2IntStatF устанавливаются в 0х800. В даташите сказано, что запись 1 в соответствующий бит регистров IO2IntEnR и IO2IntEnF разрешает прерывание по изменению сигнала на указанном выводе порта 2, но нет регистра для адреса функции обработки такого прерывания, нет бита в регистре VICIntEnable для разрешения такого прерывания. Одним словом нет возможности для обработки такого прерывания. Это интересно зачем так? Или может я что-то не так понял?

Заранее спасибо.


Go to the top of the page
 
+Quote Post
Alexander___
сообщение May 17 2011, 04:11
Сообщение #2





Группа: Участник
Сообщений: 10
Регистрация: 30-05-07
Пользователь №: 28 039



Ну вот. Либо слишком глупый вопрос задал, либо одно из двух sm.gif Неужели никто с такой ситуацией не сталкивался?! Или никто не использует внешнее прерывание 1? Или никому это не интересно?
Go to the top of the page
 
+Quote Post
yashok
сообщение May 17 2011, 04:57
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 31-08-10
Из: Минск-Витебск
Пользователь №: 59 203



Что касается конфигурации P2.11, может быть у Вас включен LCD контролер. Он задействует этот пин.

По поводу прерываний - UM10237 стр 195

Цитата
GPIO0 and GPIO2 interrupts share the same VIC slot with the External Interrupt 3
event.


Сообщение отредактировал yashok - May 17 2011, 04:57
Go to the top of the page
 
+Quote Post
DpInRock
сообщение May 17 2011, 05:05
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
нет бита в регистре VICIntEnable для разрешения такого прерывания
Внимательное чтение таблицы 116 отвечает на этот вопрос так: EINT3=GPIO.

Цитата
Какую бы функцию не задал для этого вывода 00, 01, 10, 11, все воспринимается как 00.

Вы сами понимаете смысл этой фразы?

В формулировке вопроса содержится минимум половина ответа. Формулируя вопрос забудьте о том, что телепаты существуют.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Alexander___
сообщение May 17 2011, 06:09
Сообщение #5





Группа: Участник
Сообщений: 10
Регистрация: 30-05-07
Пользователь №: 28 039



Цитата(DpInRock @ May 17 2011, 11:05) *
Вы сами понимаете смысл этой фразы?

Еще как понимаю! Понимаю еще что Вы не понимаете. sm.gif А телепаты это кто?
Ладно. Расшифрую.
Насколько я понимаю (может и ошибаюсь), если задать альтернативную функцию для вывода порта, то значение бита в FIOPN не должно меняться? А тут какю бы функцию не задал, в данном случае или EINT1/
LCDCLKIN, или MCIDAT1 или I2STX_CLK, изменение сигнала на Р2.11 влияет на 11 бит регистра FIO2PIN.
Так понятно изложил? sm.gif



Цитата(yashok @ May 17 2011, 10:57) *
Что касается конфигурации P2.11, может быть у Вас включен LCD контролер. Он задействует этот пин.

По поводу прерываний - UM10237 стр 195

Спасибо за подсказку про прерывания, только у меня в мануале это страница 188 оказалась. Наверное разные версии.

LCD контролер включен. А разве сброс 5 бита в LCD_POL не может разрешить прерывание? Может опять я невнимательно доку читал.
Go to the top of the page
 
+Quote Post
yashok
сообщение May 17 2011, 06:35
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 31-08-10
Из: Минск-Витебск
Пользователь №: 59 203



Цитата
если задать альтернативную функцию для вывода порта, то значение бита в FIOPN не должно меняться


Описание FIOPIN

Fast Port Pin value register using FIOMASK. The current state
of digital port pins can be read from this register, regardless of
pin direction or alternate function selection
(as long as pins are
not configured as an input to ADC). The value read is masked
by ANDing with inverted FIOMASK. Writing to this register
places corresponding values in all bits enabled by zeros in
FIOMASK.
Go to the top of the page
 
+Quote Post
Alexander___
сообщение May 18 2011, 05:38
Сообщение #7





Группа: Участник
Сообщений: 10
Регистрация: 30-05-07
Пользователь №: 28 039



Всем спасибо! Заработало. Подключил прерывание через GPIO=EINT3. Тему можно закрыть.
Go to the top of the page
 
+Quote Post

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

 


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


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