MemoryTest
Mar 31 2006, 13:43
проблема, похоже я что не доконфигурил., не могу добиться срабатывания
ни одного INT_EXT[..]
пробую в цикле выводить что то типа подобного
loop:
Print("MY debug *VIC1_RAWINTR %X, VIC1_INTENABLE %X,
*VIC2_RAWINTR %X, VIC2_INTENABLE %X\r\n",
*VIC1_RAWINTR,
*VIC1_INTENABLE,
*VIC2_RAWINTR,
*VIC2_INTENABLE );
Sleep(1000);
goto loop;
выводит
debug *VIC1_RAWINTR 8, VIC1_INTENABLE 10, *VIC2_RAWINTR 1000218, VIC2_INTENABLE 180
видно что EXT_INT[3] размаскировано (VIC2_INTENABLE = 0х180)
но *VIC2_RAWINTR всегда = 0х1000218
хоть я и корочу внешний пин время от времени на землю.
Хелп плс. Если кто сталкиваося.
aaarrr
Mar 31 2006, 15:50
INT_EXT[..] в EP93xx активны только в высоком уровне. Не помню сейчас,
где именно об этом написано.
Препарировав свой код установил, что какая-либо инициализация, кроме
собственно разрешения прерывания, отсутствует - т.е. не требуется.
MemoryTest
Apr 5 2006, 05:05
Цитата(aaarrr @ Mar 31 2006, 18:50)

INT_EXT[..] в EP93xx активны только в высоком уровне. Не помню сейчас,
где именно об этом написано.
Препарировав свой код установил, что какая-либо инициализация, кроме
собственно разрешения прерывания, отсутствует - т.е. не требуется.
Спасибо за ответ.
насчет прерываний написано следующее
"Three dedicated off-chip interrupt lines operate as active high level sensitive interrupts"
но в то же время на всех схемах EDB93xx от Цирусса эти прерывания заведены как низкоуровневые,
что и сбило меня с толку

.
http://arm.cirrus.com/files/schematics/edb..._SCHEMATICS.pdfПосмотрел еще одну схемку там прерывания заведены как срабатывающие по высокому уровню.
http://www.embeddedarm.com/downloads/Schem..._RevB_Schem.pdfСейчас буду проверять.
Бест Регардс!
МТ.
MemoryTest
Apr 5 2006, 05:36
Цитата(MemoryTest @ Apr 5 2006, 08:05)

Цитата(aaarrr @ Mar 31 2006, 18:50)

INT_EXT[..] в EP93xx активны только в высоком уровне. Не помню сейчас,
где именно об этом написано.
Спасибо за ответ.
насчет прерываний написано следующее
"Three dedicated off-chip interrupt lines operate as active high level sensitive interrupts"
Сейчас буду проверять.
Бест Регардс!
МТ.
Короче подтверждаю! Проверил! Прерывания срабатывают по лог 1 на входе INT_EXT.
в схематиках от Цирруса на EDB93xx IMHO ошибки.
Цитата(MemoryTest @ Apr 5 2006, 09:36)

Короче подтверждаю! Проверил! Прерывания срабатывают по лог 1 на входе INT_EXT.
в схематиках от Цирруса на EDB93xx IMHO ошибки.
Действительно, на циррусовских схемах стоят pull-up вместо pull-down. Сам
на эти грабли наступил в свое время. Если нужно нормально программировать
прерывание, можно воспользоваться EGPIO.