реклама на сайте
подробности

 
 
> Домофон (СКД, сигнализация) на АВР, Или как работать с массивом данных
impuls-v
сообщение Jun 5 2007, 01:00
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 15-01-06
Пользователь №: 13 190



Попался тут на глаза сломанный прибор от СКД, вот и подумал считыватель вигант есть, даллосовские ключи тоже, память на и2сишную на 10кБайт щас вытащу из прибора.
С ключами и считывателями в принцепе не трудно разобраться, а вот сам вопрос состоит в том что не работал никогда с памятью, а соответственно и с массивом данных, ведь здесь не 10 ключей как в домофоне, а хочется ,чтобы научится работать с такими вещами, забить всю память т.е 1000 ключей.

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

Принцып я так понимаю такой в памяти хранится 7 байт ключа ( КС 1байт -доп ко кода далласа 3байта-серия 1байт -номер 2байта, 8-мой можно выкинуть - код ключа=01, и 3 байта параметров ключа - ну например срок действия, временное окно и др.
После добавлени ключей таблица сортируется по номеру серии и по номеру ключа, а далее стоит вопрос как будет быстрее если в ЕЕПРОМ сохранить номера серии ключей и соответствующие им диапазон ячеек в памяти и осуществлять поиск по номеру ключа уже внутри этого диапазона адресов памяти т.е. чтото типо хэширования , или просто при считывание ключа сначало ищем в памяти номер серии а потом в найденном диапазоне значений код ключа. Подскажите как все это решить.

П.С. Помощь в этом вопросе очень сильна нужна в связи с весенней депресией, или творческий застой - как хотите это называйте, просто какаято апатия ко всему, даже купленнае месяц назад АТ90ЮСБ валяются без дела, сам я просто наврятли в ближайшее время начну проект, а так если будет пример хоть поковыряюсь и дипрессия спадет.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GDI
сообщение Jun 7 2007, 12:08
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



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


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
rumit2000
сообщение Jun 8 2007, 06:39
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 175
Регистрация: 16-03-07
Из: Москва
Пользователь №: 26 228



Цитата(GDI @ Jun 7 2007, 16:08) *
... а добавление ключа не так часто производится....

Вынужден внести некоторые поправочки smile.gif Действительно, в процессе работы добавление ключей происходит довольно редко, если не сказать, что практически никогда, однако в процессе установки, монтажник записывает сразу много ключей, обычно с многократным запасом. Например если рассмотреть домофон - посчитайте сколько ключей надо сразу записать... И если ключ будет записыватся значительное время (даже если 2-3 сек.), считаю что это жутко не удобно для монтажника... Кроме того, зачем производить сортировку, если и так 1000-ный ключ ищется меньше секунды..... Конечно если ключей несколько десятков тысяч, то можно задуматся о сортировке, но как правило такие системы заполняются не вручную, а через PC, где произвести сортировку быстрее... а то "руки отвалятся" 10000 ключей прикладывать smile.gif
Однако конечно бывают исключения, у моих родителей поставили домофон, думаю ключей в нём несколько сотен.. и ключек отзывается только через 1-2 секунды, что производит жутко неприятное очучение - лучше бы сделали сортировку sad.gif Думаю они либо жутко медленно с памятью работают, либо алгоритм поиска жутко неоптимальный... Марку щас не вспомню - какой-то не ходовой... первый раз такой увидел...

P.S. конечно если в системе будет 100 ключей, то можно и сортировку организовать и что угодно... на время записи и поиска это не сильно повлияет

Сообщение отредактировал rumit2000 - Jun 8 2007, 06:40


--------------------
Быстро, Дёшево, Качественно-выбери любые 2 пункта
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 18:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016