[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: RD3AVJ 
Форум » форумы » Общие вопросы по Bascom-AVR » Запись/чтение двух переменных в/из eeprom
Запись/чтение двух переменных в/из eeprom
marss70Дата: Четверг, 24.01.2013, 22:47 | Сообщение # 1
Группа: Проверенные
Сообщений: 80

Статус: Offline
Подскажите, как записать две переменные в eeprom? Просто написав таким образом запись/чтение происходит только значения count2.

 $eeprom
Countdata:
Data 17%
$data
Readeeprom Count , Countdata

$eeprom
Countdata2:
Data 17%
$data
Readeeprom Count2 , Countdata2
.
.
.
Writeeeprom Count , Countdata

Writeeeprom Count2 , Countdata2


 
Aleks8383Дата: Пятница, 25.01.2013, 11:03 | Сообщение # 2
Группа: Проверенные
Сообщений: 102

Статус: Offline
Я лично делаю так 

Код
Dim Cont As Byte                    'переменная оперативной памяти
Dim Contdata Eram Byte                    'переменная в eeprom

Cont = 27                    'переменная = 27

Contdata = Cont                    'запись в eeprom
Cont = Contdata                    'чтение из eeprom
 мне так проще.


 
exersizzeДата: Пятница, 25.01.2013, 13:20 | Сообщение # 3
Группа: Администраторы
Сообщений: 716

Статус: Offline
Я тоже пользуюсь способом предложенным Aleks8383, компилятор сам указывает адреса записи переменных. 

Насколько понял из беглого чтения хэлпа по записи в еепром командой  Writeeeprom, вы пишите обе переменные по одному и тому же адресу, вот и получается что вторая переменная затирает первую.


 
marss70Дата: Суббота, 26.01.2013, 12:02 | Сообщение # 4
Группа: Проверенные
Сообщений: 80

Статус: Offline
Спасибо, будем пробовать.

 
marss70Дата: Суббота, 26.01.2013, 12:37 | Сообщение # 5
Группа: Проверенные
Сообщений: 80

Статус: Offline
Попробовал, но что-то компилятор ругается.
Прикрепления: 7525707.png(8Kb)


 
marss70Дата: Суббота, 26.01.2013, 13:31 | Сообщение # 6
Группа: Проверенные
Сообщений: 80

Статус: Offline
Всё заработало. Aleks8383, у тебя ошибка в строчке :
 Dim Contdata Eram Byte                    'переменная в eeprom 
Надо было записать так:
Dim Contdata  As Eram Byte                    'переменная в eeprom 
Ты пропустил слово As

В итоге я записал след.образом:
Dim Count As Byte , Countdata As Eram Byte                  'переменная оперативной памяти, переменная памяти eeprom
Dim Count2 As Byte , Countdata2 As Eram Byte               'переменная оперативной памяти, переменная памяти eeprom

Всем спасибо.


 
Алексей_birdДата: Среда, 27.02.2013, 21:50 | Сообщение # 7
Группа: Пользователи
Сообщений: 2

Статус: Offline
А как записать, а потом считать переменную, если она не Byte типа, а например Integer. Ну т.е. её значение больше 255

 
exersizzeДата: Среда, 27.02.2013, 22:35 | Сообщение # 8
Группа: Администраторы
Сообщений: 716

Статус: Offline
Да точно также, достаточно объявить нужный тип переменной.

Код
Dim A As Eram Integer
Dim B As Integer
'читаем из энергонезависимой памяти
B=A   
'пишем в энергонезависимую память
А=B


 
ScorpushkaДата: Четверг, 09.01.2014, 07:14 | Сообщение # 9
Группа: Свой человек
Сообщений: 31

Статус: Offline
несколько чисел хранить так?

Dim Eep_tust As Eram Integer
Dim Eep_delt As Eram Integer




Сообщение отредактировал Scorpushka - Четверг, 09.01.2014, 07:21
 
Форум » форумы » Общие вопросы по Bascom-AVR » Запись/чтение двух переменных в/из eeprom
Страница 1 из 11
Поиск: