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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-04-13T21:04:00+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=6748&amp;mode</id>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2014-04-13T21:04:00+01:00</updated>
<published>2014-04-13T21:04:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77922#p77922</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77922#p77922"/>
<title type="html"><![CDATA[Re: Błędy w obliczeniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77922#p77922"><![CDATA[
Nie ma za co<br /><br />Ja mam taką teorię w związku z tym dlaczego na to wpadłem<br />&quot;Szczęśliwy strzał początkującego&quot; ot i cała tajemnica <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=1044">Zaba</a> — 13 kwi 2014, o 21:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[1bobik1]]></name></author>
<updated>2014-04-13T20:52:40+01:00</updated>
<published>2014-04-13T20:52:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77920#p77920</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77920#p77920"/>
<title type="html"><![CDATA[Re: Błędy w obliczeniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77920#p77920"><![CDATA[
Masz rację <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br />Po zmianie typów tym 2 zmiennym działa dobrze.<br />Ale myślę że przy dużym ciśnieniu zmienna D1 może nie zmieścić się w typie int więc zastsowałem taki myk:<br />[syntax=c]data-&gt;P = ((int32_t)data-&gt;SENS * (int16_t)(data-&gt;D1 - data-&gt;OFF) )/4096 + 1000;[/syntax]<br />też działa <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Teraz się zastanawiam czemu ja na to nie wpadłem... <br />Dzięki za pomoc !<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=464">1bobik1</a> — 13 kwi 2014, o 20:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2014-04-13T19:16:47+01:00</updated>
<published>2014-04-13T19:16:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77907#p77907</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77907#p77907"/>
<title type="html"><![CDATA[Re: Błędy w obliczeniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77907#p77907"><![CDATA[
Przy odejmowaniu w nawiasie tych dwóch zmiennych<br />data-&gt;D1 i data-&gt;OFF wychodzi wynik ujemny<br />więc spróbuj zmienić im typ na int16_t czyli ze znakiem,<br /><br />możliwe że tu tkwi błąd przy obliczeniach .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 13 kwi 2014, o 19:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[1bobik1]]></name></author>
<updated>2014-04-13T18:48:20+01:00</updated>
<published>2014-04-13T18:48:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77900#p77900</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77900#p77900"/>
<title type="html"><![CDATA[Re: Błędy w obliczeniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77900#p77900"><![CDATA[
[syntax=c]typedef struct {<br />uint16_t C1;<br />uint16_t C2;<br />uint16_t C3;<br />uint16_t C4;<br />uint16_t C5;<br />uint8_t C6;<br />uint16_t D1;<br />uint16_t D2;<br />uint16_t UT1;<br />int16_t dT;<br />int16_t dT2;      <br />int16_t TEMP;     <br />uint16_t OFF;<br />int16_t SENS;<br />int16_t P;<br />} MS_DATA;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=464">1bobik1</a> — 13 kwi 2014, o 18:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2014-04-13T18:44:30+01:00</updated>
<published>2014-04-13T18:44:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77899#p77899</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77899#p77899"/>
<title type="html"><![CDATA[Re: Błędy w obliczeniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77899#p77899"><![CDATA[
Jakiego typu są<br />data-&gt;D1 i data-&gt;OFF<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 13 kwi 2014, o 18:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[1bobik1]]></name></author>
<updated>2014-04-13T18:21:56+01:00</updated>
<published>2014-04-13T18:21:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77895#p77895</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77895#p77895"/>
<title type="html"><![CDATA[Błędy w obliczeniach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6748&amp;p=77895#p77895"><![CDATA[
Witam<br /><br /><br />Od jakiegoś czasu testuję swoją bibliotekę do czujnika ciśnienia MS5541 i zdziwiła mnie jedna rzecz, mianowicie ciśnienie mierzone w mbar-ach nigdy nie było niższe niż 1000 i nie wyższe niż 1016 (a dmuchałem mocno <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Na dodatek mierzone ciśnienie skakało sobie np z 1000 na 1016 z niewiadomych przyczyn.<br />Po oględzinach kodu wyliczającego tą wartość znalazłem linijkę z błędem. Wszystkie składowe i wynik wyświetlałem na wyświetlaczu potem przepisywałem je do excela i liczyłem ponownie. <br />Wyniki się nie zgadzały.<br /><br />tak wygląda ta linijka z funkcji pobierającej wyniki pomiarów i liczącej ciśnienie:<br />[syntax=c]data-&gt;P = ( (int32_t)data-&gt;SENS * (data-&gt;D1 - data-&gt;OFF) )/4096 + 1000;[/syntax]<br /><br />Wynik tego działania to 4790<br /><br />natomiast gdy w tej samej funkcji zamiast tej linijki wstawiam:<br />[syntax=c]data-&gt;P=((int32_t)4330*(15180-15198))/4096+1000;[/syntax]<br />wynikiem jest 981 czyli prawidłowo.<br />Wszystkie wartości w obu przypadkach są takie same, dla testów podane na sztywno.<br /><br />Czy ktoś wyjaśni mi skąd taka różnica ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=464">1bobik1</a> — 13 kwi 2014, o 18:21</p><hr />
]]></content>
</entry>
</feed>