<?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=4&amp;t=14406&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-02-06T20:20:28+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=14406&amp;mode</id>
<entry>
<author><name><![CDATA[HomoChemicus]]></name></author>
<updated>2016-02-06T20:20:28+01:00</updated>
<published>2016-02-06T20:20:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152923#p152923</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152923#p152923"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152923#p152923"><![CDATA[
W linii 167 tworzysz string i umieszczasz go w wynik1.<br />Najlepiej zadeklaruj jakąś zmienną np. int xyz; i do niej daj xyz=(60.0 * obrotow_na_sekunde); i po kłopocie.<br /><br />PS. Doczytaj o C String i o tablicach.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10470">HomoChemicus</a> — 6 lut 2016, o 20:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJS]]></name></author>
<updated>2016-02-06T18:38:24+01:00</updated>
<published>2016-02-06T18:38:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152903#p152903</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152903#p152903"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152903#p152903"><![CDATA[
Nadal nie rozumiesz, o co chodzi z tablicą wynik1[].<br />Tablica ta zawiera 16 znaków, które jeden po drugim są wysyłane na LCD. Co konkretnie na której pozycji jest nie wiem, ale może to być zestaw znaków ASCII np. taki<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">&quot;OBROTY: 2560/min&quot;</div><br />lub <div class="codetitle"><b>Code:</b></div><div class="codecontent">&quot;2500 obr/min.   &quot;</div><br />lub coś innego.<br />Zatem te twoje próby zamiany ascii na integer nie zadziałają. Wyciąganie z tej tablicy wartości obrotów jest możliwe, ale nieopłacalne i bezsensowne.<br />Załóżmy jednak, że ilość obrotów to cztery cyfry na pozycjach wynik1[8]do wynik1[11], wtedy możesz zrobić coś takiego (piszę na sucho):<br />[syntax=c]int obroty;<br />obroty = (wynik1&#91;8&#93; - '0') *1000 + (wynik1&#91;9&#93; - '0') *100 + (wynik1&#91;10&#93; - '0') *10 + (wynik1&#91;11&#93; - '0');[/syntax]<br />Myślę, że zadziała, ale czy jest sens, przecież wartość obrotów zanim została przeniesiona jako ASCII do tablicy wynik1[] musi być trzymana w innej zmiennej (np. typu integer) i musi być ona dostępna w programie. Ewentualnie jest wyliczana jakąś funkcją wcześniej; tak czy siak musi być dostępna gdzieś w programie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1614">PJS</a> — 6 lut 2016, o 18:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[damian5602]]></name></author>
<updated>2016-02-06T16:27:41+01:00</updated>
<published>2016-02-06T16:27:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152882#p152882</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152882#p152882"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152882#p152882"><![CDATA[
Próbowałem tak:<br />[syntax=c]int obroty;<br />obroty = atoi (wynik1);[/syntax]<br />i tak:<br />[syntax=c]int obroty = wynik1 - &quot;0&quot;;[/syntax]<br />i tak:<br />[syntax=c]int obroty = (int)wynik1;[/syntax]<br />ale żaden z nich nie działa poprawnie z powyższym kodem..<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12380">damian5602</a> — 6 lut 2016, o 16:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJS]]></name></author>
<updated>2016-02-06T15:09:40+01:00</updated>
<published>2016-02-06T15:09:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152877#p152877</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152877#p152877"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152877#p152877"><![CDATA[
A więc tak:<br />1) wynik1[] to tablica znakowa - zawiera w sobie tekst w postaci znaków ASCII, a nie liczby całkowitej. Więc jak chcesz porównywać to z wartością 4000 czy inną? <br />2) zobacz co robi funkcja LCD_WriteText(wynik1);<br />3) zapoznaj się z BB, czyli poznaj podstawy C, a szczególnie typy.<br />Ad.1 w tablicy masz tekst: przykładowo 2400 czyli cztery znaki ASCII cyfr '2' '4' '0' '0', a nie liczbę 2400.<br />Ad2. osobiście nie znam zawartości  LCD_WriteText(wynik1), ale myślę, że po prostu przekazujesz początek (adres) tablicy i funkcja wysyła kody znaków (zawarte w tej tablicy) na LCD.<br />Ad3. naprawdę zapoznaj się z BB lub inną książką o podstawach C, bo widać, że masz spore braki, a to w miarę czasu będzie miało wymierne negatywne skutki. Jak zrozumiesz typy zmiennych, a potem wskaźniki to całość będzie od razu dla ciebie jaśniejsza. A tak to z każdą modyfikacją, którą będziesz wprowadzał wystąpią problemy i pytanie o każdą najprostszą rzecz w pewnym momencie napierze tempa lawiny.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1614">PJS</a> — 6 lut 2016, o 15:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[damian5602]]></name></author>
<updated>2016-02-06T13:15:08+01:00</updated>
<published>2016-02-06T13:15:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152873#p152873</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152873#p152873"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152873#p152873"><![CDATA[
<div class="quotetitle">PJS napisał(a):</div><div class="quotecontent"><br />Pierwsza sprawa - wynik1 to tablica char, więc przyjmuje wartości do 256, więc nic dziwnego, że masz problemy z porównaniami - poczytaj m.in. o niejawnej konwersji typów.<br />Druga sprawa - do tablicy odwołuj się przez wynik1[<strong>tu wstaw numer komórki</strong>], bo odwołanie typu <em>wynik1</em> czy też <em>*wynik1</em> jest błędne czy też niezbyt czytelne (w najlepszym razie) - przynajmniej dla początkującego.<br />Trzecia sprawa - czy opanowałeś podstawy języka C, czy też próbujesz rzucać się bez wiedzy: na zasadzie, a nuż się uda; jeśli to drugie to najpierw zapoznaj się z językiem C. Nie będę polecał innych książek, jako że te Mirka są dla początkującego wręcz idealne.<br /></div><br />To dlaczego<br />[syntax=c]LCD_WriteText(wynik1);[/syntax]<br />wyświetla liczbę normalnie tzn. aktualne obroty.<br /><br />A ok:<br />[syntax=c]char  wynik1&#91;16&#93;;        //bufor wyświetlacza[/syntax]<br />rozumiem.<br /><br /><br /><br /><br />Chcę dać taki kodzik:<br />[syntax=c]if(wynik1&#91;16&#93;&lt;2000){<br />          lcd_locate(0,16);<br />          lcd_str(&quot;blue&quot;);<br />          _delay_ms(150);<br />                     }else if( (wynik1&#91;16&#93;&gt;2000) &amp;&amp; (wynik1&#91;16&#93;&lt;4000) ){<br />          lcd_locate(0,16);<br />          lcd_str(&quot;green&quot;);<br />          _delay_ms(150);<br />                     }else if( (wynik1&#91;16&#93;&gt;4000) &amp;&amp; (wynik1&#91;16&#93;&lt;6000) ){<br />          lcd_locate(0,16);<br />          lcd_str(&quot;yelow&quot;);<br />                     }else if( (wynik1&#91;16&#93;&gt;6000) &amp;&amp; (wynik1&#91;16&#93;&lt;8000) ){<br />          lcd_locate(0,16);<br />          lcd_str(&quot;orange&quot;);<br />          _delay_ms(150);<br />                     }else if( (wynik1&#91;16&#93;&gt;8000) &amp;&amp; (wynik1&#91;16&#93;&lt;10000) ){<br />               lcd_locate(0,16);<br />          lcd_str(&quot;red&quot;);<br />          _delay_ms(150);<br />                     }else if(wynik1&#91;16&#93;&gt;10000){<br />          lcd_locate(0,16);<br />          lcd_str(&quot;pulsing red&quot;);<br />          _delay_ms(150);<br />                     }[/syntax]<br /><br /><br />I tylko wykonuje &quot;lcd str blue&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12380">damian5602</a> — 6 lut 2016, o 13:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJS]]></name></author>
<updated>2016-02-06T13:00:32+01:00</updated>
<published>2016-02-06T13:00:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152870#p152870</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152870#p152870"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152870#p152870"><![CDATA[
Pierwsza sprawa - wynik1 to tablica char, więc przyjmuje wartości do 256, więc nic dziwnego, że masz problemy z porównaniami - poczytaj m.in. o niejawnej konwersji typów.<br />Druga sprawa - do tablicy odwołuj się przez wynik1[<strong>tu wstaw numer komórki</strong>], bo odwołanie typu <em>wynik1</em> czy też <em>*wynik1</em> jest błędne czy też niezbyt czytelne (w najlepszym razie) - przynajmniej dla początkującego.<br />Trzecia sprawa - czy opanowałeś podstawy języka C, czy też próbujesz rzucać się bez wiedzy: na zasadzie, a nuż się uda; jeśli to drugie to najpierw zapoznaj się z językiem C. Nie będę polecał innych książek, jako że te Mirka są dla początkującego wręcz idealne.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1614">PJS</a> — 6 lut 2016, o 13:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[damian5602]]></name></author>
<updated>2016-02-06T10:12:28+01:00</updated>
<published>2016-02-06T10:12:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152857#p152857</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152857#p152857"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152857#p152857"><![CDATA[
Tu jest sam kod do obrotów bez tych if:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;  <br />#include &lt;stdio.h&gt;  <br />#include &lt;avr/interrupt.h&gt;   <br />#include &lt;util/delay.h&gt;  <br />#include &quot;HD44780.h&quot;  <br />  <br />//tutaj ustaw własne zasady pomiaru  <br />#define POMIAR_ILOSC_IMPULSOW_NA_OBROT 4  //ilość inpulsów na jeden obrót  <br />#define POMIAR_ILOSC_OBROTOW           10 //ile obrotów ma trwać pomiar  <br />  <br />  <br />volatile unsigned long int  pomiar_ilosc_cykli;  <br />volatile unsigned int       ilosc_przepelnien;  <br />volatile unsigned char      pomiar_zbocze_nr;  <br />volatile unsigned char      pomiar_gotowy;  <br />  <br />volatile unsigned int       ICR1_moment_A;  <br />volatile unsigned int       ICR1_moment_B;  <br />  <br />char  wynik1&#91;16&#93;;        //bufor wyświetlacza  <br />  <br />//------------------------------------------------------  <br />  <br />ISR(TIMER1_CAPT_vect){  <br />  <br /> //Obsługa zdarzenia na ICP1   <br />  <br /> static unsigned int ICR1_aktualny; //wartość ICR1 złapana w aktualnie   <br />                                    //złapanym zboczu  <br />  <br /> //odczytaj złapany stan licznika  <br /> ICR1_aktualny = ICR1;  <br />  <br /> //czy to pierwsze złapane zbocze?  <br /> if(pomiar_zbocze_nr == 1){  <br />    <br />  //tak, pierwsze zbocze pomiarowe,   <br />    <br />  //uruchamiamy zliczanie przepełnień Timer1  <br />  <br />  //zgaś flagę przerwania od przepełnienia  <br />  TIFR |= (1&lt;&lt;TOV1);  <br />    <br />  //włącz przerwania od przepełnienia Timer1  <br />  TIMSK |= (1&lt;&lt;TOIE1);  <br />  <br />  //zeruj licznik przepełnień Timera1  <br />  ilosc_przepelnien = 0;  <br />  <br />  //zapamiętujemy stan licznika początku obrotu (moment A)  <br />  ICR1_moment_A = ICR1_aktualny;  <br />  <br /> }else{  <br />     <br />  //każde następne zbocza pomiarowe  <br />  <br />  //czy to ostatnie zbocze (koniec pełnego obrotu silnika)?  <br />  if(pomiar_zbocze_nr ==  POMIAR_ILOSC_IMPULSOW_NA_OBROT   <br />                          * POMIAR_ILOSC_OBROTOW){  <br />  <br />   //tak, wykryto ostatnie zbocze pomiarowe,   <br />   //czyli wykonał się pełny ostatni obrót tarczy  <br />  <br />   //wyłączamy przerwania z Input Capture Unit   <br />   //oraz przepełnienia Timer1  <br />   TIMSK &amp;= ~( (1&lt;&lt;TICIE1) | (1&lt;&lt;TOIE1) );  <br />     <br />   //zapamiętujemy zmienne dla main()  <br />   ICR1_moment_B  = ICR1_aktualny;  <br />   pomiar_gotowy  = 1;  <br />  <br />  }  <br />    <br />  //w pozostałych przypadkach nic nie robimy i czekamy na zliczanie   <br />  //dalszych zboczy  <br />   <br /> }  <br />  <br /> //zwiększ licznik wykrytych zboczy  <br /> pomiar_zbocze_nr++;  <br />  <br />}  <br />  <br />//------------------------------------------------------  <br />  <br />ISR(TIMER1_OVF_vect){  <br />  <br /> //powiększ licznik przepełnień Timera1  <br /> ilosc_przepelnien++;  <br />  <br />}  <br />  <br />//------------------------------------------------------  <br />  <br />  <br />void wykonaj_pomiar(void){  <br />  <br /> //Funkcja włącza pomiar   <br />  <br /> //zerujemy licznik przepełnień Timer0  <br /> ilosc_przepelnien = 0;  <br />  <br /> //ustawiamy nr pierwszego zbocza  <br /> pomiar_zbocze_nr = 1;  <br />  <br /> //zerujemy flagę gotowości pomiaru  <br /> pomiar_gotowy = 0;  <br />  <br /> //włącz przerwania z ICP1 Timer1  <br /> TIMSK |= (1&lt;&lt;TICIE1);  <br />  <br />}  <br />  <br />  <br />//------------------------------------------------------  <br />  <br />int main(void){  <br />  <br /> //zmienne do obliczeń  <br /> double czas_jednego_obrotu;  <br /> double obrotow_na_sekunde;  <br />  <br /> PORTB |= (1&lt;&lt;PB0);   //włącz pullup transoptora  <br />  <br /> LCD_Initalize();       //inicjalizacja LCD i napis początkowy  <br /> LCD_Clear();  <br /> LCD_GoTo(0, 0);           <br /> LCD_WriteText(&quot;Obrotomierz&quot;);  <br />  <br /> //Ustawienie Timer1  <br /> TCCR1A = 0;  <br /> TCCR1B = (1&lt;&lt;CS10);   //preskaler 1, bez noise   <br />                             //canceler dla ICP1  <br />   <br /> //lub z modułem Noise Canceler:  <br /> //TCCR1B = (1&lt;&lt;CS10) | (1&lt;&lt;ICNC1); //preskaler 1, włącz   <br />                                         //noise canceler dla ICP1  <br />   <br /> sei();       //włącz przerwania globalne  <br />  <br /> wykonaj_pomiar();     //włącz pierwszy pomiar  <br />  <br /> //pętla główna  <br /> while(1){  <br />    <br />  if(pomiar_gotowy){  <br />     <br />   // gdy pomiar został wykonany  <br />  <br />   //obliczenia  <br />     <br />   pomiar_ilosc_cykli  =  65536 * ilosc_przepelnien - ICR1_moment_A   <br />                          + ICR1_moment_B;  <br />     <br />   czas_jednego_obrotu = (double) pomiar_ilosc_cykli   <br />                         / POMIAR_ILOSC_OBROTOW / F_CPU ;  <br />  <br />   obrotow_na_sekunde = 1.0 / czas_jednego_obrotu;  <br />  <br />   //wyświetlenie wyników  <br />  <br />   LCD_Clear();  <br />  <br />   LCD_GoTo(13, 0);  <br />   LCD_WriteText(&quot;rpm&quot;);  <br />   //obroty na minutę  <br />   sprintf(wynik1,&quot;%7u &quot;, (int) (60.0 * obrotow_na_sekunde));  <br />   LCD_GoTo(9, 1);  <br />   LCD_WriteText(wynik1);  <br />        <br />   //pomiary co pół sekundy  <br />   _delay_ms(500);     <br />  <br />   //wykonaj następny pomiar  <br />   wykonaj_pomiar();  <br />  <br />  }  <br /> }  <br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12380">damian5602</a> — 6 lut 2016, o 10:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2016-02-05T20:15:26+01:00</updated>
<published>2016-02-05T20:15:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152832#p152832</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152832#p152832"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152832#p152832"><![CDATA[
pokaż więcej kodu bo cóś (pisownia zamierzona) kręcisz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 5 lut 2016, o 20:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[damian5602]]></name></author>
<updated>2016-02-05T12:53:05+01:00</updated>
<published>2016-02-05T12:53:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152794#p152794</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152794#p152794"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152794#p152794"><![CDATA[
<div class="quotetitle">MirkoT napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">damian5602 napisał(a):</div><div class="quotecontent">Mam pewien problem.<br />Jeżeli dam tak:<br />[syntax=c]if(*wynik1&gt;3000)[/syntax]<br /><br />To nic się nie dzieje.<br /><br />a jeżeli dam:<br />[syntax=c]if(*wynik1&lt;3000)[/syntax]<br />to jest to wykonywane poprawnie.<br /></div><br />I bardzo dobrze!<br />Tak ma być. Przecież wszystko zależy od tego co masz w zmiennej wynik1<br />Nie może być równocześnie i większe i mniejsze <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /></div><br /><br /><br />Chodzi o to że jak dam <br />[syntax=c]if(*wynik1&gt;3000)[/syntax]<br />zamiast<br />[syntax=c]if(*wynik1&lt;3000)[/syntax]<br />i wynik1 ma wartość np 4500 to nic się nie dzieje.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12380">damian5602</a> — 5 lut 2016, o 12:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2016-02-05T12:13:08+01:00</updated>
<published>2016-02-05T12:13:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152786#p152786</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152786#p152786"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152786#p152786"><![CDATA[
<div class="quotetitle">damian5602 napisał(a):</div><div class="quotecontent"><br />Mam pewien problem.<br />Jeżeli dam tak:<br />[syntax=c]if(*wynik1&gt;3000)[/syntax]<br /><br />To nic się nie dzieje.<br /><br />a jeżeli dam:<br />[syntax=c]if(*wynik1&lt;3000)[/syntax]<br />to jest to wykonywane poprawnie.<br /></div><br />I bardzo dobrze!<br />Tak ma być. Przecież wszystko zależy od tego co masz w zmiennej wynik1<br />Nie może być równocześnie i większe i mniejsze <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 5 lut 2016, o 12:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[damian5602]]></name></author>
<updated>2016-02-05T11:54:07+01:00</updated>
<published>2016-02-05T11:54:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152783#p152783</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152783#p152783"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152783#p152783"><![CDATA[
Mam pewien problem.<br />Jeżeli dam tak:<br />[syntax=c]if(*wynik1&gt;3000)[/syntax]<br /><br />To nic się nie dzieje.<br /><br />a jeżeli dam:<br />[syntax=c]if(*wynik1&lt;3000)[/syntax]<br />to jest to wykonywane poprawnie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12380">damian5602</a> — 5 lut 2016, o 11:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2016-02-05T10:46:27+01:00</updated>
<published>2016-02-05T10:46:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152772#p152772</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152772#p152772"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152772#p152772"><![CDATA[
<div class="quotetitle">damian5602 napisał(a):</div><div class="quotecontent"><br />BB czyli? (Blue Book?)<br /><br /><br />@EDIT<br />Zrobiłem tak:<br />[syntax=c]if(*wynik1&gt;2000){<br />if(4000&gt;*wynik1){<br /><br />Coś tam<br />}<br />}[/syntax]<br />Ale kod nie działa<br /></div><br />Tak chodzi o Niebieską Książkę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br />Zależy co chcesz osiągnąć. Może byś zrobił tak:<br />[syntax=c]if( (*wynik&gt;2000) &amp;&amp; (*wynik&lt;4000) ){<br />coś_tam;<br />}[/syntax]<br /><br />-------<br />Kolega marhef był szybszy <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 5 lut 2016, o 10:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2016-02-05T10:45:36+01:00</updated>
<published>2016-02-05T10:45:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152770#p152770</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152770#p152770"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152770#p152770"><![CDATA[
<div class="quotetitle">damian5602 napisał(a):</div><div class="quotecontent"><br />Zrobiłem tak:<br />[syntax=c]if(*wynik1&gt;2000){<br />if(4000&gt;*wynik1){<br /><br />Coś tam<br />}<br />}[/syntax]<br />Ale kod nie działa<br /></div><br />Spróbuj zrobić tak:<br />[syntax=c]if((*wynik1&gt;2000) &amp;&amp; (*wynik&lt;4000)){<br /><br />Coś tam<br /><br />}[/syntax]<br />Problemem może być wyrażenie &gt;*<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 5 lut 2016, o 10:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[damian5602]]></name></author>
<updated>2016-02-05T10:05:11+01:00</updated>
<published>2016-02-05T10:05:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152762#p152762</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152762#p152762"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152762#p152762"><![CDATA[
<div class="quotetitle">PJS napisał(a):</div><div class="quotecontent"><br />No przecież pisze co robisz źle: porównujesz wskaźnik z wartością integer. Może zrób tak:<br />[syntax=c]If(*wynik1&lt;1000){<br />    kawalek kodu<br />    }[/syntax]<br /></div><br />Dziękuje działa,<br /><span style="color: #80FF00">Jednak nie działa poprawnie, nawet gdy wynik1 jest 4000 to i tak wykonuje polecenie.</span><br /><br />Teraz mam problem z tym kodem:<br /><br />[syntax=c]}else if(4000&gt;*wynik1&gt;2000){[/syntax]<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">comparisons like 'X&lt;=Y&lt;=Z' do not have their mathematical meaning &#91;-Wparentheses&#93;</div><br /><br />Czyli nie ma sensu matematycznego<br /><br /><br /><br /><div class="quotetitle">rskup napisał(a):</div><div class="quotecontent"><br />Błąd oznacza, że próbujesz porównać zmienną będącą wskaźnikiem z liczbą.<br />Musisz użyć operatora wyciągania wartości z pod wskaźnika (*). W BB jest to pięknie opisane. I jak chcesz programować, to musisz to zrozumieć.<br /><br />-- <br />Pozdrawiam,<br />Robert<br /></div><br /><br />BB czyli? (Blue Book?)<br /><br /><br />@EDIT<br />Zrobiłem tak:<br />[syntax=c]if(*wynik1&gt;2000){<br />if(4000&gt;*wynik1){<br /><br />Coś tam<br />}<br />}[/syntax]<br />Ale kod nie działa<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12380">damian5602</a> — 5 lut 2016, o 10:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2016-02-04T20:04:22+01:00</updated>
<published>2016-02-04T20:04:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152666#p152666</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152666#p152666"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152666#p152666"><![CDATA[
Błąd oznacza, że próbujesz porównać zmienną będącą wskaźnikiem z liczbą.<br />Musisz użyć operatora wyciągania wartości z pod wskaźnika (*). W BB jest to pięknie opisane. I jak chcesz programować, to musisz to zrozumieć.<br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 4 lut 2016, o 20:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJS]]></name></author>
<updated>2016-02-04T20:03:39+01:00</updated>
<published>2016-02-04T20:03:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152665#p152665</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152665#p152665"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152665#p152665"><![CDATA[
No przecież pisze co robisz źle: porównujesz wskaźnik z wartością integer. Może zrób tak:<br />[syntax=c]If(*wynik1&lt;1000){<br />    kawalek kodu<br />    }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1614">PJS</a> — 4 lut 2016, o 20:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-02-04T20:00:53+01:00</updated>
<published>2016-02-04T20:00:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152661#p152661</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152661#p152661"/>
<title type="html"><![CDATA[Re: Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152661#p152661"><![CDATA[
...a z jakiej litery piszesz <strong>if</strong>?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 4 lut 2016, o 20:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[damian5602]]></name></author>
<updated>2016-02-04T19:17:44+01:00</updated>
<published>2016-02-04T19:17:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152651#p152651</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152651#p152651"/>
<title type="html"><![CDATA[Operacja If na liczbach.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14406&amp;p=152651#p152651"><![CDATA[
Witam, bez bicia przyznaję od razu przepisałem kodzik z stronki:<br />....<br />i próbuje zrobić operację If np. taką:<br />[syntax=c]If(wynik1&lt;1000){<br />kawalek kodu<br />}[/syntax]<br /><br />to wywala mi taki błąd:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">comparison between pointer and integer &#91;enabled by default&#93;</div><br /><br />I ktoś mi wyjaśni jak sobie z tym poradzić ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12380">damian5602</a> — 4 lut 2016, o 19:17</p><hr />
]]></content>
</entry>
</feed>