Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с внешней памятью 
:(
    Опции темы
Denver
Дата 21.2.2005, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 4.2.2005

Репутация: нет
Всего: нет



Вообщем задача такая: через каждый час нужно сохранять данные во внешней памяти (вести архив 5 суток), каждый час вычесляю новый адрес записи архива и записываю его.
Также требуется просмотр архива. Аналогично вычисляю адрес просмотра и считываю данные.
Но сколько не записываю выводится только последний архив, но адрес считывания исправно меняется на следующий.
В чем может быть причина?
Если надо могу отправить подпрограммы чтения/записи.
Заранее спасибо.
PM MAIL   Вверх
Hobo
Дата 21.2.2005, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 15.4.2004

Репутация: нет
Всего: нет



Память какая
PM MAIL ICQ   Вверх
jimmi
Дата 21.2.2005, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 17:18
PM MAIL   Вверх
Denver
Дата 21.2.2005, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 4.2.2005

Репутация: нет
Всего: нет



Проц ATmega128
Память FRAM(FM25640)

Насчет работает-неработает.
подпрограмма рабочая, только использовалась с EEPROM, а мне надо со внешней FRAM.
PM MAIL   Вверх
jimmi
Дата 21.2.2005, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 17:19
PM MAIL   Вверх
jimmi
Дата 21.2.2005, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 17:21
PM MAIL   Вверх
Denver
Дата 22.2.2005, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 4.2.2005

Репутация: нет
Всего: нет



у меня само вычесление адреса с обычными регистрами, а передача адреса косвенно.
Да, и как понять куда пишется и от куда читается.
Точнее сказать пишу каждый раз в новый (инкрементный) адрес, а считать должен изначально с первого и перемещаясь к последнему.
Ниже фрагмент проги записи во FRAM архива.

lds r16,BYTE_F_FM
sbr r16,1 ; установить флаг "КОП WREN (разрешение записи во FRAM)"
sts BYTE_F_FM,r16
ldi r16,0x06
cbi PORTB,PB5 ; установить флаг "FRAM выбран"
out SPDR,r16 ; записать КОП в регистр данных SPI
wait11: sbis PINB,PINB5
rjmp wait11

lds r16,BYTE_F_SPI
sbr r16,1 ; установить флаг "запись"
sts BYTE_F_SPI,r16
ldi r16,15
sts CNT_SPI,r16 ; записать кол-во байт записи
ldi r16,high(AhData)
sts ADR_BUF,r16 ; записать ст. байт нач. адрес буфера записи
ldi r16,low(AhData)
sts ADR_BUF+1,r16 ; записать мл. байт нач. адрес буфера записи
lds r16,BYTE_F_FM
sbr r16,2 ; установить флаг "ст. байт адреса FRAM"
sts BYTE_F_FM,r16

lds r16,PHA+1
ldi r17,15
call mul8u_8u ; r17..r16=PHA*15
ldi r18,0x30
clr r19
add r16,r18
adc r17,r19 ; r17..r16=PHA*15+нач.адрес записи(0x30)

sts ADR_FM,r17 ; записать ст. байт адресa FRAM
sts ADR_FM+1,r16 ; записать мл. байт адресa FRAM
ldi r16,0x02
cbi PORTB,PB5 ; установить флаг "FRAM выбран"
out SPDR,r16 ; записать КОП в регистр данных SPI
wait1a: sbis PINB,PINB5
rjmp wait1a

lds r20,PHA+1 ; нарастить счетчик записей часового архива
inc r20
cpi r20,168 ; 168 часов (7 суток)
brne hour_1
clr r20
lds r16,AOF
sbr r16,1
sts AOF,r16
lds r16,BYTE_F_RTC
sbr r16,0x01 ; уст.фл"Запись в RTC AOF"
sts BYTE_F_RTC,r16
hour_1: sts PHA+1,r20
PM MAIL   Вверх
jimmi
Дата 22.2.2005, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 17:17
PM MAIL   Вверх
Denver
Дата 24.2.2005, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 4.2.2005

Репутация: нет
Всего: нет



в примере я показал как изменяется адрес, здесь глюков не должно быть.
Самое интересное что считывает последний архив, хотя устанавливаю адрес первого архива.
да, ешё прикол читаю с любой ячейке памяти, читается то, что записывалось последний раз в архив, хотя адреса вообще не совпадает.
Как точно определить адрес записи? smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.