<?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[Problem mit char]]></title><description><![CDATA[<p>Hallo<br />
in meinem Programm sende ich eine Sequenz von Bytes über die Serielle Schnittstelle.</p>
<pre><code class="language-cpp">BOOL SerialPort::WriteNBytes (DWORD dwCount, BYTE* What) 
{
  DWORD ByteWritten;

  int j;
  if (IsOpen()==FALSE) return FALSE;

	  ::WriteFile (hCom, What, dwCount, &amp;ByteWritten,0);

  if (ByteWritten!=  dwCount) return FALSE;
		return TRUE;
	}
</code></pre>
<p>dwCount ist die Anzahl der Bytes, What sind die Bytes die gesendet werden.<br />
BYTE = typedef unsigned char.<br />
Jetzt möchte ich gerne jedes Byte einzeln senden. Dazu brauch ich eine Schleife, dwCount ist 1, und für What muss ich jedes Byte einzeln auslesen.</p>
<p>Wie kann ich bei What jedes einzelne Byte behandeln??</p>
<pre><code class="language-cpp">BOOL SerialPort::WriteNBytes (DWORD dwCount, BYTE* What) 
{
  DWORD ByteWritten;

  int j;
  if (IsOpen()==FALSE) return FALSE;
  for(j=0; j&lt;dwCount; j++)  
  {	  	  
	  ::WriteFile (hCom, What[j], 1, &amp;ByteWritten,0);
  }

  if (ByteWritten!=  dwCount) return FALSE;
		return TRUE;
}
What[j] funktioniert nicht! Hat jemand eine Idee?
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/171059/problem-mit-char</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 16:35:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171059.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Jan 2007 10:33:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit char on Mon, 22 Jan 2007 10:33:14 GMT]]></title><description><![CDATA[<p>Hallo<br />
in meinem Programm sende ich eine Sequenz von Bytes über die Serielle Schnittstelle.</p>
<pre><code class="language-cpp">BOOL SerialPort::WriteNBytes (DWORD dwCount, BYTE* What) 
{
  DWORD ByteWritten;

  int j;
  if (IsOpen()==FALSE) return FALSE;

	  ::WriteFile (hCom, What, dwCount, &amp;ByteWritten,0);

  if (ByteWritten!=  dwCount) return FALSE;
		return TRUE;
	}
</code></pre>
<p>dwCount ist die Anzahl der Bytes, What sind die Bytes die gesendet werden.<br />
BYTE = typedef unsigned char.<br />
Jetzt möchte ich gerne jedes Byte einzeln senden. Dazu brauch ich eine Schleife, dwCount ist 1, und für What muss ich jedes Byte einzeln auslesen.</p>
<p>Wie kann ich bei What jedes einzelne Byte behandeln??</p>
<pre><code class="language-cpp">BOOL SerialPort::WriteNBytes (DWORD dwCount, BYTE* What) 
{
  DWORD ByteWritten;

  int j;
  if (IsOpen()==FALSE) return FALSE;
  for(j=0; j&lt;dwCount; j++)  
  {	  	  
	  ::WriteFile (hCom, What[j], 1, &amp;ByteWritten,0);
  }

  if (ByteWritten!=  dwCount) return FALSE;
		return TRUE;
}
What[j] funktioniert nicht! Hat jemand eine Idee?
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1214316</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1214316</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Mon, 22 Jan 2007 10:33:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char on Mon, 22 Jan 2007 10:36:51 GMT]]></title><description><![CDATA[<p>WriteFile erwartet einen char* (Zeiger), also mußt du dessen Adresse bilden:</p>
<pre><code class="language-cpp">::WriteFile (hCom, &amp;(What[j]), 1, &amp;ByteWritten,0);
</code></pre>
<p>(übrigens funktioniert hier deine Fehlerabfrage nicht mehr - ByteWritten erhält nur die Anzahl geschriebener Bytes beim letzten Schreibvorgang, also entweder 0 (Fehler) oder 1 (in Ordnung)).</p>
<p>PS: Hat es einen bestimmten Grund, daß du die Daten nicht im Block senden willst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1214322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1214322</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 22 Jan 2007 10:36:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char on Mon, 22 Jan 2007 10:42:16 GMT]]></title><description><![CDATA[<p>Ich möchte Sie einzeln senden um die Zeitdifferenz zwischen den einzelnen Bytes besser kontrollieren zu können.<br />
Ich werde das mal ausprobieren, ich hoffe mal das das klappt <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1214328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1214328</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Mon, 22 Jan 2007 10:42:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit char on Mon, 22 Jan 2007 10:49:31 GMT]]></title><description><![CDATA[<p>Okay es funktioniert, danke CStoll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1214334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1214334</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Mon, 22 Jan 2007 10:49:31 GMT</pubDate></item></channel></rss>