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

 
 
9 страниц V  « < 6 7 8 9 >  
Reply to this topicStart new topic
> сниффер ком порта
zltigo
сообщение Sep 28 2016, 14:06
Сообщение #106


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (net @ Sep 28 2016, 17:03) *
спокойно сосчитайте до 1000 или сколько вам надо

Мне не надо. А Вам учиться думать, прежде чем писать, очень надо. Мусора в интернете и без Вас достаточно sad.gif. Ваши глупости уже перестают заслуживать ответов на них sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Sep 28 2016, 14:11
Сообщение #107


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Коллеги я привёл реально работающий не один год алгоритм.
Что бы там ни говорили я обхожусь вообще без прерываний таймера.
Таймштамы принятых и посланных байт получаю с помощью вычисления разницы значений счётчика, заряженного на цикличный счёт таймера (например HPET под win, либо DWT->CYCCNT для Кортексов).
Никаких ложных стартовых битов никогда не возникает.
Да, это решение не универсальное и не применимо напрямую в устройствах без прерывания TXC и без возможности программного отсоединения функции UART-TX от пина.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
net
сообщение Sep 28 2016, 14:15
Сообщение #108


Знающий
****

Группа: Свой
Сообщений: 858
Регистрация: 9-08-04
Пользователь №: 473



QUOTE (zltigo @ Sep 28 2016, 17:06) *
Мне не надо. А Вам учиться думать, прежде чем писать, очень надо. Мусора в интернете и без Вас достаточно sad.gif. Ваши глупости уже перестают заслуживать ответов на них sad.gif.

я вам показал ответ на ваш глупый вопрос - что НЕВОЗМОЖНО узнать когда ушел байт
я вам показал, что лишним байтом этот вопрос решается
какой вопрос такой ответ


слив я вам засчитал
обидно - понимаю - но вы сами так сделали


QUOTE (demiurg_spb @ Sep 28 2016, 17:11) *
Коллеги я привёл реально работающий не один год алгоритм.
Что бы там ни говорили я обхожусь вообще без прерываний таймера.
Таймштамы принятых и посланных байт получаю с помощью вычисления разницы значений счётчика, заряженного на цикличный счёт таймера (например HPET под win, либо DWT->CYCCNT для Кортексов).
Никаких ложных стартовых битов никогда не возникает.
Да, это решение не универсальное и не применимо напрямую в устройствах без прерывания TXC.

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

лень разбираться. просто это надо учитывать
biggrin.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 28 2016, 14:21
Сообщение #109


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (demiurg_spb @ Sep 28 2016, 17:11) *
Коллеги я привёл реально работающий не один год алгоритм.

Не вопрос. Вопрос только в ОГРАНИЧЕНИЯХ такого исплользования.
QUOTE
Что бы там ни говорили я обхожусь вообще без прерываний таймера.
Таймштамы принятых и посланных байт получаю с помощью вычисления разницы значений счётчика, заряженного на цикличный счёт таймера (например HPET под win, либо DWT->CYCCNT для Кортексов).

Это только если делать нечего и можно ждать опрашивая счетчики. Обычно время есть деньги sad.gif.
QUOTE
Никаких ложных стартовых битов никогда не возникает.
Да, это решение не универсальное и не применимо напрямую в устройствах без прерывания TXC.

Естественно не возникает, если можно использовать честое имеющеюся "TXC".
Без него и попытка фокуса, с посылкой "дополнительного байта" с котрым здесь, как курица без головы sad.gif носится net не помогает.


QUOTE (net @ Sep 28 2016, 17:15) *
слив я вам засчитал
обидно - понимаю - но вы сами так сделали

Не обидно. На убогих на руси обижаться не принято. А Вы демонстрируете именно убожество ума, даже в квадрате, поскольку считаете возможным еще и заявлять "слив я вам засчитал". Это уже плинтус sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
net
сообщение Sep 28 2016, 14:52
Сообщение #110


Знающий
****

Группа: Свой
Сообщений: 858
Регистрация: 9-08-04
Пользователь №: 473



QUOTE (zltigo @ Sep 28 2016, 17:21) *
Не обидно. На убогих на руси обижаться не принято. А Вы демонстрируете именно убожество ума, даже в квадрате, поскольку считаете возможным еще и заявлять "слив я вам засчитал". Это уже плинтус sad.gif.


не расстраивайтесь вы так.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Sep 28 2016, 14:57
Сообщение #111


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(zltigo @ Sep 28 2016, 17:21) *
Это только если делать нечего и можно ждать опрашивая счетчики. Обычно время есть деньги sad.gif.
Да ладно))) В прерываниях ТХ и RX ищем дырку 1,5T, а в фоновой задаче ищем дырку в 3,5Т или более - не критично ко времени, да и ещё и 1сек мониторим чтобы реплай таймаут не привысить.
Это решение пришло из-за нехватки таймеров в младших AVR-ках более 10 лет назад. Я тогда тоже не продувал))) Даже более того, умудрился CRC16 считать косячно - поменял по ошибке в modbus фрейме старший байт с младшим, подумал, что сетевой порядок байт во всём протоколе включая и CRC:(.
Конечно, всегда хочется универсальности и, думаю, что сяду, да переиграю всё и вся, но блин, время есть деньги)))


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 28 2016, 15:11
Сообщение #112


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (demiurg_spb @ Sep 28 2016, 17:57) *
Да ладно))) В прерываниях ТХ и RX ищем дырку 1,5T, а в фоновой задаче ищем дырку в 3,5Т или более - не критично ко времени

По хорошему и 3,5Т критично. У мастера есть полное право гнать бродкаст пакеты с таким разделителем. А уж другому слейву ответить через СРАЗУ после получения фрейма вообще никто запретить не может. Не поймали при опросе разделитель между бродкастами или между запростом и быстрым ответом и ага sad.gif.
Фреймер MODBUS отличается дубовой простотой, но плата за нее НЕУКОСНИТЕЛЬНО-ЖЕСТКОЕ выполнение этих простых требований. Увы sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Sep 28 2016, 15:34
Сообщение #113


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Это понятно и учитывается тем, что фоновая задача выполняется с требуемой интенсивностью.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 28 2016, 15:38
Сообщение #114


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (demiurg_spb @ Sep 28 2016, 18:34) *
Это понятно и учитывается.

Каким образом? Работа только со своим оборудованием? Нет способа заставить ЧУЖОЕ учитывать требования ВАШЕГО оборудования к возможному ЗНАЧИТЕЛЬНОМУ превышению 3,5Т интервала sad.gif.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 28 2016, 16:57
Сообщение #115


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(zltigo @ Sep 28 2016, 18:13) *
Вот именно по этому методу окончание передачи и НЕ работает, если, как уже писал, нет прерывания по окончанию передачи. И прерывание по загрузки регистра хранения в регистр сдвига, как у 8250 совместимых чипов никак не канает.

Какие нафиг "если"? Один коллега поделился рабочим методом для конкретного контроллера, другой коллега сказал, что метод годный, и тут вы такой с капс-локом наперевес "это НЕ работает", "вы НЕ понимаете" и всё такое. А оказывается, не понимаете-то как раз вы.
А уж выкручиваться после этого вообще некрасиво. Все же всё видят и понимают.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 28 2016, 17:11
Сообщение #116


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (AHTOXA @ Sep 28 2016, 19:57) *
Какие нафиг "если"? Один коллега поделился рабочим методом для конкретного контроллера, другой коллега сказал, что метод годный, и тут вы такой с капс-локом наперевес "это НЕ работает", "вы НЕ понимаете" и всё такое. А оказывается, не понимаете-то как раз вы.
А уж выкручиваться после этого вообще некрасиво. Все же всё видят и понимают.

Очевидно, что "видят и понимают" Вы к себе не относите. Ибо я четко написал, когда не реализуемый. Цитирую http://electronix.ru/forum/index.php?showt...t&p=1452121 :
QUOTE
2) На многих чипах нереализуемый, ибо прерывания окончания передачи просто нет, а есть только освобождение буферного регистра.

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

У меня к Вам один вопрос - извиняться будете? или уподобитесь любителям обделавшись уходить в несознанку со словами "слив вам защитан"?
После извинений могу Вам еще раз обьяснить, то, что Вам непонятно.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 28 2016, 18:20
Сообщение #117


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(zltigo @ Sep 28 2016, 22:11) *
У меня к Вам один вопрос - извиняться будете?

Перечитал сейчас ещё раз цепочку, увидел, что ваше "не реализуемо", на которое я отреагировал, относится не к методу от demiurg_spb, а к высказыванию net. А ваше "не реализуемо" про метод, описанный demiurg_spb, выскаэано с оговорками. Так что ошибку признаю. Но извиняться не намерен. Ваш тон и ваши дурные манеры лишают всякого желания даже попытаться наладить с вами нормальный диалог.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 28 2016, 19:04
Сообщение #118


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (AHTOXA @ Sep 28 2016, 21:20) *
Так что ошибку признаю.

Мне этого вполне достаточно. Так что какой-никакой, но диалог теперь возможен.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Alex_2015
сообщение Jun 2 2017, 07:23
Сообщение #119





Группа: Участник
Сообщений: 14
Регистрация: 8-08-15
Пользователь №: 87 893



День добрый всем.
У меня появилась возможность вернуться к решению задачи о построении сниффера и частично я её решил. 2 мс между посылками в компьютерной программе ловлю на ура. Причём не пришлось повышать приоритеты ни процесса, ни потока. Теперь хочу закрепить результат и поймать паузы менее 2 мс. В связи с чем вопрос - с функцией DeviceIoControl применительно к виртуальному порту кто-нибудь упражнялся. А то на всех ресурсах описание её очень скудное. В выходные попробую реализовать и посмотреть её результат. Но может кто что скажет из опыта работы с ней.
Go to the top of the page
 
+Quote Post
AlexRayne
сообщение Jun 2 2017, 09:18
Сообщение #120


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 27-09-07
Пользователь №: 30 877



Цитата(Alex_2015 @ Jun 2 2017, 10:23) *
День добрый всем.
У меня появилась возможность вернуться к решению задачи о построении сниффера и частично я её решил. 2 мс между посылками в компьютерной программе ловлю на ура. Причём не пришлось повышать приоритеты ни процесса, ни потока. Теперь хочу закрепить результат и поймать паузы менее 2 мс. В связи с чем вопрос - с функцией DeviceIoControl применительно к виртуальному порту кто-нибудь упражнялся. А то на всех ресурсах описание её очень скудное. В выходные попробую реализовать и посмотреть её результат. Но может кто что скажет из опыта работы с ней.

юез работы с приоритетами - ваше разрешение 2мс весьма нестабильным становится. возможно венда на мощной машине такое разрешение даст, но и то время от времени будут получаться пропадания.
на лине с ядром версии2 у меня вообще были большие траблы со стабильностью пауз, так что слип в 15-30мс возникал с периодом менее секунды.
Go to the top of the page
 
+Quote Post

9 страниц V  « < 6 7 8 9 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 11:39
Рейтинг@Mail.ru


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