|
I2C в LPC2148, Не могу корректно обработать прерывание |
|
|
|
Jun 4 2007, 16:03
|
Группа: Новичок
Сообщений: 3
Регистрация: 30-05-07
Пользователь №: 28 052

|
Использую Keil uVision 3.50. Запускаю немного переделанную программу-образец работы с I2C. Разрешил интерфейс (I2CEN=1), поставил состояние START (STA=1), дальше идет такая вещь while (lock == 1) {;} //Wait for interrupt to signal end of I2C activity Перед этим по программе lock был установлен 1. Именно в этом месте устройство приобретает Device Mode = master, и появляется запись START transmitted. I2CSTAT становится 0х08 что означает что передан START, а курсор в Disassembly Window слетает на строчку 0х00000018 00000000 ANDEQ R0,R0,R0 Вроде по этому адресу должна начаться обработка прерывания irq. Флаг Z=1. Далее если нажать F10 (выполнение следующей команды, то есть ANDEQ R0,R0,R0), появляется следующая ошибка: Error 65: access violation at 0x00000018 : no "execute/read" permission Всё! Дальше программа не идёт! Что здесь не так?
|
|
|
|
|
 |
Ответов
|
Jun 5 2007, 13:15
|
Группа: Новичок
Сообщений: 3
Регистрация: 30-05-07
Пользователь №: 28 052

|
А может можно как-то вообще без прерываний обойтись, чтобы управлять I2C? Что нужно сделать после того, как я задал состояние Start, например? Как теперь его реализовать (пустить на шину, и чтобы I2C0STAT стал 0х08)?
|
|
|
|
|
Jun 5 2007, 13:31
|

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

|
Цитата(Ivan73 @ Jun 5 2007, 16:15)  А может можно.... Филипс автор I2C и его документация по контроллеру разжевывает все до безобразия. Для 2148, если мне не изменяет память, они все уже включили в User Manual, для более старых контроллеров в UM приведена ссылка на классическое описание I2C контроллера. Читайте. Образчик своей лабораторной работы (LPC2xxx) с обработчиком прерывания и разборкой нештатных ситуаций я на форуме выкладывал. Другие тоже многократно давали ссылки и исходники. Воспользуйтесь поиском.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|