[an error occurred while processing this directive]
|
Подскажите нет ли здесь ошибок? Может диаграмма не выдерживается?
(Код для меги)
void idma_latch(unsigned short addr){
DDRA = 0xFF;
DDRC = 0xFF;
PORTC= addr >> 8;
PORTA= addr & 0xFF;
WAIT_IACK; // while(IACK)
IS = 0;
IAL = 1;
IAL = 0;
IS = 1;
PORTC = 0xFF;
PORTA = 0xFF;
DDRA = 0;
DDRC = 0;
}
unsigned short idma_long_read(void){
unsigned short res;
WAIT_IACK;
IS = 0;
IRD = 0;
#asm
nop; // гарантировано пропускаем переход IACK в 1
nop; // или нет гарантии? !!!
nop;
nop;
#endasm
WAIT_IACK;
res=PINC;
res <<= 8;
res |= PINA;
IRD = 1;
IS = 1;
}
E-mail: info@telesys.ru