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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-01-18T23:12:33+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=5431&amp;mode</id>
<entry>
<author><name><![CDATA[kaper93]]></name></author>
<updated>2014-01-18T23:12:33+01:00</updated>
<published>2014-01-18T23:12:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5431&amp;p=65534#p65534</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5431&amp;p=65534#p65534"/>
<title type="html"><![CDATA[Re: Przekazywanie wyników funkcji do kolejnych funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5431&amp;p=65534#p65534"><![CDATA[
Ok, problem rozwiązałem najprotszym sposobem - zmiennymi globalnymi. Niepotrzebnie zawedrowałem we wskaźniki, a rozwiązanie było tak banalne <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=2363">kaper93</a> — 18 sty 2014, o 23:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Waszek]]></name></author>
<updated>2014-01-05T14:07:25+01:00</updated>
<published>2014-01-05T14:07:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5431&amp;p=63876#p63876</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5431&amp;p=63876#p63876"/>
<title type="html"><![CDATA[Re: Przekazywanie wyników funkcji do kolejnych funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5431&amp;p=63876#p63876"><![CDATA[
Popraw kod w znaczniki syntax <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2204">Waszek</a> — 5 sty 2014, o 14:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaper93]]></name></author>
<updated>2014-01-05T14:13:16+01:00</updated>
<published>2014-01-05T12:53:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5431&amp;p=63863#p63863</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5431&amp;p=63863#p63863"/>
<title type="html"><![CDATA[Przekazywanie wyników funkcji do kolejnych funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5431&amp;p=63863#p63863"><![CDATA[
Witajcie!<br /><br />Mam problem z którym nie mogę sobie poradzić. Chcę sterować położeniem dwóch serw i osi X/Y, podając wartości -200/200 przez kabel. Otóż mam dwie funkcje: setX() i setY(), każda z nich odbiera dane z PC dzięki bibliotece Messenger. Chciałbym aby każda z funkcji zwracała wartość int X i int Y, tak abym mógł użyć tych zmiennych w innej funkcji Axis(int X, int Y)<br /><br />Jeżeli chodzi o sterowanie jedna osią to nie ma problemu i poniższy kod to wykonuje. Jak jednak przenieść kod na dwa argumenty X/Y wchodzace do funkcji ? Próbowałem wskaźników, ale chyba błędnie rozumiem ich działanie/sposób użycia.<br /><br />[syntax=c]void setX()<br />{<br />int FX = message.readInt();<br />if (FX &lt;= 200 || FX &gt;= -200)<br />{<br />SilaX(FX);<br />}<br />}<br /><br />void SilaX(int X)<br />{<br />int mapX=map(X,-200,200,30,150);<br />serwoX.write(mapX);<br />}[/syntax]<br /><br />Myślę że problemem jest widoczność zmiennych/argumentów pomiędzy funkcjami i z tym nie mogę sobie poradzić... A potrzebuję informacji o dwóch położeniach w ramach jednej funkcji Axis.<br /><br />Tak miałoby to wygladac:<br /><br />[syntax=c]#include &lt;Messenger.h&gt;<br />#include &lt;Servo.h&gt;<br /><br />Servo serwoX;<br />Servo serwoY;<br /><br />Messenger message;<br /><br />int setX()<br />{<br />int FX = message.readInt();<br />if (FX &lt;= 200 || FX &gt;= -200)<br />{<br />return FX;<br />}<br />else<br />return 0;<br />}<br /><br />int setY()<br />{<br />int FY = message.readInt();<br />if (FY &lt;= 200 || FY &gt;= -200)<br />{<br />return FY;<br />}<br />else<br />return 0;<br />}<br /><br />void Axis(int X, int Y)<br />{<br />int mapX=map(X,-200,200,30,150);<br />int mapY=map(Y,-200,200,30,150);<br />serwoX.write(mapX);<br />serwoY.write(mapY);<br />}<br /><br />void onMessage()<br />{<br />switch (message.readChar())<br />{<br />case 'X':<br />setX();<br />break;<br /><br />case 'Y':<br />setY();<br />break;<br />}<br />}<br /><br />void serialEvent()<br />{<br />message.process(Serial.read());<br />}<br /><br />void setup()<br />{<br />Serial.begin(38400);<br />message.attach(onMessage);<br /><br />serwoX.attach(2);<br />serwoY.attach(3);<br /><br />pinMode(2, OUTPUT);<br />pinMode(3, OUTPUT);<br />}<br /><br />void loop()<br />{<br />int X = setX();<br />int Y = setY();<br />Axis(X,Y);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2363">kaper93</a> — 5 sty 2014, o 12:53</p><hr />
]]></content>
</entry>
</feed>