Имеем LPC2378 на отладочной плате. Взяли примеры реализации I2C из книги Мартина Тревора. По команде "старт" (I20CONSET = 0x20;) не попадаем в обработчик прерывания. В чем может быть проблема?
Вы компилируете со смещением адресов и прошивку в ram заливаете?? Если не, то это лишнее
Код
MEMMAP = 0x02;
Caesium
May 26 2011, 05:32
Убрал, ситуация та же самая. После установки старта, прерывания не возникает. Стартап стандартный предложенный keil'ом для данного мк.
yashok
May 26 2011, 06:13
Код
I20CONCLR = 0x000000FF;
Может лучше придерживаться советов из мануала и очистить только нужные биты
Код
I2CONCLR= 0x6С;
Nixon
May 26 2011, 06:23
Посмотрите в визарде стартапа разрешена ли I2C. Или сразу лучше ручками ее разрешите (смотреть PCON и PCLKSELx заодно).
Caesium
May 26 2011, 06:52
Цитата(yashok @ May 26 2011, 10:13)
Код
I20CONCLR = 0x000000FF;
Может лучше придерживаться советов из мануала и очистить только нужные биты
Код
I2CONCLR= 0x6С;
Спасибо за совет.
Цитата(Nixon @ May 26 2011, 10:23)
Посмотрите в визарде стартапа разрешена ли I2C. Или сразу лучше ручками ее разрешите (смотреть PCON и PCLKSELx заодно).
Configuration wizard: стоит галочка напротив PCI2C0: I2C interface 0 power/clock enable
Caesium
May 30 2011, 10:45
Если установить вручную I20CONSET = 0x8; сразу после команды старт, то прерывание возникает. В статусном регистре при этом находится 0xC8. Может я неправильно задаю IRQ прерывание? Аналогичный код превосходно работает на LPC2138
yashok
May 30 2011, 11:58
Цитата
Может я неправильно задаю IRQ прерывание? Аналогичный код превосходно работает на LPC2138
Внес изменения. Адрес обработчика прерывания заносится, приоритет выставляется (=13), IntEnable = 1. Но результат тот же. Выполнение программы зависает в while(lock == 1){}. в I2CISR никогда не попадаем.
yashok
May 30 2011, 13:57
А линии к питанию подтянуть не забыли??
Caesium
May 31 2011, 04:49
Цитата(yashok @ May 30 2011, 17:57)
А линии к питанию подтянуть не забыли??
Да, забыли. Спасибо большое за помощь, проблема решилась.
Nixon
May 31 2011, 06:15
Думал поначалу спросить, но боялся обидеть вопросом
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.