<?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[binäre Daten wandeln]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich würde gerne eine serielle Schnittstelle eines Messgerätes auslesen, die Daten sind aber binär codiert und ich blicke es nicht diese umzuwandeln.Die Struktur ist aus der Beschreibung des Herstellers:</p>
<pre><code>Datentypen &lt;dateType&gt; und &lt;measuringDataType&gt;
typedef struct
{
unsigned second:4; // Sekunde Einer (0...9)
unsigned second10:4; // Sekunde Zehner (0...5)
unsigned minute:4; // Minute Einer (0...9)
unsigned minute10:4; // Minute Zehner (0...5)
unsigned hour:4; // Stunde Einer (0...9)
unsigned hour10:4; // Stunde Zehner (0...2)
unsigned date:4; // Tag Einer (0...9)
unsigned date10:4; // Tag Zehner (0...3)
unsigned month:4; // Monat Einer (0...9)
unsigned month10:4; // Monat Zehner (0,1)
unsigned year:4; // Jahr Einer (0...9)
unsigned year10:4; // Jahr Zehner (0...9)
} dateType;
typedef struct
{
uint id; // Identifikationsnummer (eindeutig) (2 Byte)
uint stepLength // Stufendauer in Sekunden (2 Byte)
unsigned status:4; // Status, Markierung: Error-Code ... (4 Bit)
unsigned measuringType:2; // Typ der Messung (2 Bit)
unsigned startFlag:1; // Startmarkierung, 1 = erster Datensatz (1 Bit)
unsigned endFlag:1; // Endemarkierung, 0 = kein Ende, 1 = Ende (1 Bit)
uint value; // Messwert (2 Byte)
uchar temp; // Temperatur (1 Byte)
dateType date; // Datum/Uhrzeit (6 Byte)
} measuringDataType;
</code></pre>
<p>Ich bekomme die Daten über die Com1 rein und hätte sie gerne als double.<br />
Leider geht das über mein bisheriges Können hinaus.<br />
Möglicherweise kann es mir ja jemand helfen. Danke</p>
<p>Gruss Myerscola</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/176528/binäre-daten-wandeln</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 04:58:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/176528.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Mar 2007 09:04:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to binäre Daten wandeln on Thu, 22 Mar 2007 09:04:02 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich würde gerne eine serielle Schnittstelle eines Messgerätes auslesen, die Daten sind aber binär codiert und ich blicke es nicht diese umzuwandeln.Die Struktur ist aus der Beschreibung des Herstellers:</p>
<pre><code>Datentypen &lt;dateType&gt; und &lt;measuringDataType&gt;
typedef struct
{
unsigned second:4; // Sekunde Einer (0...9)
unsigned second10:4; // Sekunde Zehner (0...5)
unsigned minute:4; // Minute Einer (0...9)
unsigned minute10:4; // Minute Zehner (0...5)
unsigned hour:4; // Stunde Einer (0...9)
unsigned hour10:4; // Stunde Zehner (0...2)
unsigned date:4; // Tag Einer (0...9)
unsigned date10:4; // Tag Zehner (0...3)
unsigned month:4; // Monat Einer (0...9)
unsigned month10:4; // Monat Zehner (0,1)
unsigned year:4; // Jahr Einer (0...9)
unsigned year10:4; // Jahr Zehner (0...9)
} dateType;
typedef struct
{
uint id; // Identifikationsnummer (eindeutig) (2 Byte)
uint stepLength // Stufendauer in Sekunden (2 Byte)
unsigned status:4; // Status, Markierung: Error-Code ... (4 Bit)
unsigned measuringType:2; // Typ der Messung (2 Bit)
unsigned startFlag:1; // Startmarkierung, 1 = erster Datensatz (1 Bit)
unsigned endFlag:1; // Endemarkierung, 0 = kein Ende, 1 = Ende (1 Bit)
uint value; // Messwert (2 Byte)
uchar temp; // Temperatur (1 Byte)
dateType date; // Datum/Uhrzeit (6 Byte)
} measuringDataType;
</code></pre>
<p>Ich bekomme die Daten über die Com1 rein und hätte sie gerne als double.<br />
Leider geht das über mein bisheriges Können hinaus.<br />
Möglicherweise kann es mir ja jemand helfen. Danke</p>
<p>Gruss Myerscola</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250263</guid><dc:creator><![CDATA[myerscola]]></dc:creator><pubDate>Thu, 22 Mar 2007 09:04:02 GMT</pubDate></item><item><title><![CDATA[Reply to binäre Daten wandeln on Thu, 22 Mar 2007 09:26:16 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wie liest du denn die Daten ein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250283</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 22 Mar 2007 09:26:16 GMT</pubDate></item><item><title><![CDATA[Reply to binäre Daten wandeln on Thu, 22 Mar 2007 09:35:00 GMT]]></title><description><![CDATA[<p>Mit dem Demo-Projet der Komponente TMSAsync.Ich kann als ASCI &quot;getmdata&quot; senden und erhalte dann &quot;putmdata&quot; zürück, anschließend sendet das Gerät 3504 Byte Daten, die ich als unverständliche ASCI-Zeichen erhalte. An der Stelle bin ich dann mit meinem Latein am Ende <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/1250290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250290</guid><dc:creator><![CDATA[myerscola]]></dc:creator><pubDate>Thu, 22 Mar 2007 09:35:00 GMT</pubDate></item><item><title><![CDATA[Reply to binäre Daten wandeln on Thu, 22 Mar 2007 09:57:38 GMT]]></title><description><![CDATA[<p>Ich meine damit, in was für einer Variablen (Typ) landen die Daten. Ist es ein Stream? So eine Umwandlung läßt sich recht einfach über einen Stream machen indem man die read/write Funktionen verwendet. Dann hättest du die Daten erstmal in Variablen des Typs den du oben angegeben hast. Die mußt du dann nur noch umwandeln.</p>
<pre><code class="language-cpp">dateType datet;
// irgendwie gefüllt.
int sec = datet.second + datet.second10*10;
// usw.
</code></pre>
<p>Wie du die Daten dann weiterverwenden willst weiß ich ja nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250313</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 22 Mar 2007 09:57:38 GMT</pubDate></item><item><title><![CDATA[Reply to binäre Daten wandeln on Thu, 22 Mar 2007 10:09:42 GMT]]></title><description><![CDATA[<p>Die Daten landen in einem Memo Feld und sind AnsiString.<br />
Ich lese mit - VaComm1-&gt;ReadText().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250327</guid><dc:creator><![CDATA[myerscola]]></dc:creator><pubDate>Thu, 22 Mar 2007 10:09:42 GMT</pubDate></item><item><title><![CDATA[Reply to binäre Daten wandeln on Thu, 22 Mar 2007 10:45:11 GMT]]></title><description><![CDATA[<p>Binäre Daten würde ich auch binär einlesen, sonst bekommst du Probleme mit fehlerhaft erkannten Zeilenendkennzeichen usw.<br />
Ich kenne nun deine Komponente nicht und weiß somit auch nicht genau was ReadText() macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250364</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 22 Mar 2007 10:45:11 GMT</pubDate></item><item><title><![CDATA[Reply to binäre Daten wandeln on Thu, 22 Mar 2007 14:04:07 GMT]]></title><description><![CDATA[<p>Wie sehen die daten den aus???</p>
<p>ASCII-HEX: %31%32%32%33<br />
ASCII: 010203 dabei wir jedes Byte durch 2 ASCII-Zeichen repräsentiert</p>
<blockquote>
<p>&gt; 01 = 0x01, 02 = 0x02</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1250504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250504</guid><dc:creator><![CDATA[klauss]]></dc:creator><pubDate>Thu, 22 Mar 2007 14:04:07 GMT</pubDate></item><item><title><![CDATA[Reply to binäre Daten wandeln on Thu, 22 Mar 2007 14:31:02 GMT]]></title><description><![CDATA[<p>leider habe ich auch keine ASCI-Zeichennummern, sondern nur die Anzeige im Memo von Quadraten und anderen Zeichen mit denen ich nix anfangen kann.<br />
Der Vorschlag von Braunstein klingt gut, ich weiß nur nicht wie ich einen Stream von dem Gerät bekomme.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250528</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250528</guid><dc:creator><![CDATA[myerscola]]></dc:creator><pubDate>Thu, 22 Mar 2007 14:31:02 GMT</pubDate></item><item><title><![CDATA[Reply to binäre Daten wandeln on Thu, 22 Mar 2007 15:05:43 GMT]]></title><description><![CDATA[<p>hab mir die VaComm mal angesehen...</p>
<p>mit ReadBufUsed erhält du die anzahl von zeichen die sich momentan im inputbuffer befinden</p>
<p>mit ReadBuf kannst du das ganze in einen eigenen buffer auslesen. über diesen buffer kannst du dann den struct legen und somit kommst du an die daten....</p>
<p>oder du liest direkt in den struct ein</p>
<p>zB.</p>
<p>dateType date;<br />
VaComm1-&gt;ReadBuf(&amp;date, sizeof(dateType));</p>
<p>vorher musst du aber überprüfen ob genügend daten im inputbuffer sind...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250560</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250560</guid><dc:creator><![CDATA[klauss]]></dc:creator><pubDate>Thu, 22 Mar 2007 15:05:43 GMT</pubDate></item><item><title><![CDATA[Reply to binäre Daten wandeln on Thu, 22 Mar 2007 16:07:31 GMT]]></title><description><![CDATA[<p>Klingt gut, kann aber erst wieder morgen testen, danke erst mal an alle Tippgeber.<br />
Gruss myerscola</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250624</guid><dc:creator><![CDATA[myerscola]]></dc:creator><pubDate>Thu, 22 Mar 2007 16:07:31 GMT</pubDate></item></channel></rss>