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

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

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

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

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

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

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

 
Опции темы

Обработка массива данных

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

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

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

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

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

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

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

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

Zemlyanov, может как уже советовали реализовать FIFO буфер??? Ведь самая старая информация будет та, которая пришла первой. Просто ограничите длину буфера, и на место самой старой инфы поверх будете писать новую.
Saadov вне форума  
Непрочитано 31.08.2010, 23:41  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
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, время: 21:34.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.