реклама на сайте
подробности

 
 
> Что не так в записи во Flash
Vladimir_J
сообщение Dec 5 2009, 09:23
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 9-01-07
Из: Украина
Пользователь №: 24 228



Доброе время суток smile.gif
Написал программу которая должна переписывать данные во Flash МК. Но к сожалению правильно она не работает.
После первого старта программа стирает 0 страницу, записывает туда данные - все нормально, но последующие попытки записи увенчались провалом - то есть запись идет не с того адреса, который я подаю, а опять с нулевого. Количество страниц для записи лежит в EEPROM-е, сами данные вычитываються из внешней памяти.
CODE

for (i=FirstPageForWrite ; i < FirstPageForWrite + ((EEPROM_read(aCNTPaketHigh)<<8) + EEPROM_read(aCNTPaketLow));i++) {
Page_To_Buffer(i,1);
Buffer_Read_Str(1,0,264,BufferPtr);

if (BufferPtr[261]==0)
cByte_Paket = 256;
else
cByte_Paket = BufferPtr[261];

tCRC = 0;
for (j = 0;j < cByte_Paket;j++) {
tCRC += BufferPtr[j];
}

pCRC = (CharHex(BufferPtr[256] >> 4) * 16 + CharHex(BufferPtr[256] & 0x0F)) * 256 ;
pCRC += CharHex(BufferPtr[257] >> 4) * 16;
pCRC += CharHex(BufferPtr[257] & 0x0F);

if (pCRC == tCRC) {
addrWR = ((BufferPtr[258] >> 4) * 100000 ) + ((BufferPtr[258] & 0x0F) * 10000 );
addrWR += ((BufferPtr[259] >> 4) * 1000 ) + ((BufferPtr[259] & 0x0F) * 100 );
addrWR += ((BufferPtr[260] >> 4) * 10 ) + ((BufferPtr[260] & 0x0F) * 1 );

//addrWR = atoi(BufferPtr[258]) * 1000 + atoi(BufferPtr[259]) * 100 + atoi(BufferPtr[260]);

_PAGE_ERASE( addrWR );
_WAIT_FOR_SPM();
tempaddress = addrWR;
kk = 0;
do {
data = BufferPtr[kk+1] << 8 | BufferPtr[kk];
_WAIT_FOR_SPM();
_FILL_TEMP_WORD(addrWR,data);
(addrWR)+=2; // Select next word in memory.
kk+=2;
} while(kk < cByte_Paket); // Loop until all bytes written.

_PAGE_WRITE(addrWR);
_WAIT_FOR_SPM();
_ENABLE_RWW_SECTION();
}
}

В чем может быть дело?
Заранее благодарен smile.gif

Да прибудет с Вами удача smile.gif
Причина редактирования: Последний раз форматирую исходник и переношу тему. Moderator.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:54
Рейтинг@Mail.ru


Страница сгенерированна за 1.1405 секунд с 7
ELECTRONIX ©2004-2016