<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[CANNY forum &mdash; RS232: вопрос по обработке сообщений]]></title>
	<link rel="self" href="https://forum.canny.ru/extern.php?action=feed&amp;tid=548&amp;type=atom" />
	<updated>2019-02-25T09:48:58Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.canny.ru/viewtopic.php?id=548</id>
		<entry>
			<title type="html"><![CDATA[Re: RS232: вопрос по обработке сообщений]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=7621#p7621" />
			<content type="html"><![CDATA[<p>Вариант решения во вложении. Главное правильно интерпретировать данные: они передаются в RS-232 младшим байтом вперед, т.е. байты Time of week получены по RS-232 в виде <strong>F0 71 D2 11</strong>, что представляет собой число <strong>0x11D271F0</strong> = 299004400 (dec).<br />Диаграмма протестирована на столе с настройками RS-232 57600-8-N-1 (подключался к ПК) и настройками CAN 1M (передача в CAN и прием CAN(LIN)-monitor-ом). Работает корректно без использования каких-либо тамаутов UART.</p>]]></content>
			<author>
				<name><![CDATA[Денис, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=3</uri>
			</author>
			<updated>2019-02-25T09:48:58Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=7621#p7621</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: RS232: вопрос по обработке сообщений]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=7620#p7620" />
			<content type="html"><![CDATA[<p>если подскажете как модифицировать диаграмму, чтобы отправлять второй пакет по CAN (содержащий время и точность) - буду премного благодарен!</p>]]></content>
			<author>
				<name><![CDATA[Mr. Y]]></name>
				<uri>https://forum.canny.ru/profile.php?id=542</uri>
			</author>
			<updated>2019-02-22T20:37:11Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=7620#p7620</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: RS232: вопрос по обработке сообщений]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=7619#p7619" />
			<content type="html"><![CDATA[<p>у меня Canny 5.2 - не думаю, что он может еще что-то мониторить (UART к GPS, CAN к логгеру).</p><p>В итоге сильно снизил скорость передачи и частоту пакетов (на источнике), заработало вот в таком варианте</p>]]></content>
			<author>
				<name><![CDATA[Mr. Y]]></name>
				<uri>https://forum.canny.ru/profile.php?id=542</uri>
			</author>
			<updated>2019-02-22T20:20:55Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=7619#p7619</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: RS232: вопрос по обработке сообщений]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=7618#p7618" />
			<content type="html"><![CDATA[<p>Пришлите, пожалуйста, скриншот CANNY CAN/LIN-monitor на котором будет видно хотя бы несколько сообщений переданных в CAN вашей диаграммой в ходе приема сообщений по UART и приведите соответствовавшие им сообщения UART.</p>]]></content>
			<author>
				<name><![CDATA[Денис, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=3</uri>
			</author>
			<updated>2019-02-21T18:10:38Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=7618#p7618</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: RS232: вопрос по обработке сообщений]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=7617#p7617" />
			<content type="html"><![CDATA[<p>Не получается <img src="https://forum.canny.ru/img/smilies/sad.png" width="15" height="15" alt="sad" /> Что-то с чтением UART явно - передается мусор просто, такое впечатление что случайные байты из пакета.<br />Сами интерфейсы в норме - делал &quot;эхо&quot; в RS232 (тестировал с ПК) и передачу одного байта в CAN (из RS232) - все ок.<br />Константы по CAN тоже отлично доходят.</p><p>Таймаут пробовал от 1мс до 30 мс - результат тот же. Если передатчик подключить к ПК, то&nbsp; в терминал пакеты приходит одним куском.</p><p>В общем нид хелп <img src="https://forum.canny.ru/img/smilies/sad.png" width="15" height="15" alt="sad" /></p>]]></content>
			<author>
				<name><![CDATA[Mr. Y]]></name>
				<uri>https://forum.canny.ru/profile.php?id=542</uri>
			</author>
			<updated>2019-02-21T17:12:17Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=7617#p7617</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: RS232: вопрос по обработке сообщений]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=7616#p7616" />
			<content type="html"><![CDATA[<p>Да, правильно.</p>]]></content>
			<author>
				<name><![CDATA[Константин, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=2</uri>
			</author>
			<updated>2019-02-20T18:09:43Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=7616#p7616</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: RS232: вопрос по обработке сообщений]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=7615#p7615" />
			<content type="html"><![CDATA[<p>Спасибо!<br />Да, контроллер 5.2 (сорри, забыл указать).<br />Правильно я понял, что Canny ждет 1мс (или сколько укажем) после крайнего байта.. если есть новый байт, то дописывает в текущий буфер. Если нету, то считает прием завершенным... а следующий начинает с D0. Верно?</p>]]></content>
			<author>
				<name><![CDATA[Mr. Y]]></name>
				<uri>https://forum.canny.ru/profile.php?id=542</uri>
			</author>
			<updated>2019-02-20T17:53:33Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=7615#p7615</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: RS232: вопрос по обработке сообщений]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=7614#p7614" />
			<content type="html"><![CDATA[<p>О каком контроллере речь?</p><p>Если о CANNY 5.X xxxx, то:<br />- длина буфера приема UART = 32 байта, не поместившиеся в буфер данные отбрасываются.<br />- признак наличия сообщения в приемном буфере появляется по таймауту, таймаут по умолчанию равен 1 ms и может быть изменен через соответствующий регистр драйвера UART.<br />Таким образом, выделение ваших данных из посылки UART, при условии, что все пришедшие сообщения четко разделены по времени, не имеют пауз между байтами внутри сообщения, корректны и имеют одинаковый формат, может выглядеть так:</p>]]></content>
			<author>
				<name><![CDATA[Константин, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=2</uri>
			</author>
			<updated>2019-02-20T12:19:48Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=7614#p7614</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[RS232: вопрос по обработке сообщений]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=7613#p7613" />
			<content type="html"><![CDATA[<p>Задача такая: некое устройство (навигатор) шлет пакеты по RS232 (длина пакета = 36 байт), нужно выдернуть интересующие слова (4 байта) из этого пакета (всегда на фиксированных позициях) и отправить по CAN.</p><p>Вопрос: как лучше сделать?</p><p>Сработает тупой вариант (проверяем длину принятых данных, если больше N =&gt; берем нужное нам и шлем в CAN) или потребуется что-то сложнее (ждать признак &quot;начало пакета&quot;, потом отсчитывать N байт и т.п.)</p><p>И вопрос: когда очищается буфер приема UART? Пример: в порт приходит &quot;АБВГД&quot;...пауза...&nbsp; &quot;ЕЖЗИК&quot;. Это все ляжет в D0..9?&nbsp; или D0..4 ??&nbsp; &nbsp;Или вообще будет десять раз по D0 ??</p><p>Спасибо!</p><p>PS: что за данные приходят и что нужно передавать в CAN - на картинке.</p>]]></content>
			<author>
				<name><![CDATA[Mr. Y]]></name>
				<uri>https://forum.canny.ru/profile.php?id=542</uri>
			</author>
			<updated>2019-02-20T11:29:21Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=7613#p7613</id>
		</entry>
</feed>
