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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-02-12T22:48:35+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=5975&amp;mode</id>
<entry>
<author><name><![CDATA[DidekxD]]></name></author>
<updated>2014-02-12T22:48:35+01:00</updated>
<published>2014-02-12T22:48:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5975&amp;p=70198#p70198</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5975&amp;p=70198#p70198"/>
<title type="html"><![CDATA[Re: Problem z wynikiem w zmiennej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5975&amp;p=70198#p70198"><![CDATA[
<div class="quotetitle">Mscichu napisał(a):</div><div class="quotecontent"><br />Jak sama nazwa wskazuje wyświetla na ekranie wartość typu int, więc stawiam, że tutaj się kaszani. Spróbuj zmienić w funkcji itoa na ltoa<br /></div><br /><br />zgodnie z informacjami na tej stronie<br /><br /><!-- m --><a class="postlink" href="http://pic.dhe.ibm.com/infocenter/zos/v1r12/index.jsp?topic=%2Fcom.ibm.zos.r12.bpxbd00%2Fltoa.htm" >http://pic.dhe.ibm.com/infocenter/zos/v ... 2Fltoa.htm</a><!-- m --><br /><br />Pomogła zmiana na 'utoa' <br /><br />Dzięki za nakierowanie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> już myślałem że jakieś cyrki się dzieją :p a tu Pan Mirek pułapkę zastawił.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=146">DidekxD</a> — 12 lut 2014, o 22:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mscichu]]></name></author>
<updated>2014-02-12T21:42:01+01:00</updated>
<published>2014-02-12T21:42:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5975&amp;p=70188#p70188</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5975&amp;p=70188#p70188"/>
<title type="html"><![CDATA[Re: Problem z wynikiem w zmiennej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5975&amp;p=70188#p70188"><![CDATA[
<div class="quotetitle">DidekxD napisał(a):</div><div class="quotecontent"><br />przez myśl mi przeszło że może to wina funkcji wyświetlającej wynik na LCD<br />Składnia: [ Pobierz ] [ Ukryj ]<br />język c<br />lcd_int(s_pomiar);<br />GeSHi<br /></div><br /><br />Jak sama nazwa wskazuje wyświetla na ekranie wartość typu int, więc stawiam, że tutaj się kaszani. Spróbuj zmienić w funkcji itoa na ltoa<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=853">Mscichu</a> — 12 lut 2014, o 21:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DidekxD]]></name></author>
<updated>2014-02-12T21:32:24+01:00</updated>
<published>2014-02-12T21:32:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5975&amp;p=70187#p70187</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5975&amp;p=70187#p70187"/>
<title type="html"><![CDATA[Problem z wynikiem w zmiennej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5975&amp;p=70187#p70187"><![CDATA[
Witam mam problem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Zapisuje do zmiennych pomiar częstotliwości który jest max około 12000Hz<br />Wszystko sumuje w zmiennej i nie ważne jaką wielkość ustawie dla wszystkich zmiennych zawsze po przekroczeniu 32k wyświetla mi się liczba z minusem.<br />zaznaczam że tak się dzieje tylko po przekroczeniu 32000.<br /><br />zmienne:<br />[syntax=c]uint16_t r_p=0;<br />uint16_t g_p=0;<br />uint16_t b_p=0;<br />uint32_t s_pomiar=0;[/syntax]<br /><br />funkcja w której dokonuje pomiaru i zsumowania liczb w zmiennych:<br />[syntax=c]uint8_t ObliczWartoscRGB(uint8_t rozpocznij){<br />static uint8_t f_postep;<br /><br />if(rozpocznij){<br />PORTC |= BCL;//włączamy oświetlenie<br />if(!Timer3){<br />Timer3=100;<br />if(!f_postep){// Krok pierwszy Przygotowujemy się do pomiaru koloru czerwonego<br />PORTC &amp;= ~(S2|S3);<br />f_postep++;<br />} else if(f_postep == 1){// Krok Drugi zapisujemy odczyt z filtru czerwonego po czym przygotowywujemy filtr zielony<br />r_p=Com;// zapisujemy pomiar czerwony<br />PORTC |= S2|S3; // filtr zielony<br />f_postep++;<br />} else if(f_postep == 2){<br />g_p=Com;<br />PORTC &amp;= ~S2;<br />f_postep++;<br />} else if(f_postep == 3){<br />b_p=Com;<br />f_postep++;<br />} else if(f_postep == 4){// Krok ostatni, końcowe obliczenia<br />//Liczymy<br />s_pomiar=r_p+g_p+b_p;<br /><br />PORTC &amp;= ~BCL;// wyłączamy oświetlenie<br />f_postep=0;// Zerujemy flage postępu<br />rozpocznij=0;// Informujemy o zakończeniu<br />}<br />}<br />}<br /><br />return rozpocznij;// Kończymy pomiar<br />}[/syntax]<br /><br />Przykładowe wartość w zmiennych gdy dzieje się dany problem.<br /><br />r_p: 12000<br />g_p: 11577<br />b_p: 12659<br /><br />w s_pomiar powinna być wartość 36236<br />a jest np -29415<br /><br />nie ważne jaką wielkość dam zmiennym i tak jest taki sam problem. Nawet gdy robię coś takiego<br />[syntax=c]s_pomiar=(uint32_t)(r_p+g_p+b_p);[/syntax]<br /><br />przez myśl mi przeszło że może to wina funkcji wyświetlającej wynik na LCD<br />[syntax=c]lcd_int(s_pomiar);[/syntax]<br /><br />korzystam z bibliotek Pana Mirka.<br /><br />Dziękuje za uwagę i pozdrawiam<br /><br />PS procek to atmega644PA<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=146">DidekxD</a> — 12 lut 2014, o 21:32</p><hr />
]]></content>
</entry>
</feed>