<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=48&amp;t=8930&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-10-29T17:39:05+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=48&amp;t=8930&amp;mode</id>
<entry>
<author><name><![CDATA[megatron]]></name></author>
<updated>2014-10-29T17:39:05+01:00</updated>
<published>2014-10-29T17:39:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=101411#p101411</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=101411#p101411"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=101411#p101411"><![CDATA[
Dziękuję bardzo, wszystko działa jak należy  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Podaję kod z działającym programem. Wynikiem jest zmienna typu float <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Temat uważam za zamknięty.<br /><br />[syntax=cpp]#include &lt;windows.h&gt; <br />#include &lt;iostream&gt;<br />#include &lt;fstream&gt;<br /><br />using namespace std;<br />int main() <br />{ <br /><br />   HANDLE hCom;    //uchwyt portu <br />   DCB dcb;        //konfiguracja portu <br />   BOOL fSuccess;  //flaga pomocnicza <br />char RS_buf;    //bufor danej <br />   DWORD RS_ile;   //ilosc bitow wyslanych <br /><br />   //otwarcie portu COM6 z prawami RW <br />   hCom = CreateFile( TEXT(&quot;COM6&quot;), GENERIC_READ | GENERIC_WRITE, <br />        0,    // exclusive access <br />        NULL, // default security attributes <br />        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); <br />  <br />   if (hCom == INVALID_HANDLE_VALUE){ <br />        printf(&quot;CreateFile failed with error %d.\n&quot;, GetLastError());      <br />        return 1; <br />   } <br /><br />   //pobranie aktualnych ustawien portu <br />    fSuccess = GetCommState(hCom, &amp;dcb); <br />    if (!fSuccess){ <br />      printf (&quot;GetCommState failed with error %d.\n&quot;, GetLastError()); <br />      return 2; <br />    } <br /><br />   //ustawienie naszej konfiguracji <br />   dcb.BaudRate = CBR_57600;     // predkosc transmisji <br />   dcb.ByteSize = 8;             // ilosc bitow danych <br />   dcb.Parity = NOPARITY;        // brak bitu parzystosci <br />   dcb.StopBits = ONESTOPBIT;    // dwa bity stopu <br /><br />   fSuccess = SetCommState(hCom, &amp;dcb); <br /><br />   if (!fSuccess){ <br />      printf (&quot;SetCommState failed with error %d.\n&quot;, GetLastError()); <br />      return 3; <br />   } <br /><br />int j=0;<br />    char buffer&#91;10&#93;;<br />char c;<br />while(1){<br />j=0;    <br />ReadFile( hCom, &amp;RS_buf, 1, &amp;RS_ile, 0); // czyta znak z rs232<br />if(RS_ile==1) {<br />        c = RS_buf;<br />        while((c != '\n') &amp;&amp; (c != ' ')) {<br />                ReadFile( hCom, &amp;RS_buf, 1, &amp;RS_ile, 0); // czyta znak z rs232<br />                c = RS_buf;<br />                buffer&#91;j&#93; = c;<br />                j++;<br />                cout &lt;&lt; c&lt;&lt; endl;                <br />        }<br />        // Zakończenie napisu<br />        buffer&#91;j&#93; = '\0';<br />        float danaZPortu2 = strtof(buffer, NULL);<br />        if (danaZPortu2&gt;0){<br />cout &lt;&lt; &quot;Bufor1: &quot; &lt;&lt; danaZPortu2 &lt;&lt; endl;<br />        }            <br />}<br />   } <br />   return 0; <br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5785">megatron</a> — 29 paź 2014, o 17:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[megatron]]></name></author>
<updated>2014-10-28T18:04:00+01:00</updated>
<published>2014-10-28T18:04:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=101220#p101220</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=101220#p101220"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=101220#p101220"><![CDATA[
<div class="quotetitle">mokrowski napisał(a):</div><div class="quotecontent"><br />No to albo decydujesz się na rozwiązanie w C++ albo w C! Mieszanie powoduje jedynie schizofrenię. Po co tam &lt;stdio.h&gt;, &lt;stdlib.h&gt; ?! Ja wiem że &lt;windows.h&gt; potrzebne bo otwierasz COM'a ale printf?!<br /></div><br />Masz rację. No i niestety w związku z tym pojawia się większy problem  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br />Używałem printf i myślałem, że przechowuję zmienną w tablicy o różnych indeksach, a tu jednak cały czas dana zapisywała mi się do tablicy pod indeksem '0'. Zauważyłem to dopiero gdy, użyłem: cout &lt;&lt; ...&lt;&lt; endl; W jednym wierszu miałem 0, w drugim . , w trzecim 7 itp.<br />Zacznijmy od początku, czyli jak zapisać pojedynczą daną do tablicy, dzięki waszej pomocy już wiem jak zamienić ją z char na float, więc sobie z tym poradzę.<br /><br />z mikrokontrolera wysyłam:<br />daną, czyli np. 0.734 + <br />usart_bufor[z] = 13;//znak powrotu karetki CR (Carrige Return)<br />usart_bufor[z+1] = 10;//znak nowej linii LF (Line Feed)<br />usart_bufor[z+2] = 0;//znak końca ciągu tekstu w tablicy<br />dzięki temu każdą daną mam w kolejnej linijce.<br /><br />Kod po stronie komputera jest dobry ale w RS_buf przechowywana jest jedna zmienna  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />Kod który wyświetli mi dobry wynik, ale nic mi nie daje:<br />[syntax=cpp]ReadFile( hCom, &amp;RS_buf, 1, &amp;RS_ile, 0); // czyta znak z rs232<br />      if(RS_ile==1) { // jeżeli coś jest na porcie<br />         if(RS_buf == 1)   break; <br />         cout &lt;&lt;RS_buf ;// wyświetla mi każdy znak w jednej linijce<br />      }[/syntax]<br /><br />Powyższy kod jest w pętli while(1){..., a więc czyta np 0.734 + Carrige Return + Line Feed+ znak końca ciągu tekstu w tablic<br />Ja chce dane zapisywać w tablicy i tu się pojawiają problemy:<br />1. Skąd wiem, że zaczynam odbierać kolejną liczbę, od początku(0.734), a nie od środka (734.0)?<br />2. Nie wiem co robi break.<br />3. Skąd wiem, że jest już koniec przechwytywanej danej?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5785">megatron</a> — 28 paź 2014, o 18:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lex_]]></name></author>
<updated>2014-10-24T23:24:21+01:00</updated>
<published>2014-10-24T23:24:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100566#p100566</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100566#p100566"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100566#p100566"><![CDATA[
Może się mylę, ale popatrz:<br /><br />zadeklarowałeś tablicę:<br />[syntax=cpp]char RS_buf1&#91;6&#93;;[/syntax] //sześcioznakową<br /><br />i popatrz ile masz liczb w tablicy:<br />0073400 = 6 (sześć) znaków (licz 0,1,2...). Nie sądzę aby to był przypadek.<br /><br />Pokombinuj z odczytem zmiennej. I najlepiej zaokrąglij (o ile się da) wynik.<br /><br />Pozdro.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2676">Lex_</a> — 24 paź 2014, o 23:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[megatron]]></name></author>
<updated>2014-10-24T22:09:45+01:00</updated>
<published>2014-10-24T22:09:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100560#p100560</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100560#p100560"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100560#p100560"><![CDATA[
Oboje macie racje  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Ale nadal mam problem <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br />To co zauważyłem:<br />Każdą zmienną odczytuję oddzielnie(za pomocą ReadFile) w postaci int np. Jak wyślę z mikrokontr. przez RS232 liczbę 0.734, to odczytam<br />najpierw 0<br />potem . i zapiszę to jako 0<br />next 7<br />next 3<br />next 4<br />next  0 // nie wiem skąd to się wzięło<br />i next 0 // nie wiem skąd to się wzięło <br />Całą liczbę zapisuję do RS_buf1 i ją wyświetlam, czyli mam liczbę 0073400 zamiast 0.734<br />Nie wiem jak ten problem rozwiązać więc wrzucam zdjęcie i kod. <br /><br /> [syntax=cpp]BYTE RS_buf;    //bufor danej <br />    char RS_buf1&#91;6&#93;;<br />    int zmienna;<br />    int j=1;<br />   while(1) <br />   {            <br />j=1;<br />        fSuccess = ReadFile( hCom, &amp;RS_buf, 1, &amp;RS_ile, 0); <br />        if (!fSuccess) <br />        { <br />            printf (&quot;ReadFile failed with error %d.\n&quot;, GetLastError()); <br />            return 5; <br />        } <br />      <br />      if(RS_ile==1){ <br />if(RS_ile == 1) { <br />        RS_buf1&#91;0&#93;=RS_buf; <br />        }<br /><br />        // if(RS_buf == 1)   break; <br />         RS_buf1 &#91;0&#93;= RS_buf;<br />   while(RS_ile == 1){ <br /><br />        ReadFile( hCom, &amp;RS_buf, 1, &amp;RS_ile, 0); <br /><br />        if(RS_ile == 1) <br />        { <br />        RS_buf1&#91;j&#93;=RS_buf; <br />        j++; <br />        } <br /><br />        if(RS_ile==0) <br />        { <br />        RS_buf1&#91;j&#93;='\n'; <br />        } <br /><br />   }<br />zmienna = atoi( RS_buf1 );<br />printf(&quot;%d&quot;,zmienna);<br />}[/syntax]<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/5785/a7ba553692e419b8c3c0753b7a625d76.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/5785/a7ba553692e419b8c3c0753b7a625d76.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5785">megatron</a> — 24 paź 2014, o 22:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PROTON]]></name></author>
<updated>2014-10-24T19:44:18+01:00</updated>
<published>2014-10-24T19:44:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100542#p100542</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100542#p100542"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100542#p100542"><![CDATA[
<div class="quotetitle">megatron napisał(a):</div><div class="quotecontent"><br />ale wyskakuje mi szereg liczb, które nie wiem co znaczą.<br /></div><br />Ta liczba to kod ASCII znaku.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1315">PROTON</a> — 24 paź 2014, o 19:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lex_]]></name></author>
<updated>2014-10-24T19:09:56+01:00</updated>
<published>2014-10-24T19:09:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100533#p100533</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100533#p100533"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100533#p100533"><![CDATA[
Wygląda to tak jakbyś zrobił przepełnienie stosu - albo raczej zakresu zmiennej.<br /><br />[syntax=cpp]int i = atoi (RS_buf); =&gt; float i = atof(RS_buf)[/syntax]<br /><br />Wrzuć to do innej tablicy zamiast RS_buf.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2676">Lex_</a> — 24 paź 2014, o 19:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[megatron]]></name></author>
<updated>2014-10-24T18:31:11+01:00</updated>
<published>2014-10-24T18:31:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100523#p100523</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100523#p100523"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100523#p100523"><![CDATA[
Też nie działa. Może tu jest problem z całym kodem.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/5785/ba354716041d4ae3952dfcf948196c51.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/5785/ba354716041d4ae3952dfcf948196c51.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5785">megatron</a> — 24 paź 2014, o 18:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-10-24T18:16:52+01:00</updated>
<published>2014-10-24T18:16:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100518#p100518</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100518#p100518"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100518#p100518"><![CDATA[
<div class="quotetitle">megatron napisał(a):</div><div class="quotecontent"><br />Nadal coś jest źle  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br />Zmieniłem:<br />16.   char RS_buf[8];    //bufor danej <br />58.    RS_buf[0]='a'; <br />89.    int i =atoi( RS_buf);<br />90.    cout &lt;&lt;i;<br /><br />printf (&quot;%e&quot;, atof( RS_buf));  też nie działa  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br /><br />Zamieszczam zdjęcie z tym co jest i tym co powinno być.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/5785/f87a47dcae28a0b970e1632bb51d6221.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/5785/f87a47dcae28a0b970e1632bb51d6221.jpg" alt="Obrazek" /></a><br /></div><br /><br />No to koleżko:<br />89. int i = atoi (RS_buf); =&gt; float i = atof(RS_buf)<br /><br />printf (&quot;%e&quot;, atof( RS_buf)) =&gt; printf(&quot;%f&quot;, i); lub printf(&quot;%f&quot;, atof(RS_buf);<br /><br />Spróbuj powyższego<br /><br /><span style="color: #0000FF">z Niebieskim pozdRowieniem,<br />Doman89</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 24 paź 2014, o 18:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[megatron]]></name></author>
<updated>2014-10-24T17:54:56+01:00</updated>
<published>2014-10-24T17:54:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100508#p100508</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100508#p100508"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100508#p100508"><![CDATA[
Tak, ze swojego układu przesyłam wartość 0.734 przez RS232 i odczytuję ją w terminalu. Tak jest to liczba zmiennoprzecinkowa, dlatego użyłem %e.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5785">megatron</a> — 24 paź 2014, o 17:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-10-24T17:48:00+01:00</updated>
<published>2014-10-24T17:48:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100507#p100507</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100507#p100507"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100507#p100507"><![CDATA[
Kolega a Ty mu podajesz wartości 0.734 np? Czyli zmiennoprzecinkowe czy ja źle rozumuję?<br /><br /><span style="color: #0000ff">z Niebieskim pozdRowieniem,<br />Doman89</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 24 paź 2014, o 17:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[megatron]]></name></author>
<updated>2014-10-24T17:41:25+01:00</updated>
<published>2014-10-24T17:41:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100506#p100506</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100506#p100506"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100506#p100506"><![CDATA[
Dużej zmiany nie ma.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/5785/e5a5d7232a6856d944031e5ef9790a55.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/5785/e5a5d7232a6856d944031e5ef9790a55.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5785">megatron</a> — 24 paź 2014, o 17:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-10-24T17:17:42+01:00</updated>
<published>2014-10-24T17:17:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100505#p100505</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100505#p100505"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100505#p100505"><![CDATA[
<div class="quotetitle">megatron napisał(a):</div><div class="quotecontent"><br />printf (&quot;%e&quot;, atof( RS_buf)); też nie działa<br /></div><br /><br />Kolega ale do stringów jest chyba znacznik %s, %e jest do zmiennoprzecinkowych.<br /><br /><span style="color: #0000FF">z Niebieskim pozdRowieniem,<br />Doman89</span><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br />Sorki ty masz mieć int'a więc %d <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 24 paź 2014, o 17:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[megatron]]></name></author>
<updated>2014-10-24T17:04:03+01:00</updated>
<published>2014-10-24T17:04:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100503#p100503</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100503#p100503"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100503#p100503"><![CDATA[
Nadal coś jest źle  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br />Zmieniłem:<br />16.   char RS_buf[8];    //bufor danej <br />58.    RS_buf[0]='a'; <br />89.    int i =atoi( RS_buf);<br />90.    cout &lt;&lt;i;<br /><br />printf (&quot;%e&quot;, atof( RS_buf));  też nie działa  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br /><br />Zamieszczam zdjęcie z tym co jest i tym co powinno być.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/5785/f87a47dcae28a0b970e1632bb51d6221.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/5785/f87a47dcae28a0b970e1632bb51d6221.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5785">megatron</a> — 24 paź 2014, o 17:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[doman89]]></name></author>
<updated>2014-10-24T14:46:57+01:00</updated>
<published>2014-10-24T14:46:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100484#p100484</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100484#p100484"/>
<title type="html"><![CDATA[Re: C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100484#p100484"><![CDATA[
Witam,<br /><br />Kolega tu masz rozwiązanie swojego problemu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />[syntax=c]#include &lt;cstdlib&gt;<br /><br />int atoi( const char * str );[/syntax]<br /><br />Zamiast cstdlib może być stdlib<br /><br />Rzutowanie typów w tym przypadku nie zadziała <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><span style="color: #0000FF">z Niebieskim pozdRowieniem,<br />Doman89</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3271">doman89</a> — 24 paź 2014, o 14:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[megatron]]></name></author>
<updated>2014-10-24T10:17:42+01:00</updated>
<published>2014-10-24T10:17:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100466#p100466</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100466#p100466"/>
<title type="html"><![CDATA[C++; Problem: Konwersja char na int]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8930&amp;p=100466#p100466"><![CDATA[
Witam. Podłączyłem swój układ przez rs232 usb-ttl do komputera przez port COM6. Dane które odbieram przechowuję w zmiennej char i mi ładnie wyświetla na ekranie. Mam problem przy konwersji zmiennej typu char na liczbową np. int .<br />Próbowałem:<br />int i = (int)zmienna_char;<br />cout&lt;&lt;i;<br />printf (&quot;%d&quot;, i);<br />ale wyskakuje mi szereg liczb, które nie wiem co znaczą.<br />Dołączam zdjęcie z dobrze wyświetlającymi danymi (zmienna char) oraz zdjęcie ze źle wyświetlającymi danymi (zmienna int).<br />Program:<br /><br />[syntax=cpp]#include &lt;windows.h&gt; <br />#include &lt;stdio.h&gt; <br />#include &lt;stdlib.h&gt;     /* atof */<br />#include &lt;iostream&gt;<br />#include &quot;uart.h&quot;<br />//#inc&lt;mscorlib.dll&gt;<br /><br />//using namespace System;<br />using namespace std;<br />int main() <br />{ <br />uint8_t c;<br /><br />   HANDLE hCom;    //uchwyt portu <br />   DCB dcb;        //konfiguracja portu <br />   BOOL fSuccess;  //flaga pomocnicza <br />   char RS_buf;    //bufor danej <br />   DWORD RS_ile;   //ilosc bitow wyslanych <br />char to,yu;<br /> double napiecie;//,odl_cm;<br />int odl_cm;<br />//string tekst;<br />   hCom = CreateFile( TEXT(&quot;COM6&quot;), GENERIC_READ | GENERIC_WRITE, <br />        0,    // exclusive access <br />        NULL, // default security attributes <br />        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); <br />  <br />   if (hCom == INVALID_HANDLE_VALUE) <br />   { <br />        printf(&quot;CreateFile failed with error %d.\n&quot;, GetLastError()); <br />      <br />        return 1; <br />   } <br /><br />   //pobranie aktualnych ustawien portu <br />    fSuccess = GetCommState(hCom, &amp;dcb); <br />    if (!fSuccess) <br />    { <br />      printf (&quot;GetCommState failed with error %d.\n&quot;, GetLastError()); <br />      return 2; <br />    } <br /><br />   //ustawienie naszej konfiguracji <br />   dcb.BaudRate = CBR_57600;     // predkosc transmisji <br />   dcb.ByteSize = 8;             // ilosc bitow danych <br />   dcb.Parity = NOPARITY;        // brak bitu parzystosci <br />   dcb.StopBits = ONESTOPBIT;    // dwa bity stopu <br /><br />   fSuccess = SetCommState(hCom, &amp;dcb); <br /><br />   if (!fSuccess) <br />   { <br />      printf (&quot;SetCommState failed with error %d.\n&quot;, GetLastError()); <br />      return 3; <br />   } <br />    <br />   //wyslanie 1 bajta przez RS <br />   RS_buf='a'; <br />    fSuccess = WriteFile( hCom, &amp;RS_buf, 1, &amp;RS_ile, 0); <br />    if (!fSuccess) <br />    { <br />      printf (&quot;WriteFile failed with error %d.\n&quot;, GetLastError()); <br />      return 4; <br />    } <br />    <br />   while(1) <br />   {            <br />        fSuccess = ReadFile( hCom, &amp;RS_buf, 1, &amp;RS_ile, 0); <br />        if (!fSuccess) <br />        { <br />            printf (&quot;ReadFile failed with error %d.\n&quot;, GetLastError()); <br />            return 5; <br />        } <br />      <br />      if(RS_ile==1) <br />      { <br /><br />         if(RS_buf == 1)   break; <br />        // int i = (int)RS_buf;<br />//to=RS_buf;<br />         //napiecie=double(RS_buf);<br />         //odl_cm=(napiecie-0.36)/0.0015;<br />//yu=(char)odl_cm;<br />         //printf(&quot;%c&quot;,odl_cm);<br />      //  float test2 = (float)RS_buf&#91;0&#93;;<br />     //   c = uart_getchar();<br /> //<br /> <br /> int i = (int)RS_buf;<br /> //cout&lt;&lt;i;<br /> //cout&lt;&lt;RS_buf;<br /> printf (&quot;%i&quot;, i); <br />}<br />   <br />  // cout&lt;&lt;RS_buf&#91;0&#93;;<br />   } <br />   return 0; <br />}[/syntax]<br /><a href="http://forum.atnel.pl/_obrazki/o/5785/f5fb2c2dd7292eac58d2d2b928cc14a7.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/5785/f5fb2c2dd7292eac58d2d2b928cc14a7.jpg" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/5785/c20e5bd1e5ce6256c477c7fcbcea3677.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/5785/c20e5bd1e5ce6256c477c7fcbcea3677.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5785">megatron</a> — 24 paź 2014, o 10:17</p><hr />
]]></content>
</entry>
</feed>