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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-08-13T01:19:26+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=3851&amp;mode</id>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2013-08-13T01:19:26+01:00</updated>
<published>2013-08-13T01:19:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45596#p45596</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45596#p45596"/>
<title type="html"><![CDATA[Re: Wykorzystanie makra - error]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45596#p45596"><![CDATA[
Cieszę się, że pomogłem. <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=355">Ledes</a> — 13 sie 2013, o 01:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nxtfun]]></name></author>
<updated>2013-08-13T01:06:10+01:00</updated>
<published>2013-08-13T01:06:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45595#p45595</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45595#p45595"/>
<title type="html"><![CDATA[Re: Wykorzystanie makra - error]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45595#p45595"><![CDATA[
Z początku chciałem uniknąć timerów, pobawić się delayem. Jest _delay_us? To rozwiązuje mój problem, użyję uint8_t i zmniejszy mi się objętość programu. Jak mi się wszystko uda, wrócę do timerów. Nie chodzi o to, że się ich boję, po prostu pisząc jeden z pierwszych programów chcę wszystkiego spróbować po kolei.<br /><br />Bardzo dziękuję za pomoc!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1325">Nxtfun</a> — 13 sie 2013, o 01:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2013-08-13T00:56:53+01:00</updated>
<published>2013-08-13T00:56:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45593#p45593</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45593#p45593"/>
<title type="html"><![CDATA[Re: Wykorzystanie makra - error]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45593#p45593"><![CDATA[
Przecież możesz to zrobić na timerze programowym odmierzającym np. 100us (0.1ms) i zmiennej całkowitej. Nie ma tu absolutnie potrzeby używania floatów.<br /><br />Poza tym masz funkcje _delay_us() i _delay_ms(), poczytaj o nich.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=355">Ledes</a> — 13 sie 2013, o 00:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nxtfun]]></name></author>
<updated>2013-08-13T00:50:10+01:00</updated>
<published>2013-08-13T00:50:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45592#p45592</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45592#p45592"/>
<title type="html"><![CDATA[Re: Wykorzystanie makra - error]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45592#p45592"><![CDATA[
Dziękuję za szybką odpowiedź. Już rozumiem błąd: powinienem był dać PORTB przed &quot;|=&quot;.<br />[syntax=c]#define SERVO_HI PORTB |= (SERVO)//stan wysoki[/syntax]<br /><br />Już error nie wyskakuje.<br />Co do float, to chciałem wykorzystać liczbę zmiennoprzecinkową, by ją później wykorzystać przy podawaniu stanu wysokiego przez określony czas, np.: 1,3 milisekundy. Założeniem było podawanie stanu wysokiego przez czas od 1 do 2 milisekund, ze stanami pośrednimi poprzez przyciskanie guzika, który dodaje za każdym razem 0,1 milisekundy. Wiem, że można to zrobić sprzętowo, ale chciałem to zrobić by sprawdzić czy to ma szansę działać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1325">Nxtfun</a> — 13 sie 2013, o 00:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2013-08-13T00:31:52+01:00</updated>
<published>2013-08-13T00:31:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45591#p45591</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45591#p45591"/>
<title type="html"><![CDATA[Re: Wykorzystanie makra - error]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45591#p45591"><![CDATA[
<div class="quotetitle">Nxtfun napisał(a):</div><div class="quotecontent"><br />1. Czy pokazany niżej kod jest czytelny i napisany tak, jak powinien być pisany? (wcięcia itp)<br /></div><br />Wcięcia ok poza returnem, puste linie do poprawy.<br /><br /><div class="quotetitle">Nxtfun napisał(a):</div><div class="quotecontent"><br />2. Przy próbie wykorzystania makra &quot;SERVO_HI&quot; (w pętli while) pojawia mi się error:<br /></div><br />A zastanów się dlaczego. Makro podstawia dokładnie to, co jest w definicji makra.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Nie stosuj floatów w AVR!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=355">Ledes</a> — 13 sie 2013, o 00:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nxtfun]]></name></author>
<updated>2013-08-13T00:29:28+01:00</updated>
<published>2013-08-13T00:29:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45590#p45590</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45590#p45590"/>
<title type="html"><![CDATA[Wykorzystanie makra - error]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3851&amp;p=45590#p45590"><![CDATA[
Jest to mój pierwszy post na tym forum, więc witam wszystkich!<br /><br />Mam 2 pytania:<br />1. Czy pokazany niżej kod jest czytelny i napisany tak, jak powinien być pisany? (wcięcia itp)<br />2. Przy próbie wykorzystania makra &quot;SERVO_HI&quot; (w pętli while) pojawia mi się error:<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Multiple markers at this line<br />- expected expression before '|=' <br /> token<br />- Syntax error<br /></div><br />Co jest nie tak?<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />#define SERVO (1&lt;&lt;PB1)//sterowanie serva pwm stanem hi low<br />#define SERVO_HI |= (SERVO)//stan wysoki<br />#define SERVO_LO ~ (SERVO)//stan niski<br />#define SERVO_TOG ^= (SERVO)//zmiana stanu<br /><br />#define BUTT1 (1&lt;&lt;PB2)//makra dla guzika<br />#define BUTT1_ON (PINB &amp; (BUTT1))//stan logiczny 1 gdy guzik wcisniety. wymaga negacji<br /><br />#define BUTT2 (1&lt;&lt;PB3)//makra dla guzika<br />#define BUTT2_ON (PINB &amp; (BUTT1))//stan logiczny 1 gdy guzik wcisniety. wymaga negacji<br /><br />#define BUTT3 (1&lt;&lt;PB4)//makra dla guzika<br />#define BUTT3_ON (PINB &amp; (BUTT1))//stan logiczny 1 gdy guzik wcisniety. wymaga negacji<br /><br /><br /><br />int main (void)<br />{<br />PORTB = 0xFF;//kazy pin jest wyjsciem (+). zabezpieczenie przed wejsciami plywajacymi<br />PORTC = 0xFF;<br />PORTD = 0xFF;<br /><br />DDRB |= (SERVO);//port serva jako wyjscie (+ na pinie)<br />DDRB &amp;= ~(BUTT1);//port guzika1 jako wejście (- na pinie)<br />DDRB &amp;= ~(BUTT2);//port guzika2 jako wejście (- na pinie)<br />DDRB &amp;= ~(BUTT3);//port guzika3 jako wejście (- na pinie)<br /><br />float i=1;<br />float add=0.1;<br />while (1)<br />{<br />SERVO_HI;// TU JEST ERROR<br /><br /><br />}<br />return (0);<br />}[/syntax]<br /><br />W projekcie jest ustawiona atmega 8 z taktowaniem 8MHz<br /><br />Celem było stworzenie sygnału pwm dla serva i silnika bezszczotkowego (ESC wymaga pwm)<br /><br />Po przeczytaniu teoretycznej części niebieskiej książki, udało mi się zamrugać diodą, wykorzystując Eclipse indigo na Macu przy wykorzystaniu lekko nieaktualnej paczki sterowników, ponieważ nowsze paczki z jakiegoś powodu nie działały. W ostateczności mogę zwalić winę na zbugowane sterowniki, ale wolałem się upewnić co do kodu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1325">Nxtfun</a> — 13 sie 2013, o 00:29</p><hr />
]]></content>
</entry>
</feed>