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

 
 
> Программирование Flash Mega128(SPI), при считывании вижу пропуск в одну страницу?
StasUKR
сообщение Feb 19 2015, 09:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 12-03-13
Пользователь №: 75 988



Приветствую всех

Делаю контроллер перешивающий другой контроллер по SPI
Связь наладил, инициализацию программирования сделал, читаю ID, стираю флеш, пишу постранично...
НО!
При записи 2х страниц(длинной 128 слов) по адресам 00000 и 00001 данные пишутся через промежуток в 128 слов.
При считывании всей памяти я вижу : 128слов первая страница,128*"FFFF",128 слов вторая страница,128*"FFFF",...)
Что я делаю не так?

Код записи буфера и страницы:
Код
void writeword(uint16_t data,uint8_t numb)//пишем 16-битное слово по адресу на страницу
{
//младший байт
spi_send_byte(0x40);//1
spi_send_byte(0x00);//2
spi_send_byte(numb);//3 - адр слова на странице
spi_send_byte((data&0xFF));//4 - сначала младший байт 16-чного слова
//старший байт
spi_send_byte(0x48);//1
spi_send_byte(0x00);//2
spi_send_byte(numb);//3 - адр слова на странице
spi_send_byte((data>>8));//4 - потом старший байт 16-чного слова

}

void writepage(unsigned short int NumPage)//пишем страницу 128 слов
{
for(unsigned short int i=0;i<128;i++)
{
  writeword(0x1001,i);
}

spi_send_byte(0x4C);//1 //команда на запись

spi_send_byte(0x00);//2 к примеру пишу нулевую страницу
spi_send_byte(0x00);//3

spi_send_byte(0x00);//4

}

результат чтения:
Код
:020000020000FC
:100000000110011001100110011001100110011068
:100010000110011001100110011001100110011058
:100020000110011001100110011001100110011048
...
:1000D0000110011001100110011001100110011098
:1000E0000110011001100110011001100110011088
:1000F0000110011001100110011001100110011078
:10010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:10011000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:10012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
...
:1001D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:1001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:1001F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:1002000002200220022002200220022002200220DE
:1002100002200220022002200220022002200220CE
:1002200002200220022002200220022002200220BE
...
:1002D000022002200220022002200220022002200E
:1002E00002200220022002200220022002200220FE
:1002F00002200220022002200220022002200220EE
:10030000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
:10031000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED


Спасибо a14.gif
Go to the top of the page
 
+Quote Post



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

 


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


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