<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Обработка потока с последовательного порта</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9575.html</link>
    <description>Здравствуйте.&lt;br&gt;&lt;br&gt;Прошу направить на путь истинный.&lt;br&gt;Необходимо читать данные с последовательного порта, ловить в потоке сообщения в определенном протоколе и обрабатывать эти сообщения. Обработка достаточно сложная и может занимать много времени.&lt;br&gt;Как не потерять входные данные за время обработки или хотя бы сигнализировать о том что мы не успеваем обрабатывать поток? Куда уходят байты из открытого файла если их не читать вызовами read, fread и прочими? Где какие есть буфера? Какой вообще путь проходят байты от UARTа до переменной в памяти программы? &lt;br&gt;Ну и главный вопрос, где обо всей этой кухне почитать?&lt;br&gt;&lt;br&gt;Есть подозрение, что все относительно просто и опасение, что все очень просто. В этом случае, прошу отнестись к вопросам снисходительно.&lt;br&gt;&lt;br&gt;Заранее спасибо.&lt;br&gt;</description>

<item>
    <title>Обработка потока с последовательного порта (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9575.html#13</link>
    <pubDate>Wed, 21 Nov 2012 21:02:58 GMT</pubDate>
    <description>&amp;gt;  не хочешь терять данные - наворачивай протокол с подтверждениями &lt;br&gt;&lt;br&gt;TCP/IP :) &lt;br&gt;</description>
</item>

<item>
    <title>Обработка потока с последовательного порта (Alex_S)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9575.html#12</link>
    <pubDate>Wed, 21 Nov 2012 05:13:42 GMT</pubDate>
    <description>&lt;br&gt; не хочешь терять данные - наворачивай протокол с подтверждениями &lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Обработка потока с последовательного порта (Alex_S)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9575.html#11</link>
    <pubDate>Wed, 21 Nov 2012 05:11:56 GMT</pubDate>
    <description>&amp;gt; Ваше желание мя обидет мне понятно. Спасибо, что таки себя побороли. Книжки &lt;br&gt;&amp;gt; хорошие. Я их читал даже. Но в них не написано то &lt;br&gt;&amp;gt; о чем я спрашивал. Признаться, думал ldd посоветуете или что-то такое. &lt;br&gt;&amp;gt; Блин, неужто и вправду такой тупой вопрос, что прям про 16 &lt;br&gt;&amp;gt; байт в уарте напоминают.&lt;br&gt;&lt;br&gt; байты теряются, если их не читать - это как бы очевидно.&lt;br&gt;&lt;br&gt;грубо, когда ты вызываешь read(), дергается функция из line discipline - tty layer. Которая читает из своего буфера - порядка 256 байт, хотя см флаг  tty read latency. этот буфер наполняется драйвером уарта - serial.c , когда приходит соотв. прерывание.&lt;br&gt;&lt;br&gt;как-то так .&lt;br&gt;</description>
</item>

<item>
    <title>Обработка потока с последовательного порта (pretender424)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9575.html#10</link>
    <pubDate>Mon, 12 Nov 2012 22:50:11 GMT</pubDate>
    <description>Ваше желание мя обидет мне понятно. Спасибо, что таки себя побороли. Книжки хорошие. Я их читал даже. Но в них не написано то о чем я спрашивал. Признаться, думал ldd посоветуете или что-то такое. Блин, неужто и вправду такой тупой вопрос, что прям про 16 байт в уарте напоминают.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Обработка потока с последовательного порта (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9575.html#9</link>
    <pubDate>Mon, 12 Nov 2012 18:26:06 GMT</pubDate>
    <description>&amp;gt; Об виртуальной памяти я и не подумал.&lt;br&gt;&amp;gt; А извлекаться байты будут, видимо, в том порядке, в котором приходили.&lt;br&gt;&amp;gt; Ничего не потеряется, так да?&lt;br&gt;&lt;br&gt;Отец, как бы тя не обидеть, но ты ...,  в общем начни &lt;br&gt;отсюда -  http://www.sernam.ru/book_tec.php&lt;br&gt;потом сюда - http://www.kodges.ru/68824-osnovy-cifrovoj-texniki.html&lt;br&gt;потом тут - http://sdo.uspi.ru/mathem&amp;inform/lek_10/lek_10.htm&lt;br&gt;тут - http://amigaroy.narod.ru/dmit.html и тут http://imcs.dvgu.ru/lib/eastprog/architecture.html&lt;br&gt;потом - http://www.proklondike.com/books/thalg/kormen_leiser_algorith.html&lt;br&gt;Наконец сюда - http://lib.ru/CTOTOR/kernigan.txt &lt;br&gt;&lt;br&gt;Можно сразу сюда, но легче не станет - http://lib.ru/CTOTOR/starterkit.txt&lt;br&gt;&lt;br&gt;Ну и сюда http://www.proklondike.com/books/linux/linux_syst_prog.html&lt;br&gt;</description>
</item>

<item>
    <title>Обработка потока с последовательного порта (Mimicus Pipicus Onanizmus)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9575.html#8</link>
    <pubDate>Mon, 12 Nov 2012 05:04:15 GMT</pubDate>
    <description>&amp;gt; Об виртуальной памяти я и не подумал.&lt;br&gt;&amp;gt; А извлекаться байты будут, видимо, в том порядке, в котором приходили.&lt;br&gt;&amp;gt; Ничего не потеряется, так да?&lt;br&gt;&lt;br&gt;Байты сладываются в FIFO-буфер UART, размер которого обычно 16 байт.&lt;br&gt;Отсюда делайте вывод, сколько поместится и как долго будет там храниться.&lt;br&gt;</description>
</item>

<item>
    <title>Обработка потока с последовательного порта (pretender424)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9575.html#7</link>
    <pubDate>Sat, 10 Nov 2012 16:54:25 GMT</pubDate>
    <description>Об виртуальной памяти я и не подумал.&lt;br&gt;А извлекаться байты будут, видимо, в том порядке, в котором приходили.&lt;br&gt;Ничего не потеряется, так да?&lt;br&gt;</description>
</item>

<item>
    <title>Обработка потока с последовательного порта (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9575.html#6</link>
    <pubDate>Sat, 10 Nov 2012 16:25:15 GMT</pubDate>
    <description>&amp;gt; накапливаясь в каком-то буфере ОС? &lt;br&gt;&lt;br&gt;Ага, виртуальная память называется. &lt;br&gt;&lt;br&gt;&amp;gt; while (1) &#123; &lt;br&gt;&amp;gt;     res = fgetc(fp); &lt;br&gt;&amp;gt;     sleep(1); &lt;br&gt;&amp;gt; &#125; &lt;br&gt;&lt;br&gt;Тут ничего не накапливается. (ну разве только TSC)&lt;br&gt;</description>
</item>

<item>
    <title>Обработка потока с последовательного порта (pretender424)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9575.html#5</link>
    <pubDate>Fri, 09 Nov 2012 23:26:22 GMT</pubDate>
    <description>Вот так, например. Будут байты из потока выхватываться те что в текущий момент там идут или по порядку, накапливаясь в каком-то буфере ОС?&lt;br&gt;&lt;br&gt;while (1) &#123;&lt;br&gt;    res = fgetc(fp);&lt;br&gt;    sleep(1);&lt;br&gt;&#125;&lt;br&gt;</description>
</item>

</channel>
</rss>
