C8051F340 флэш-чтение всегда 255

Я использую C8051F340 и сохраняю какое-то случайное число на своей флеш-памяти, проблемы, с которыми я сталкиваюсь сейчас, заключается в том, что если я сначала сотру, а потом напишу, а затем прочту, значение будет правильным. Но если я просто использую функцию чтения, это только даст мне 255 внутри правильного значения. Вот код

buf[0] = 1;
buf[1] = 1;
buf[2] = 1;
buf[3] = 1;
buf[4] = 1;
buf[5] = 0;
buf[6] = 1;
buf[7] = 1;
buf[8] = 1;
buf[9] = 1;
buf[10] = 1;
buf[11] = 1;
buf[12] = 1;
buf[13] = 1;
buf[14] = 1;
buf[15] = 1;


FLASH_PageErase (0x3200);
for(i=0;i<16;i++)
{
FLASH_ByteWrite(0x3200+i, buf[i]);
read_buf[i] = FLASH_ByteRead (0x3200+i);
}

после этого кода я могу найти мой read_buf[i]: 1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1

Но если бы я только прочитал функцию:

buf[0] = 1;
buf[1] = 1;
buf[2] = 1;
buf[3] = 1;
buf[4] = 1;
buf[5] = 0;
buf[6] = 1;
buf[7] = 1;
buf[8] = 1;
buf[9] = 1;
buf[10] = 1;
buf[11] = 1;
buf[12] = 1;
buf[13] = 1;
buf[14] = 1;
buf[15] = 1;


for(i=0;i<16;i++)
{

read_buf[i] = FLASH_ByteRead (0x3200+i);
}

результат моего read_buf[i]: 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255

0 ответов

Другие вопросы по тегам