[an error occurred while processing this directive]
только для lv400b (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено bp 07 июля 2006 г. 18:28
В ответ на: Кто-нибудь может бросить программку для стирания и программирования AM29LV040B? Я накулемал по ds, но что-глючит: не с первого раза записывает. Видимо времена или в алгоритме напутал. отправлено Lucky 07 июля 2006 г. 18:20

void SectorEraseFLASH(short sector)
{
(*(short*)(0x00000555 * 2)) = 0x2222;
(*(short*)(0x000002AA * 2)) = 0x8888;
(*(short*)(0x00000555 * 2)) = 0x0002;
(*(short*)(0x00000555 * 2)) = 0x2222;
(*(short*)(0x000002AA * 2)) = 0x8888;
switch(sector)
{
case 0:
(*(short*)(0x00000)) = 0x00A0;
break;
case 1:
(*(short*)(0x10000)) = 0x00A0;
break;
case 2:
(*(short*)(0x20000)) = 0x00A0;
break;
case 3:
(*(short*)(0x30000)) = 0x00A0;
break;
case 4:
(*(short*)(0x40000)) = 0x00A0;
break;
case 5:
(*(short*)(0x50000)) = 0x00A0;
break;
case 6:
(*(short*)(0x60000)) = 0x00A0;
break;
case 7:
(*(short*)(0x70000)) = 0x00A0;
break;
case 8:
(*(short*)(0x78000)) = 0x00A0;
break;
case 9:
(*(short*)(0x7A000)) = 0x00A0;
break;
case 10:
(*(short*)(0x7C000)) = 0x00A0;
break;
default:
(*(short*)(0x00000555 * 2)) = 0x0080;
break;
}
}

void WriteWordFLASH(long word_address, short data)
{
short j = 0;
(*(short*)(0x00000555 * 2)) = 0x2222;
(*(short*)(0x000002AA * 2)) = 0x8888;
(*(short*)(0x00000555 * 2)) = 0x0022;
(*(short*)(word_address * 2)) = data;
}

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru