Цитата(Shaienn @ Sep 9 2009, 16:38)

отладочная плата. Т.е. с железной частью все в порядке. На ноге А0 стоит светодиод. При запуске этой программы светодиод гаснет и больше ничего не происходит.
Программа выставляет A0 в "1", светодиод гаснет - все правильно.
Код
if (i==1)
{
AT91C_BASE_PIOA->PIO_SODR = i;
i=0;
}
else
{
AT91C_BASE_PIOA->PIO_SODR = i;
i=1;
}
При i = 0 - ничего не делаем, при i = 1 - ставим "1" на PA0. Если это была попытка выдать меандр, то нужно было сделать так:
Код
if (i)
{
AT91C_BASE_PIOA->PIO_SODR = 1;
i = 0;
}
else
{
AT91C_BASE_PIOA->PIO_CODR = 1;
i = 1;
}
Цитата(Shaienn @ Sep 9 2009, 16:38)

Вопрос: Есть отладчик ULINK. При пошаговом проходе через JTAG прерывания должны срабатывать? Потому что у меня при пошаговом проходе программа не заходит в прерывание, а есть я ставлю brakepoint в теле прерывания и нажимаю run, то заходит.... Я этого не понимаю.
М.б. окно с регистрами AIC открыто?
Цитата(Shaienn @ Sep 9 2009, 16:38)

Этот код взял
отсюда. В принципе, насколько я понимаю, он идентичен по смыслу: AT91C_BASE_AIC->AIC_IECR = (1UL << AT91C_ID_SYS);
По смыслу он как раз не идентичен, т.к. содержит явную бессмыслицу.