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

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

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

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

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

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

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

 
Опции темы
Непрочитано 31.08.2010, 13:16  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Обработка массива данных

Сделайте Ваш буфер 1000 байт кольцевым, т.е. записывайте по кругу, при поступлении 51-го пакета он пишется на место 1-го, 52-й на место 2-го и т.д. Тем самым старые пакеты будут автоматически удаляться.
Реклама:
Yurkin2007 вне форума  
Непрочитано 31.08.2010, 13:26  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Обработка массива данных

Сообщение от i-mir Посмотреть сообщение
С точки зрения целостности данных этот алгоритм может терять актуальные пакеты.
Это Вы про какой алгоритм? И почему может терять?
kison вне форума  
Непрочитано 31.08.2010, 15:12  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Обработка массива данных

Для точного времени жизни пакета делаете кольцевой буфер чуть больше, 1050Байт. При поступлении пакета добавляете байт времени = 20. По таймеру каждую секунду пробегаете по буферу и уменьшаете на 1 величину всех 50-ти байтов времени. При достижении каким-либо байтом времени = 0 заменяете соотвествующий ID на несуществующий, типа 0xFF, и данный пакет перестаёт существовать.
Yurkin2007 вне форума  
Непрочитано 31.08.2010, 16:19  
Zemlyanov
Гражданин KAZUS.RU
 
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
Zemlyanov на пути к лучшему
По умолчанию Re: Обработка массива данных

Сообщение от Yurkin2007 Посмотреть сообщение
Сделайте Ваш буфер 1000 байт кольцевым, т.е. записывайте по кругу, при поступлении 51-го пакета он пишется на место 1-го, 52-й на место 2-го и т.д. Тем самым старые пакеты будут автоматически удаляться.
Нельзя, потому что возможны и некоторое превышение количества пакетов и на оборот их может прийти всего 10 за 20 секунд и что тогда делать?. Я за 20 секунд не смогу вытеснить из массива старые пакеты
Zemlyanov вне форума  
Непрочитано 31.08.2010, 16:25  
Zemlyanov
Гражданин KAZUS.RU
 
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
Zemlyanov на пути к лучшему
По умолчанию Re: Обработка массива данных

Сообщение от kison Посмотреть сообщение
А что это за данные такие, что за 20 секунд устаревают? Если конечно не коммерческая тайна.
Координаты положения объекта в пространстве, и еще сопроводительные характеристики

Цитата:
И что делать если пакет с нужным идентификатором в хранилище не найдется? Или найдется, но просроченный?
Отсылать запрос на сервер ,на получение новых данных для данного ID. Доступ к просроченным пакетам не допустим.
Zemlyanov вне форума  
Непрочитано 31.08.2010, 16:37  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Обработка массива данных

Сообщение от Zemlyanov Посмотреть сообщение
Координаты положения объекта в пространстве
Ну и еще вопрос, если не секрет - что за объект?
kison вне форума  
Непрочитано 31.08.2010, 18:13  
Zemlyanov
Гражданин KAZUS.RU
 
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
Zemlyanov на пути к лучшему
По умолчанию Re: Обработка массива данных

Объект на видео
Вложения:
Тип файла: rar Packing.rar (218.0 Кб, 58 просмотров)
Zemlyanov вне форума  
Непрочитано 31.08.2010, 18:35  
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: Обработка массива данных

Zemlyanov, может как уже советовали реализовать FIFO буфер??? Ведь самая старая информация будет та, которая пришла первой. Просто ограничите длину буфера, и на место самой старой инфы поверх будете писать новую.
Saadov вне форума  
Непрочитано 31.08.2010, 23:41  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Обработка массива данных

Сообщение от Zemlyanov Посмотреть сообщение
Объект на видео
Качество - жесть. Это сырки? Шоколадки? Модели машинок?
kison вне форума  
Непрочитано 01.09.2010, 00:03  
alchem
Частый гость
 
Регистрация: 23.07.2008
Сообщений: 16
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alchem на пути к лучшему
По умолчанию Re: Обработка массива данных

Сообщение от Zemlyanov Посмотреть сообщение
Данные в МК поступают не равномерно, может в секунду прийти 5 пакетов , а может за 5 секунд прийти всего 1.
Ну так делайте циклический буфер для посылок и буфер на 20 байт со счетчиками пакетов, одна секунда-байт. Таким образом, вы будете знать сколько пакетов у вас "живых" путем сложения счетчиков. При "переполнении" буфера, естественно, будут стираться старые данные, а значения более 50 пакетов рассматривать не стоит.
alchem вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать преобразование данных? Zemlyanov Микроконтроллеры, АЦП, память и т.д 9 30.08.2010 16:00
Передача 8-битных данных через мобильник begun Микроконтроллеры, АЦП, память и т.д 9 12.07.2010 13:36
Контроль целостности передаваемых данных ksd034 Микроконтроллеры, АЦП, память и т.д 4 08.07.2010 21:46
Последовательный вывод данных Mitrar Микроконтроллеры, АЦП, память и т.д 9 14.05.2010 11:57
AVR USART+прерывания=потеря данных umgah Микроконтроллеры, АЦП, память и т.д 54 10.04.2010 16:22


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


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