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

 
 
> AT90USB1287 не отрабатывает внешние прерывания, В чем дело?
alux
сообщение Aug 4 2008, 03:41
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Отлаженый проект переношу с MEGA324P на AT90USB1287. После соответствующей коррекции программы перестало отрабатывать нажатия на матричной клавиатуре 4х4. Изменилась схема подключения клавиатуры: раньше COL и RAW подключались к двум разным портам. Теперь занимают один PORTF. И, так как у AT90USB1287 только PORTB имеет PCINT (зачем было так ограничивать функциональность МК ?!!), то выводы RAW через диоды анодами подключены к выводу внешнего прерывания INT6 (PORTE6). Прерывания настраиваю как обычно:
Код
int main()
{
  // Initialise
  ACSR = (1<<ACD);  // Analog Comparator Disable
  .................
  PORTE = (1<<KEY_INT);  // INT6 -> input, pull-up - ON

  key_Init();
__enable_interrupt();    // set the Global Interrupt Enable Bit
.....................................
///////////////////////////////////////////

#define ENABLE_INT6   {EIFR |= (1<<INTF6); EIMSK |= (1<<INT6);}// Clear interrupt status flag, Enable external interrupt INT6
#define DISABLE_INT6  EIMSK &= ~(1<<INT6)    // Disable external interrupt INT6

void key_Init(void)
{
  /* Init ports */  
  KEYMATRIX_DDR = 0x0f;            // Set row lines to input, Set column lines to output  
  KEYMATRIX_PORT = 0xf0;    // Pull row lines high, Drive all column lines low  
    
  /* Enable external interrupt */
  ENABLE_INT6;            // Enable pin change interrupt INT6
}

Выяснилось, что не вызывается обработчик прерывания INT6. Проверяю по звуковому сигналу BEEP.
В симуляторе в AVRSTUDIO тоже прогнал - не вызываются прерывания: ни по низкому уровню, ни по фронтам (заднему и переднему). АЦП (PORTF) не использую. В чем дело?

PS. Схему и код выкладываю, чтобы не возникало лишних вопросов.
Прикрепленные файлы
Прикрепленный файл  shema1.pdf ( 103.82 килобайт ) Кол-во скачиваний: 304
Прикрепленный файл  shema2.pdf ( 77.4 килобайт ) Кол-во скачиваний: 225
Прикрепленный файл  keymatrix.rar ( 1.31 килобайт ) Кол-во скачиваний: 44
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alux   AT90USB1287 не отрабатывает внешние прерывания   Aug 4 2008, 03:41
- - alux   Глас вопиющего в пустыне... У меня проект останови...   Aug 5 2008, 03:17
- - SysRq   Фьюз JTAGEN проверьте. Если включен JTAG (можно и ...   Aug 5 2008, 09:48
|- - alux   Цитата(SysRq @ Aug 5 2008, 12:48) Фьюз JT...   Aug 5 2008, 10:47
- - GDI   Проверьте в симуляторе какие значения в регистры п...   Aug 5 2008, 10:59
- - alux   По-умолчанию, при разрешении соответствующего внеш...   Aug 5 2008, 12:34
- - GDI   В вшем коде не видно настройки DDRE, надеюсь на вх...   Aug 5 2008, 12:44
|- - alux   Цитата(GDI @ Aug 5 2008, 15:44) В вшем ко...   Aug 5 2008, 13:40
- - GDI   Цитатау этого камня не правильно пронумерованы век...   Aug 5 2008, 13:47
- - sKWO   alux, прочитайте ответ Александра Редчука на телес...   Aug 5 2008, 14:47
|- - alux   Цитата(sKWO @ Aug 5 2008, 17:47) прочитай...   Aug 5 2008, 15:42
|- - sKWO   Цитата(alux @ Aug 5 2008, 18:42) Этот пос...   Aug 6 2008, 15:02
- - SysRq   А можно понтересоваться (в целях повышения образов...   Aug 6 2008, 14:38
|- - alux   Цитата(SysRq @ Aug 6 2008, 17:38) у вас О...   Aug 6 2008, 15:43
|- - SysRq   Цитата(alux @ Aug 6 2008, 19:43) Получает...   Aug 6 2008, 23:20
- - Т.Достоевский   По уровню? То-есть если на порту INTx = 0, то заст...   Aug 7 2008, 00:44
|- - alux   Цитата(Т.Достоевский @ Aug 7 2008, 03:44)...   Aug 7 2008, 05:00
|- - SysRq   Цитата(alux @ Aug 7 2008, 09:00) Сделал т...   Aug 7 2008, 05:53
|- - alux   Проверить проект смогу вечером. Пока могу предполо...   Aug 7 2008, 09:01
|- - sKWO   Цитата(alux @ Aug 7 2008, 12:01) Проверит...   Aug 7 2008, 10:12
|- - alux   Цитата(sKWO @ Aug 7 2008, 13:12) не молов...   Aug 7 2008, 10:16
- - SysRq   Цитата(alux @ Aug 7 2008, 14:16) ...раско...   Aug 7 2008, 14:08
|- - alux   Цитата(SysRq @ Aug 7 2008, 17:08) На этом...   Aug 7 2008, 15:25
- - SysRq   А в железе?   Aug 7 2008, 18:17
|- - alux   Цитата(SysRq @ Aug 7 2008, 21:17) А в жел...   Aug 7 2008, 19:25
- - alux   Обработчик внешнего прерывания не вызывается из-за...   Aug 8 2008, 18:58
- - alux   Снова проблема с внешним прерыванием. На этот раз ...   Sep 4 2008, 15:38
|- - ReAl   Цитата(alux @ Sep 4 2008, 18:38) Кодint m...   Sep 5 2008, 07:33
|- - alux   Цитата(ReAl @ Sep 5 2008, 10:33) не реком...   Sep 5 2008, 09:12
|- - ReAl   Цитата(alux @ Sep 5 2008, 12:12) Потребно...   Sep 6 2008, 12:53
- - SasaVitebsk   Надеюсь вы учли, что просыпаться только Only ...   Sep 4 2008, 18:55
|- - alux   Цитата(SasaVitebsk @ Sep 4 2008, 21:55) Н...   Sep 5 2008, 06:12
- - alux   Второй раз наступаю на одни и те же грабли: Кодvo...   Sep 6 2008, 08:33


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

 


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


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