Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Адресация внешней памяти
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Сергей X
Здравствуйте всем.
Я новичок в работе с внешней памятью.Осилил запись,все нормально.Непонятным остается только одно.Когда я отправляю на запись один байт,предположим 0x55 единожды,то при чтении получается,что заполняется область памяти вплоть до адреса 0xFF.А мне нужно записать только по одному адресу.Память AT25160A. Вот код на асме
sbi PortB,_CS
ldi temp,0x06 ;разрешение записи
cbi PortB,_CS ;
nop ;
nop ;
rcall write_mem ;вызов обмена по SPI
nop ;
nop ;
sbi PortB,_CS ;выбор устройства
ldi temp,0x02 ;инструкция записи
cbi PortB,_CS ;
nop
nop
rcall write_mem ;
mov temp,adres_h ;старший адрес
rcall write_mem ;
mov temp,adres_l ;
rcall write_mem ;
mov temp,PrH ;младший адрес
ldi temp,0x55 ;число для записи
rcall write_mem ;
nop
nop
sbi PortB,_CS
Операция обмена по SPI взята из даташита на tiny 2313(это мой контроллер)
Я читал,что можно осуществить страничную запись,но в 32 байта,а не как у меня
Может кто-то сталкивался с такой проблемой?
Подскажите,пожалуйста.
P.S. Нужна именно побайтная запись
aaarrr
После записи байта нужно дождаться готовности EEPROM (нулевой бит статусного регистра должен установиться в '0').

А с чтением-то все в порядке? Не может так быть, что всегда нулевой байт читается?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.