Цитата(GDI @ Nov 8 2006, 15:56)

Похоже этот эффект не влияет на работу шины внешней памяти.. Сейчас сделал бесконечный тест на чтение с проверкой содержимого внешней памяти на фоне мигающего светодиода - 20 минут, полет нормальный сбоев чтения нет.
В архиве находится тестовый проект - мигающий светодиод на PF0, при добавлении в файле main.c в функцию init() строки MCUCR |= 0x80; появляются импульсы на PA0
Проект под IAR 4.20a для ATmega128L при питании 3.3В
Удосужился взглянуть на вашу тестовую пограмму, не могу понять, как она работает.
В программе обработки прерывания от таймера вызывается программа led_act_fsm. В первой строке этой подпрограммы инициализируется переменная led_act_delay=10. Затем в следующей строке из этой переменной вычитается единица. Затем проверяется, не равна ли нулю эта переменная. Если она равна нулю, то инвертируется ножка, управляющая светодиодом. Но эта переменная никогда не будет равна 0, т.к. на входе в подпрограмму устанавливается на 10, на выходе - 9. Смотрите фрагмент ниже.
Код
#define LED_ACT_NORMAL_DELAY 10
#pragma vector = TIMER1_OVF_vect
__interrupt void timer_isr(void)
{
TCNT1 = TIMER_VALUE;
led_act_fsm();
}
void led_act_fsm(void)
{
static byte led_act_delay = LED_ACT_NORMAL_DELAY;
led_act_delay--;
if(!led_act_delay)
{
leds_act_tgl();
switch(led_act_state)
{
case ACT_LED_NORMAL:
led_act_delay = LED_ACT_NORMAL_DELAY;
break;
case ACT_LED_QF_ERROR:
led_act_delay = LED_ACT_QF_ALARM_DELAY;
break;
}
}
}