[an error occurred while processing this directive]
ADSP2191: чудеса с задержками...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено &Некто 20 марта 2006 г. 18:56

Пробовал по всякому и с таймером и с NOP - задержка куда-то исчезает, чтобы я ни делал, получается стабильно 5,2 мкс. В тексте флаг 8 выведен для диагностики времени задержки. Это сабрутина для стирания сектора памяти во внешней флеши. Может кто разгадает в чем дело? Смотрел в dxe - код точно как написан.
///////////////////////////////////////////////////////////////////////////////
void EMErase(UINT sector)//erase sector before writing!
{
UINT i;
//-----------------------------------------------------------------------------
//Sector Erase: 555 AA 2AA 55 555 80 555 AA 2AA 55 SA 30
external_memory_write(0x81, 0x555, 0xAA);
external_memory_write(0x81, 0x2AA, 0x55);
external_memory_write(0x81, 0x555, 0x80);
external_memory_write(0x81, 0x555, 0xAA);
external_memory_write(0x81, 0x2AA, 0x55);
external_memory_write(0x81, sector, 0x30);
//-----------------------------------------------------------------------------
//time delay > 50 uS!
//????????????????????????????????????????????
asm ("
IOPG = General_Purpose_IO;
AY0 = 0x0100;//PF8 = BANK0
IO(FLAGS ) = AY0;//Peripheral Interrupt Flag Register set
");//asm
//????????????????????????????????????????????
for(i = 0;i < 0xFFFF;i++)
{
asm("NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;");
asm("NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;");
asm("NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;");
asm("NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;");
asm("NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;");
asm("NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;");
asm("NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;");
asm("NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;");
asm("NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;");
asm("NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;");
}
//????????????????????????????????????????????
asm ("
IOPG = General_Purpose_IO;
AY0 = 0x0100;//PF8 = BANK0
IO(FLAGC ) = AY0;//Peripheral Interrupt Flag Register set
");//asm
//????????????????????????????????????????????
}
///////////////////////////////////////////////////////////////////////////////

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru