<?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[DLL &#x2F; Daten von der seriellen Schnittstelle lesen]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>Ich habe eine DLL mit der ich auf die serielle Schnittstelle zugreife. Dabei verwende ich CreateFile, ReadFile, WriteFile und CloseHandle.</p>
<p>Nun möchte ich aus der DLL heraus die Daten mit ReadFile lesen aber nur dann, wenn Daten empfangen wurden. Ansonsten arbeitet die DLL die Funktion die sie bereitstellt ab.</p>
<p>Wie kann man das nun anstellen? Löst der PC ein Interrupt aus, auf die die DLL reagieren kann und dann mit ReadFile die Daten lesen kann? Oder geht das gar nicht?</p>
<p>Gruss<br />
PeterHans</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/189094/dll-daten-von-der-seriellen-schnittstelle-lesen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 14:39:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189094.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Aug 2007 13:33:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DLL &#x2F; Daten von der seriellen Schnittstelle lesen on Wed, 08 Aug 2007 13:33:52 GMT]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>Ich habe eine DLL mit der ich auf die serielle Schnittstelle zugreife. Dabei verwende ich CreateFile, ReadFile, WriteFile und CloseHandle.</p>
<p>Nun möchte ich aus der DLL heraus die Daten mit ReadFile lesen aber nur dann, wenn Daten empfangen wurden. Ansonsten arbeitet die DLL die Funktion die sie bereitstellt ab.</p>
<p>Wie kann man das nun anstellen? Löst der PC ein Interrupt aus, auf die die DLL reagieren kann und dann mit ReadFile die Daten lesen kann? Oder geht das gar nicht?</p>
<p>Gruss<br />
PeterHans</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340821</guid><dc:creator><![CDATA[HansPeter07]]></dc:creator><pubDate>Wed, 08 Aug 2007 13:33:52 GMT</pubDate></item><item><title><![CDATA[Reply to DLL &#x2F; Daten von der seriellen Schnittstelle lesen on Thu, 09 Aug 2007 07:26:45 GMT]]></title><description><![CDATA[<p>Kann mir jemand Helfen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1341225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341225</guid><dc:creator><![CDATA[HansPeter07]]></dc:creator><pubDate>Thu, 09 Aug 2007 07:26:45 GMT</pubDate></item><item><title><![CDATA[Reply to DLL &#x2F; Daten von der seriellen Schnittstelle lesen on Thu, 09 Aug 2007 08:43:41 GMT]]></title><description><![CDATA[<p>weiß zwar nich ob das in ner dll auch funktioniert, aber soo viel anders dürfte es ja auch nich sein... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>du kannst, zB. mit<br />
&quot;SetCommTimeouts&quot; (siehe &quot;COMMTIMEOUTS&quot; struktur)</p>
<p>einen timeout für ReadFile setzen,<br />
wenn &quot;Readfile&quot; nach dieser Zeit kein Zeichen gelesen hat, dann kehrt ReadFile mit 0 gelesen bytes zurück...</p>
<p>du kannst natürlich auch mit WaitCommEvent (wartet aber bei CreateFile ohne &quot;FILE_FLAG_OVERLAPPED&quot; ewig) auf ein zeichen der schnittstelle warten und dann die neuen zeichen mit ReadFile abholen...<br />
(wenn du &quot;gleichzeitig&quot; lesen und schreiben willst, oder WaitCommEvent mit timeout brauchst, mußt du den port mit FILE_FLAG_OVERLAPPED öffnen)</p>
<p>schau dir das mal an,<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-110820-and-highlight-is-waitcommevent.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-110820-and-highlight-is-waitcommevent.html</a><br />
oder gib bei der forumsuche mal &quot;WaitCommEvent&quot; ein,<br />
da findest du ne menge zu dem thema ^^</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1341291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341291</guid><dc:creator><![CDATA[Schandmaul]]></dc:creator><pubDate>Thu, 09 Aug 2007 08:43:41 GMT</pubDate></item><item><title><![CDATA[Reply to DLL &#x2F; Daten von der seriellen Schnittstelle lesen on Thu, 09 Aug 2007 09:08:35 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Es gibt noch eine Möglichkeit:</p>
<p>Mit SetCommTimeouts() das Timeout fürs lesen auf unendlich setzen (blockierend), und den Aufruf von ReadFile() in einen eigenen Thread auslagern.<br />
Der kann dann zB. in einen Ringbuffer schreiben und sich mit dem Mainthread zB. mittels Semaphore synchronisieren.<br />
Der Code zur Erzeugung des Threads kann natürlich in der DLL verborgen werden.</p>
<p>mfg<br />
++chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1341320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341320</guid><dc:creator><![CDATA[++chris 3]]></dc:creator><pubDate>Thu, 09 Aug 2007 09:08:35 GMT</pubDate></item></channel></rss>