<?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[port.dll zugriff auf RS232]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich schreibe gerade in borland C++, und möchte mit der seriellen Schnittstelle arbeiten.<br />
In der Schule Kommuniziere ich mit dem PC und dem 8051, allerdings immer via sendbyte() und readbyte() mittels der Port.dll auf der PC seite.</p>
<p>zu Hause habe ich die header datei angepasst das die rts und txd ... steuerleitungen auch gehen (sollen).<br />
In der Referenz der port.dll ist es genau beschrieben, aber bei mir ändern sich die Zustände nicht.</p>
<p>rts(0);<br />
txd(0); //Das schreibe ich ins Hauptprogramm, aber die Zustände bleiben<br />
dtr(0); //auf 11V</p>
<p>Die Deklaration in der com.cpp sieht wie folgt aus:<br />
#include &lt;vcl.h&gt;</p>
<p>HINSTANCE hdll; //hinstance ist ein Variablentyp der API Ebene<br />
typedef UINT(CALLBACK *open)(char *);<br />
open opencom; //Variable des neuen Datentyps wird angelegt ( Typ open)</p>
<p>typedef UINT (CALLBACK *read)();<br />
read readbyte;</p>
<p>typedef (CALLBACK *send)(UCHAR);<br />
send sendbyte;</p>
<p>typedef (CALLBACK *close)();<br />
close closecom;</p>
<p>typedef (CALLBACK *time_)(UINT);<br />
time_ timeout;</p>
<p>typedef WORD (CALLBACK *dsr_)();<br />
dsr_ dsr;</p>
<p>typedef WORD (CALLBACK *rts_)(WORD);<br />
rts_ rts;</p>
<p>typedef WORD (CALLBACK *txd_)(WORD);<br />
txd_ txd;</p>
<p>typedef WORD (CALLBACK *dtr_)(WORD);<br />
dtr_ dtr;<br />
//Die funktionen müssen mit den existierenden Funktionen verknüpft werden<br />
//-----------------------------------------------------<br />
bool ladeDLL (void) {<br />
hdll = LoadLibrary(&quot;PORT.DLL&quot;);<br />
if(hdll == NULL)<br />
{<br />
return false; //wenn false, dann datei nicht gefunden<br />
}<br />
else<br />
{<br />
opencom = (open)GetProcAddress(hdll,&quot;OPENCOM&quot;); //übergebe den handle auf die Datei<br />
readbyte = (read)GetProcAddress(hdll,&quot;READBYTE&quot;); //Beim aufruf in c wird dann die funktion in der dll ausgeführt<br />
sendbyte = (send)GetProcAddress(hdll,&quot;SENDBYTE&quot;);<br />
closecom = (close)GetProcAddress(hdll,&quot;CLOSECOM&quot;);<br />
timeout = (time_)GetProcAddress(hdll,&quot;TIMEOUT&quot;);<br />
rts = (rts_)GetProcAddress(hdll,&quot;RTS&quot;);<br />
txd = (txd_)GetProcAddress(hdll,&quot;TXD&quot;);<br />
dtr = (dtr_)GetProcAddress(hdll,&quot;DTR&quot;);<br />
return true;<br />
}<br />
}</p>
<p>Ich denke das die port.dll bekannst ist, dennoch ein paar Infos auf dieser Seite<br />
<a href="http://www.the-starbearer.de/Praxis/ElektronikamPC/RS232/portdll.htm" rel="nofollow">http://www.the-starbearer.de/Praxis/ElektronikamPC/RS232/portdll.htm</a></p>
<p>Wäre Super wenn mir da jemand helfen könnte, ich probiere schon seit Stunden.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/108860/port-dll-zugriff-auf-rs232</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 03:22:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/108860.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 May 2005 20:58:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to port.dll zugriff auf RS232 on Tue, 03 May 2005 20:58:05 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich schreibe gerade in borland C++, und möchte mit der seriellen Schnittstelle arbeiten.<br />
In der Schule Kommuniziere ich mit dem PC und dem 8051, allerdings immer via sendbyte() und readbyte() mittels der Port.dll auf der PC seite.</p>
<p>zu Hause habe ich die header datei angepasst das die rts und txd ... steuerleitungen auch gehen (sollen).<br />
In der Referenz der port.dll ist es genau beschrieben, aber bei mir ändern sich die Zustände nicht.</p>
<p>rts(0);<br />
txd(0); //Das schreibe ich ins Hauptprogramm, aber die Zustände bleiben<br />
dtr(0); //auf 11V</p>
<p>Die Deklaration in der com.cpp sieht wie folgt aus:<br />
#include &lt;vcl.h&gt;</p>
<p>HINSTANCE hdll; //hinstance ist ein Variablentyp der API Ebene<br />
typedef UINT(CALLBACK *open)(char *);<br />
open opencom; //Variable des neuen Datentyps wird angelegt ( Typ open)</p>
<p>typedef UINT (CALLBACK *read)();<br />
read readbyte;</p>
<p>typedef (CALLBACK *send)(UCHAR);<br />
send sendbyte;</p>
<p>typedef (CALLBACK *close)();<br />
close closecom;</p>
<p>typedef (CALLBACK *time_)(UINT);<br />
time_ timeout;</p>
<p>typedef WORD (CALLBACK *dsr_)();<br />
dsr_ dsr;</p>
<p>typedef WORD (CALLBACK *rts_)(WORD);<br />
rts_ rts;</p>
<p>typedef WORD (CALLBACK *txd_)(WORD);<br />
txd_ txd;</p>
<p>typedef WORD (CALLBACK *dtr_)(WORD);<br />
dtr_ dtr;<br />
//Die funktionen müssen mit den existierenden Funktionen verknüpft werden<br />
//-----------------------------------------------------<br />
bool ladeDLL (void) {<br />
hdll = LoadLibrary(&quot;PORT.DLL&quot;);<br />
if(hdll == NULL)<br />
{<br />
return false; //wenn false, dann datei nicht gefunden<br />
}<br />
else<br />
{<br />
opencom = (open)GetProcAddress(hdll,&quot;OPENCOM&quot;); //übergebe den handle auf die Datei<br />
readbyte = (read)GetProcAddress(hdll,&quot;READBYTE&quot;); //Beim aufruf in c wird dann die funktion in der dll ausgeführt<br />
sendbyte = (send)GetProcAddress(hdll,&quot;SENDBYTE&quot;);<br />
closecom = (close)GetProcAddress(hdll,&quot;CLOSECOM&quot;);<br />
timeout = (time_)GetProcAddress(hdll,&quot;TIMEOUT&quot;);<br />
rts = (rts_)GetProcAddress(hdll,&quot;RTS&quot;);<br />
txd = (txd_)GetProcAddress(hdll,&quot;TXD&quot;);<br />
dtr = (dtr_)GetProcAddress(hdll,&quot;DTR&quot;);<br />
return true;<br />
}<br />
}</p>
<p>Ich denke das die port.dll bekannst ist, dennoch ein paar Infos auf dieser Seite<br />
<a href="http://www.the-starbearer.de/Praxis/ElektronikamPC/RS232/portdll.htm" rel="nofollow">http://www.the-starbearer.de/Praxis/ElektronikamPC/RS232/portdll.htm</a></p>
<p>Wäre Super wenn mir da jemand helfen könnte, ich probiere schon seit Stunden.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/781219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/781219</guid><dc:creator><![CDATA[Farnsworth]]></dc:creator><pubDate>Tue, 03 May 2005 20:58:05 GMT</pubDate></item><item><title><![CDATA[Reply to port.dll zugriff auf RS232 on Wed, 04 May 2005 12:26:03 GMT]]></title><description><![CDATA[<p>hat sich erledigt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/781582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/781582</guid><dc:creator><![CDATA[Farnsworth]]></dc:creator><pubDate>Wed, 04 May 2005 12:26:03 GMT</pubDate></item><item><title><![CDATA[Reply to port.dll zugriff auf RS232 on Wed, 04 May 2005 13:35:12 GMT]]></title><description><![CDATA[<p>Es gehört im Allgemeinen zum guten Ton eine Selbstgefundene Lösung für ein Problem im Fragethread zu posten um<br />
a) die Lösung zu diskutieren<br />
b) die Lésung für andere zur Verfügung zu stellen.</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/781663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/781663</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Wed, 04 May 2005 13:35:12 GMT</pubDate></item><item><title><![CDATA[Reply to port.dll zugriff auf RS232 on Wed, 04 May 2005 13:42:05 GMT]]></title><description><![CDATA[<p>Sorry!</p>
<p>Es ist nur zu Dumm,<br />
alles was oben steht ist korrekt!</p>
<p>die Serielle Schnittstelle unterscheidet halt nicht 0 und 1, sondern -11 und +11 Volt.<br />
Ich habe das Minus Zeichen einfach nicht bemerkt, und habe mich geärgert das sich nichts tut:(</p>
]]></description><link>https://www.c-plusplus.net/forum/post/781672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/781672</guid><dc:creator><![CDATA[Farnsworth]]></dc:creator><pubDate>Wed, 04 May 2005 13:42:05 GMT</pubDate></item></channel></rss>