<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Status Com Port Abfragen]]></title><description><![CDATA[<p>Servus</p>
<p>ich habe gerade ein kleines Problem mit meiner seriellen Komunikation. Ich versuche über rs232 eine Datenbank aus einem Microcontroller zu empfangen. Die Datenbank wird hierbei in mehrere Pakete verpackt. Leider weiß ich die Anzahl der Pakete nicht. Daher habe ich versucht mit &quot;SetCommMask&quot; und &quot;WaitCommEvent&quot; ein ankommendes Paket zu regestrieren. Leider bleibt das Programm immer bei &quot;WaitCommEvent &quot; hängen.</p>
<p>Hier der Code:</p>
<pre><code class="language-cpp">int ReceivePort(void* puffer, int len)
{
    DWORD receive = 0;
    DWORD dwCommEvent;

    if(!SetCommMask(m_hPort, EV_RXCHAR | EV_TXEMPTY | EV_CTS | EV_DSR | EV_ERR | EV_RLSD | EV_RING))
        return -1;
    else
        if(!WaitComEvent(m_hPort, puffer,len,&amp;receive,NULL))
            return -1;
        else
            if(!ReadFile(m_hPort, puffer, len, &amp;receive, NULL))
                return -1;
            else 
                retrun receive;
}
</code></pre>
<p>Wäre sehr dankbar wenn mir jemand meinen Fehler zeigen könnte.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/198615/status-com-port-abfragen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 03:02:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198615.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Nov 2007 13:09:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Status Com Port Abfragen on Fri, 23 Nov 2007 13:09:46 GMT]]></title><description><![CDATA[<p>Servus</p>
<p>ich habe gerade ein kleines Problem mit meiner seriellen Komunikation. Ich versuche über rs232 eine Datenbank aus einem Microcontroller zu empfangen. Die Datenbank wird hierbei in mehrere Pakete verpackt. Leider weiß ich die Anzahl der Pakete nicht. Daher habe ich versucht mit &quot;SetCommMask&quot; und &quot;WaitCommEvent&quot; ein ankommendes Paket zu regestrieren. Leider bleibt das Programm immer bei &quot;WaitCommEvent &quot; hängen.</p>
<p>Hier der Code:</p>
<pre><code class="language-cpp">int ReceivePort(void* puffer, int len)
{
    DWORD receive = 0;
    DWORD dwCommEvent;

    if(!SetCommMask(m_hPort, EV_RXCHAR | EV_TXEMPTY | EV_CTS | EV_DSR | EV_ERR | EV_RLSD | EV_RING))
        return -1;
    else
        if(!WaitComEvent(m_hPort, puffer,len,&amp;receive,NULL))
            return -1;
        else
            if(!ReadFile(m_hPort, puffer, len, &amp;receive, NULL))
                return -1;
            else 
                retrun receive;
}
</code></pre>
<p>Wäre sehr dankbar wenn mir jemand meinen Fehler zeigen könnte.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408810</guid><dc:creator><![CDATA[Snake0484]]></dc:creator><pubDate>Fri, 23 Nov 2007 13:09:46 GMT</pubDate></item><item><title><![CDATA[Reply to Status Com Port Abfragen on Fri, 23 Nov 2007 14:46:08 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-403.html" rel="nofollow">HumeSikkins</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-4.html" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408906</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Fri, 23 Nov 2007 14:46:08 GMT</pubDate></item><item><title><![CDATA[Reply to Status Com Port Abfragen on Fri, 23 Nov 2007 17:37:30 GMT]]></title><description><![CDATA[<p>Hmmm, Du also willst eine Anzahl von x Paketen empfangen?<br />
Wobei jedes Paket wiederum y Bytes haben könnten?<br />
Sowohl x als auch y sind wahrscheinlich unbekannte Parameter?</p>
<p>Dann müßtest Du eigentlich eine Schleife verwenden, in der jedesmal ein Byte abgeholt wird.<br />
Die Schleife wird solange durchlaufen, bis keine Zeichen mehr ankommen.</p>
<p>Ich würde in etwa mit so einem Ansatz versuchen. Wäre das etwas für Dich?</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1409008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1409008</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Fri, 23 Nov 2007 17:37:30 GMT</pubDate></item><item><title><![CDATA[Reply to Status Com Port Abfragen on Sun, 25 Nov 2007 01:27:31 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Fast richtig erkannt ;). Ich will eine unbekannte Anzahl von Paketen empfangen, die größe der einzelnen Pakte steht jedoch im Header der Pakete und ist somit keine Problem. Zur Zeit lese ich immer ein Byte aus bis ein Paket empfangen wurde. Dann will ich versuchen das nächste zu empfangen, wenn noch eins kommt. Da tritt das Problem auf. Wenn ich das ganze nicht mit &quot;SetCommMask&quot; und &quot;WaitCommEvent&quot; kapselle ließt er 1 bis 2 Pakete aus und bleibt dann bei &quot;ReadFile&quot; hängen.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1409652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1409652</guid><dc:creator><![CDATA[Snake0484]]></dc:creator><pubDate>Sun, 25 Nov 2007 01:27:31 GMT</pubDate></item></channel></rss>