FLProg
Вход на сайт
Логин:
Пароль:
Поиск
Мы в VK
...
Статистика
Вторник, 25.04.2017, 05:55
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Как изначально очистить eeprom ?
Как изначально очистить eeprom ?
findeler Дата: Четверг, 11.08.2016, 10:18 | Сообщение # 1
Лейтенант
Группа: Проверенные
Сообщений: 76
Награды: 1
Репутация: 1
Статус: Offline
Как изначально очистить eeprom ? То есть твёрдо знать, что там все нули в переменных , а не мусор.

Или в процессе создания переменной eeprom она автоматически устанавливается в 0 ?
 
vlad Дата: Четверг, 11.08.2016, 10:40 | Сообщение # 2
Полковник
Группа: Проверенные
Сообщений: 322
Награды: 0
Репутация: 5
Статус: Offline
я делал так чтобы при включении сначала проводилась проверка на допустимость значения в памяти и если оно не допустимо то прописывал туда то что мне нужно
 
findeler Дата: Четверг, 11.08.2016, 10:53 | Сообщение # 3
Лейтенант
Группа: Проверенные
Сообщений: 76
Награды: 1
Репутация: 1
Статус: Offline
Цитата vlad ()
делал так чтобы при включении сначала проводилась проверка на допустимость значения в памяти и если оно не допустимо то прописывал туда то что мне нужно

не подходит. У меня смысл имеют значения и 0 и 1 и 2 и 3. но все инициализируют разные процессы. Грубо говоря если при первом запуске в ключевой переменной будет вместо 0 единица до это совсем не хорошо.

Конечно я могу изначально заливать скетч с очисткой eeprom типа.

#include <EEPROM.h>

void setup()
{

for ( int i = 0 ; i <4096 ; i++ )
EEPROM.write(i, 0);

}

Но скажу не совсем изящное решение.
 
slavas Дата: Четверг, 11.08.2016, 10:55 | Сообщение # 4
Генерал-майор
Группа: Проверенные
Сообщений: 501
Награды: 12
Репутация: 11
Статус: Offline
Какая Вам разница что там было записано? если блоком записи вы сначала пишите туда данные а потом блоком чтения считываете их.
 
vlad Дата: Четверг, 11.08.2016, 11:11 | Сообщение # 5
Полковник
Группа: Проверенные
Сообщений: 322
Награды: 0
Репутация: 5
Статус: Offline
Цитата findeler ()
У меня смысл имеют значения и 0 и 1 и 2 и 3.
я так понимаю что вы рассматриваете ситуацию самого первого включения платы после заливки программы. Раз у вас принципиальна последовательность , может сделать кнопку по типу резет. т.е вы плату подключаете  в первый раз. нажимаете на нее и обнуляете в ноль. а дальше все работает автоматом.
 
findeler Дата: Четверг, 11.08.2016, 11:26 | Сообщение # 6
Лейтенант
Группа: Проверенные
Сообщений: 76
Награды: 1
Репутация: 1
Статус: Offline
Цитата slavas ()
вы сначала пишите туда данные

тут смысл в первоначальной инициализации и записи начальных значений.

то есть есть два набора переменных в eeprom. Первый это настройки по умолчанию, второй изменяемые настройки.

Первый записывается во второй в двух слачаях:reset и первый запуск( самый первый, а не пропадание питания с ардуины). Если с ресетом всё понятно, то с первым запуском как раз проблема. Нужна изначально известная запись в eeprom.

Добавлено (11.08.2016, 11:26)
---------------------------------------------
Появилась такая идея сделать 2 переменных типа int или одну float которые никогда не могут быть изменены пользователем и проверять их соответствие. вероятность что "мусор" в этих двух переменных случайным образом совпадёт с требуемыми значениями 2^-32= ну то есть фактически нулевая.

 
vlad Дата: Четверг, 11.08.2016, 11:38 | Сообщение # 7
Полковник
Группа: Проверенные
Сообщений: 322
Награды: 0
Репутация: 5
Статус: Offline
Цитата findeler ()
Появилась такая идея сделать 2 переменных типа int или одну float
хорошая идея.
 
Vitez Дата: Пятница, 17.03.2017, 16:21 | Сообщение # 8
Майор
Группа: Проверенные
Сообщений: 142
Награды: 4
Репутация: 1
Статус: Offline
Сам не пробовал, но вроде инструмент есть.



Сообщение отредактировал Vitez - Пятница, 17.03.2017, 16:21
 
Форум » Основной » Спросить у знатоков » Как изначально очистить eeprom ?
Страница 1 из 11
Поиск:

FLProg © 2017
Яндекс.Метрика