Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 24.04.2017, 23:02  
H4LF
Вид на жительство
 
Аватар для H4LF
 
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
H4LF на пути к лучшему
По умолчанию Re: Сохранение и загрузка настроек в текством файле

Сообщение от индюк Посмотреть сообщение
H4LF, чувак - ты посты чтоль набиваешь??? ничо толкового я ни капли в твоих постах не увидел
Содержательнее этого Вашего поста я на всём форуме не видел. Спасибо за замечание, я буду стараться над увеличением своей толковости. Всего доброго.
Реклама:
H4LF вне форума  
Непрочитано 24.04.2017, 23:16  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,841
Сказал спасибо: 2,531
Сказали Спасибо 11,764 раз(а) в 5,895 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Сохранение и загрузка настроек в текством файле

Сообщение от MisterDi Посмотреть сообщение
самое неприятное в этой ситуации - дублирование переменных и указателей на них.
MisterDi, насколько я понимаю, текстовый файл нужен для человека (для разборок). Человек способен в нем отыскать то, что его интересует.
Дальше. Сохраняет настройки конкретный тип устройства и эти настройки актуальны только для него. Поэтому чисто формально по таблице и действовать на запись и на считывание. Таблица имен настроек и таблица (ну или списки) переменных. Преобразование - стандартная функция, в которую передаются указатели на имя и на переменную. Всего несколько шаблонов. Сгруппировать по типам и циклом их, циклом...
Честно, не понял, в чем затык?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 25.04.2017, 04:30  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Сохранение и загрузка настроек в текством файле

Вопрос о необходимости именно текстового представления.
Если таки будет человек посреди - тут можно и заморочиться.
Но двоичная выгрузка данных в достаточно простом формате:
длина, дескриптор, данные позволит весьма сильно сократить код в устройстве за счёт преобразования данных, да и на производительности/реакции выиграть.
В заголовке данных можно предусмотреть поле с версией для разбора этих данных и исключения коллизий форматов.

А сами по себе алгоритмы и код для разбора (при ещё сохранившемся желании таки работать с текстом) стоит поискать в библиотеках Unix.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 25.04.2017, 05:48  
anton26ru
Вид на жительство
 
Аватар для anton26ru
 
Регистрация: 21.07.2009
Сообщений: 350
Сказал спасибо: 47
Сказали Спасибо 98 раз(а) в 58 сообщении(ях)
anton26ru на пути к лучшему
По умолчанию Re: Сохранение и загрузка настроек в текством файле

Готового решения не знаю, но алгоритм простой.

Перед данными пишется идентификатор, указывающий на тип данных. Чтобы был уникальным и не путался с данными, можно сделать двух-трехсимвольным. Скажем, #!n, где n указывает тип данных. Тогда и разделители не нужны. Пишется всё подряд. При считывании, всё что от идентификатора до идентификатора - данные.

Хотя... можно и перевод строки делать.

Последний раз редактировалось anton26ru; 25.04.2017 в 06:04.
anton26ru вне форума  
Непрочитано 25.04.2017, 09:38  
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Сохранение и загрузка настроек в текством файле

раньше, например на PC, настройки сохраняли в ini файл, может подойдет простой парсер:
https://github.com/benhoyt/inih
oleg110592 вне форума  
Эти 2 пользователя(ей) сказали Спасибо oleg110592 за это сообщение:
mike-y-k (26.04.2017), MisterDi (25.04.2017)
Непрочитано 25.04.2017, 10:54  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 943
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Сохранение и загрузка настроек в текством файле

Сообщение от MisterDi Посмотреть сообщение
Возникла необходимость сохранять набор переменных в текстовый файл и затем выполнять загрузку из этого же файла.
А зачем текстовый? Какие-бы не были переменные, в памяти они всё равно хранятся в виде байт. А посему ничто не мешает определить юнион, в который входят все переменные, обёрнутые структурой, и массив байт, по длине этих переменных. Записав или считав этот массив автоматически запишешь или прочитаешь все переменные, вне зависимости от их типа, длины, расположения в памяти (биг или литл эндиан).
Someone вне форума  
Эти 2 пользователя(ей) сказали Спасибо Someone за это сообщение:
mike-y-k (26.04.2017), MisterDi (25.04.2017)
Непрочитано 25.04.2017, 10:56  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 943
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Сохранение и загрузка настроек в текством файле

Сообщение от H4LF Посмотреть сообщение
У ТС вполне ясная и определённая задача - сохранять настройки в текстовый файл и загружать из текстового же файла.
Найн. Задача сохранять и загружать настройки в файл. Что вовсе не обязательно текстовый.
Someone вне форума  
Непрочитано 25.04.2017, 11:08  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 943
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Сохранение и загрузка настроек в текством файле

Типа так:
Код:
typedef union
{
	unsigned char bytes[10];         // массив байт

	struct
	{
		struct
		{
			unsigned char DeviceCmd;        // 0x0000 команда извещателю
			unsigned char DeviceStatus;     // 0x0001 состояние извещателя
			unsigned char SelfTestInterval; // 0x0002 интервал самотестирования, минут
			unsigned char AlarmPeriod;	// 0x0003 длительность анализируемого периода для тревог, секеунд
			unsigned char DeviceAdress;     // 0x0004 адрес устройства в сетях модбас
			unsigned char AlarmCountIR;	// 0x0005 предел счётчика ИК-тревог, превышение - тревога
			unsigned char AlarmCountUV;	// 0x0006 предел счётчика УФ-тревог, превышение - тревога
		} set;
		
		struct
		{
			unsigned char AlarmCountIR;     // счётчик тревог по УФ каналу
			unsigned char AlarmCountUV;     // счётчик тревог по ИК каналу
			unsigned char AlarmPeriod;      // период тревог
		} var;
	};

} TData;
Someone вне форума  
Непрочитано 25.04.2017, 11:14  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 943
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Сохранение и загрузка настроек в текством файле

Можно обойтись и без массива. Тут главное все переменные в структуре чтоб были. А после можно и указатель установить на начало структуры, писать и читать по байту, пока всю структуру не запишешь/считаешь.

Последний раз редактировалось Someone; 25.04.2017 в 11:18.
Someone вне форума  
Непрочитано 25.04.2017, 15:47  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Сохранение и загрузка настроек в текством файле

И для такого проекта создать и вести один/набор .h файлов со всеми используемыми в таком обмене структурами данных.
Если использовать правило по добавлению новых элементов в конец, и разобраться таки с организацией хранения в файле - система станет вполне вменяемой в реализации, при минимуме лишнего кода и времени на ее сопровождение (как своих ресурсов, так и в целевой системе).
Текстовое представление - оно исключительно для человека и при необходимости частых анализа и правки их минимальными средствами.
Но этот вопрос спокойно решается достаточно простой программой для просмотра/редактирования, при сохранении raw формата самого файла.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 26.04.2017 в 04:23.
mike-y-k вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создаем ПЛК на базе IEC 61131 kos_ua Микроконтроллеры, АЦП, память и т.д 330 29.01.2024 09:50
Ускорить компьютер 7Fantomas7 Ремонт оргтехники 111 08.08.2018 05:27


Часовой пояс GMT +4, время: 15:47.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot