<?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[über die serielle schnittstelle asynchron Daten einlesen und senden]]></title><description><![CDATA[<p>wie kann ich unter c oder c++ über die serielle Schnittstelle asynchron Daten einlesen und senden??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165566/über-die-serielle-schnittstelle-asynchron-daten-einlesen-und-senden</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 23:03:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165566.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Nov 2006 10:10:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to über die serielle schnittstelle asynchron Daten einlesen und senden on Tue, 21 Nov 2006 10:10:33 GMT]]></title><description><![CDATA[<p>wie kann ich unter c oder c++ über die serielle Schnittstelle asynchron Daten einlesen und senden??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1178293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1178293</guid><dc:creator><![CDATA[jhck]]></dc:creator><pubDate>Tue, 21 Nov 2006 10:10:33 GMT</pubDate></item><item><title><![CDATA[Reply to über die serielle schnittstelle asynchron Daten einlesen und senden on Tue, 21 Nov 2006 10:20:28 GMT]]></title><description><![CDATA[<p>Am besten Du erfindest das Rad nicht neu, sondern verwendest eine fertige Klasse die das schon kann:<br />
<a href="http://www.codeproject.com/system/serial.asp" rel="nofollow">http://www.codeproject.com/system/serial.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1178300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1178300</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 21 Nov 2006 10:20:28 GMT</pubDate></item><item><title><![CDATA[Reply to über die serielle schnittstelle asynchron Daten einlesen und senden on Thu, 23 Nov 2006 08:52:02 GMT]]></title><description><![CDATA[<p>bei mir wartet WaitCommEvent und kommt nicht zurück!!</p>
<p>do // in Endlos-Schleife auf Empfangssignale warten:<br />
{<br />
WaitCommEvent (hCom, &amp;dwEvtMask, NULL); // Event mit Empfangssignalen verknüpfen</p>
<p>if (WAIT_OBJECT_0 == WaitForSingleObject (o.hEvent, INFINITE)) // warten bis Event<br />
{<br />
if ((dwEvtMask &amp; EV_RXCHAR) || 1 )// Zeichen an RxD empfangen:<br />
{<br />
...<br />
}<br />
}<br />
}<br />
woran liegt das bzw was muss ich ändern??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179738</guid><dc:creator><![CDATA[jhck]]></dc:creator><pubDate>Thu, 23 Nov 2006 08:52:02 GMT</pubDate></item><item><title><![CDATA[Reply to über die serielle schnittstelle asynchron Daten einlesen und senden on Thu, 23 Nov 2006 10:37:33 GMT]]></title><description><![CDATA[<p>bei WaitCommEvent kein Zeiger auf ein OVERLAPPED Objekt übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179849</guid><dc:creator><![CDATA[hEvent]]></dc:creator><pubDate>Thu, 23 Nov 2006 10:37:33 GMT</pubDate></item><item><title><![CDATA[Reply to über die serielle schnittstelle asynchron Daten einlesen und senden on Thu, 23 Nov 2006 14:38:38 GMT]]></title><description><![CDATA[<p>do // in Endlos-Schleife auf Empfangssignale warten:<br />
{<br />
WaitCommEvent(hCom, &amp;dwEvtMask, &amp;o); // Event mit Empfangssignalen verknüpfen</p>
<p>if (WAIT_OBJECT_0 == WaitForSingleObject (o.hEvent, INFINITE)) // warten bis Event<br />
{<br />
if (dwEvtMask &amp; EV_RXCHAR)// Zeichen an RxD empfangen:<br />
{<br />
}<br />
}<br />
}</p>
<p>ok, das habee ich jetzt geändert! ich kann jetzt auch was empfangen, aber nun braucht die Funktion WaitCommEvent 9sek, nachdem ich das Byte an die com-Schnittstelle gesendet habe, bis sie zurückkehrt!!</p>
<p>weißt du woran das liegen könnte??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180048</guid><dc:creator><![CDATA[jhck]]></dc:creator><pubDate>Thu, 23 Nov 2006 14:38:38 GMT</pubDate></item><item><title><![CDATA[Reply to über die serielle schnittstelle asynchron Daten einlesen und senden on Fri, 24 Nov 2006 10:36:38 GMT]]></title><description><![CDATA[<p>und am ende braucht</p>
<p>CloseHandle (hCom); // COM schließen</p>
<p>20 sec, bis die funktion zurückkommt!!</p>
<p>ich verstehe nur nicht wieso?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180584</guid><dc:creator><![CDATA[jhck]]></dc:creator><pubDate>Fri, 24 Nov 2006 10:36:38 GMT</pubDate></item><item><title><![CDATA[Reply to über die serielle schnittstelle asynchron Daten einlesen und senden on Wed, 29 Nov 2006 07:58:30 GMT]]></title><description><![CDATA[<p>wieso braucht waitcommevent so lange??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183555</guid><dc:creator><![CDATA[jhck]]></dc:creator><pubDate>Wed, 29 Nov 2006 07:58:30 GMT</pubDate></item><item><title><![CDATA[Reply to über die serielle schnittstelle asynchron Daten einlesen und senden on Wed, 29 Nov 2006 09:47:23 GMT]]></title><description><![CDATA[<p>jhck schrieb:</p>
<blockquote>
<p>und am ende braucht<br />
CloseHandle (hCom); // COM schließen<br />
20 sec, bis die funktion zurückkommt!!</p>
</blockquote>
<p>Das &quot;CloseHandle&quot; veranlasst den Treiber sicherzustellen, dass *ALLE* Daten auch über die serielle Schnittstelle geschrieben wurden.<br />
Wenn jetzt z.B. noch was im Puffer ist, dann wird es jetzt explizit geschrieben (davor gibt es keinen Mechanismus dies zu machen geschweige denn festzustellen, wann was geschrieben wurde).<br />
Wenn Du nun noch z.B. ein Handshake definiert hast, dann kann dies sehr lange dauern, da er ja jedesmal immer zuerst in den Timeout reinlaufen muss...<br />
Deshalb breche explizit alle Kommunikation ab und lösche alle Daten (PurgeComm) bevor Du CloseHandle aufrufst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183648</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 29 Nov 2006 09:47:23 GMT</pubDate></item><item><title><![CDATA[Reply to über die serielle schnittstelle asynchron Daten einlesen und senden on Thu, 30 Nov 2006 15:09:24 GMT]]></title><description><![CDATA[<p>jetzt sieht es folgendermaßen aus:</p>
<p>{<br />
...<br />
PurgeComm(hCom, PURGE_RXABORT);<br />
CloseHandle (hCom); // COM schließen<br />
CloseHandle (o.hEvent); // Event-Handle zurückgeben<br />
}</p>
<p>jetzt benötigt CloseHandle (hCom) &quot;nur&quot; noch 6 sek.</p>
<p>aber WaitCommEvent baucht immernoch so 10sek!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184663</guid><dc:creator><![CDATA[jhck]]></dc:creator><pubDate>Thu, 30 Nov 2006 15:09:24 GMT</pubDate></item><item><title><![CDATA[Reply to über die serielle schnittstelle asynchron Daten einlesen und senden on Thu, 30 Nov 2006 16:34:20 GMT]]></title><description><![CDATA[<p>Du solltest eher TX-Abort machen! oder steht bei mir irgendwas von Empfangen!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184731</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 30 Nov 2006 16:34:20 GMT</pubDate></item><item><title><![CDATA[Reply to über die serielle schnittstelle asynchron Daten einlesen und senden on Tue, 05 Dec 2006 08:29:18 GMT]]></title><description><![CDATA[<p>WaitCommEvent(hCom, &amp;dwEvtMask, &amp;o); // Event mit Empfangssignalen verknüpfen<br />
GetLastError();<br />
if (WAIT_OBJECT_0 == WaitForSingleObject (o.hEvent, 500)) // warten bis Event oder 500ms<br />
{<br />
if (dwEvtMask &amp; EV_RXCHAR)// Zeichen an RxD empfangen:<br />
{<br />
bRet = ReadFile (hCom, &amp;InString, sizeof (InString), &amp;dwRead, &amp;o);<br />
if (!bRet)<br />
{ // Fehlerausgabe:</p>
<p>...</p>
<p>}<br />
}<br />
}<br />
ich habe es nochmal getestet, es liegt nicht an waitCommEvent, sondern an WaitForSingleObject !! der braucht so lange!!! momentan muss ich ihn mehrmal in der schleife durchlaufen bis er sie daten empfängt(je 500ms)...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187228</guid><dc:creator><![CDATA[jhck]]></dc:creator><pubDate>Tue, 05 Dec 2006 08:29:18 GMT</pubDate></item></channel></rss>