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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-02-22T11:39:21+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=10712&amp;mode</id>
<entry>
<author><name><![CDATA[kojot90]]></name></author>
<updated>2015-02-22T11:39:21+01:00</updated>
<published>2015-02-22T11:39:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=120330#p120330</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=120330#p120330"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=120330#p120330"><![CDATA[
Dziekuje <br />ltoa oraz biblioteka #include &lt;stdlib.h&gt;   pomogła <br /><br />wyswietlają sie wartosci 65000 <br /><br />a wie Pan możę czemu, jak wyświetlam wartosci &quot;y&quot; poniżej  około 2600 to wyswietlacz lcd zaczyna szybko, wartosci szybko sie zmieniają a jak jeszcze niższa wartość wyswietle to zanika całkiem<br /><br />y=(16000000/(256*adc2)-1);     ( teoretycznie dostaje wartosci zakresu 65 550 dla adc =1   do  60 dla adc =1023.   ) <br />ICR1=y;<br />OCR1A=(ICR1*0.5);<br /><br />Wyswietlanie y ( teoretycznie dostaje wartosci zakresu 65 550 dla adc =1   do  60 dla adc =1023.   ) <br /><br />Wydaje mi sie że wtedy jest duża czestotliwość 600Hz++ na porcie 1B (OCRA) i LCD mniej prądu dostaje i lipa ??  zasilanie USBASP<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8243">kojot90</a> — 22 lut 2015, o 11:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matw]]></name></author>
<updated>2015-02-21T20:43:36+01:00</updated>
<published>2015-02-21T20:43:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=120279#p120279</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=120279#p120279"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=120279#p120279"><![CDATA[
@kojot90, <br />użyłeś funkcji itoa() = integerToAsci - zatem jak sama nazwa wskazuje, funkcja konwertuję liczbę typu int ze znakiem, która może zawierać się w zakresie od -32768 do 32767. Spróbuj wykorzystać ltoa() (małe L na początku longToAcsi) i powinno być ok.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2394">matw</a> — 21 lut 2015, o 20:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kojot90]]></name></author>
<updated>2015-02-21T16:07:05+01:00</updated>
<published>2015-02-21T16:07:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=120236#p120236</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=120236#p120236"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=120236#p120236"><![CDATA[
nie chce zaczynać nowego tematu dlatego tutaj sie o to spytam.<br /><br />według noty katalogowej nic nie stoi na przeszkodzie aby do timera1 pracującego jako PWM do jego <br />ICR1 (odpowiada za czestotliwość)  wpisywać wartośći. <br /><br />Mam taki problem że jak ustawie<br />ICR1=100 to działa timer i dioda dobrze swieci i ładnie wyswietla na lcd  &quot; 100&quot;<br /><br />a jak użyje <br /><br />y=16000000/(256*adc1)-1;                maksymalna wartość 65 000 <br />ICR1= y       (wynik z ADC1 od 0-1023 )  to dioda swieci ale wynik na lcd sie nie pokazuje, jesli dam zmienną y do lcd to też sie nie pokazuje<br /><br />problem też jest z wyświetleniem wartości 5 cyfrowej na wyswietlaczu LCD <br />wpisze ICR1=60000 to lcd pokazuje -3245<br /><br /><br />[syntax=cpp-qt] <br /><br />volatile uint16_t adc1;//zmienna do pomiaru ADC wej_1<br />volatile int y;<br /><br />int main(void)<br />{<br />LCD_Initalize();<br /><br />// deklaracja timera<br /><br />DDRB =(1&lt;&lt;PORTB1);<br />TCCR1A =(1&lt;&lt;COM1A1)|(1&lt;&lt;COM1B1)|(1&lt;&lt;WGM11);<br />TCCR1B =(1&lt;&lt;WGM13)|(1&lt;&lt;WGM12)|(1&lt;&lt;CS12); //PRESCALER=1024 MODE 14(FAST PWM)<br /><br /><br />if(bit_is_clear(PIND,4))<br />{<br />y=(16000000/(256*adc1)-1);<br />ICR1=y;<br />OCR1A=0.5*ICR1;<br /><br />LCD_GoTo(0, 0);         //Ustawienie kursora w pozycji (3,0)<br />LCD_WriteText(&quot;   &quot;);  //Czyszczenie poprzednij wartości<br />itoa(ICR1,wynik,10);     //konwersja wyniku do tablicy char<br />LCD_GoTo(0, 0);         //Ustawienie kursora w pozycji (3,0)<br />LCD_WriteText(wynik);   //Wyświetlenie wyniku<br /><br />}<br />}<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8243">kojot90</a> — 21 lut 2015, o 16:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2015-02-19T23:01:29+01:00</updated>
<published>2015-02-19T23:01:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119930#p119930</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119930#p119930"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119930#p119930"><![CDATA[
w studio działa<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 19 lut 2015, o 23:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kojot90]]></name></author>
<updated>2015-02-19T21:58:11+01:00</updated>
<published>2015-02-19T21:58:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119921#p119921</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119921#p119921"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119921#p119921"><![CDATA[
działa w programie atmel studio 6  nawet ładnie podświetla nazwe PORTB1 wtedy mam pewność że działa. ja sie martwie czy #define LED (1&lt;&lt;PB1) działa <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8243">kojot90</a> — 19 lut 2015, o 21:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2015-02-19T10:16:42+01:00</updated>
<published>2015-02-19T10:16:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119817#p119817</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119817#p119817"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119817#p119817"><![CDATA[
[syntax=c]#define LED (1&lt;&lt;PORTB1)<br /> #define KEY1 (1&lt;&lt;PORTD4)[/syntax]<br />Takie coś działa?<br /><br />o.O<br />A nie powinno być<br />[syntax=c]#define LED (1&lt;&lt;PB1)<br /> #define KEY1 (1&lt;&lt;PD4)[/syntax]<br />??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 19 lut 2015, o 10:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kojot90]]></name></author>
<updated>2015-02-19T09:33:08+01:00</updated>
<published>2015-02-19T09:33:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119815#p119815</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119815#p119815"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119815#p119815"><![CDATA[
Usnąłem wczoraj <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> <br /><br />Dla tych co by mieli podobny problem to jest PROGRAMOWY XOR, wraz z usuwaniem  &quot;drgan styków&quot; bez użycia sprzetowego kondensatora działa bdb.<br /><br />[syntax=cpp-qt] <br />#include &lt;avr/io.h&gt;<br /> #include &lt;util/delay.h&gt;<br /> <br /> #define LED (1&lt;&lt;PORTB1)<br /> #define KEY1 (1&lt;&lt;PORTD4)<br /> <br />uint16_t key_lock,x;<br />volatile int przyciskwcisniety=0;<br />volatile int starawartosc=0;<br />volatile zmiena=0;<br /> <br /> int main(void) {<br /> <br /><br /> PORTD |= KEY1;  // podciągamy linie klawiszy do VCC<br /> DDRB |= LED;   // pin LED jako WYjście<br /> <br /> // oczekiwanie na ustalenie się stanu wysokiego na wejściu klawisza<br /> _delay_ms(10);<br /> <br /> while(1) {<br /> <br /> if( !key_lock &amp;&amp; !(PIND &amp; KEY1 ) )<br />  {<br /> key_lock = 50000;<br /> <br />if(bit_is_clear(PIND,4))<br />{<br />if(zmiena==1)<br />{<br />przyciskwcisniety=0;<br /><br />DDRB= (1&lt;&lt;1);   // zmiast mrugania diodą można wstawić funkcje A<br />PORTB= (0&lt;&lt;1);<br /><br />                                           zmiena=0;<br />}else<br />przyciskwcisniety=1 ;<br /><br />}<br /><br />if( przyciskwcisniety || bit_is_set(PIND,4))<br /> {<br /> <br /> DDRB= (1&lt;&lt;1); // zmiast mrugania diodą można wstawić funkcje B<br />PORTB= (1&lt;&lt;1);<br /> <br /> przyciskwcisniety=0;<br /> zmiena=1;<br />  <br /> }<br />  }<br /> <br /> else if( key_lock &amp;&amp; (PIND &amp; KEY1 ) ) key_lock++ ;<br /> <br /> }<br /> }[/syntax]<br /><br />Wlasciwie powinno sie to nazywać przerzutnik T<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8243">kojot90</a> — 19 lut 2015, o 09:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2015-02-19T00:54:06+01:00</updated>
<published>2015-02-19T00:54:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119792#p119792</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119792#p119792"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119792#p119792"><![CDATA[
Ale mam do Ciebie prośbę / dla Ciebie propozycję. Używaj wbudowanych &quot;definicji&quot; zamiast 1 pisz PB1. To ułatwia czytanie kodu i pomaga samemu twórcy w znalezieniu błędu.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: lampce soku jabłkowego ]</span></strong><br /><br />A co do kondensatora to chyba nie zaszkodzi. Ale to by trzeba było zapytać elektroników z rodowodem, a nie takiego kundla jak ja <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: zażyciu pokrzywy ]</span></strong><br /><br />To nie zioło, to pokrzywa! <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 19 lut 2015, o 00:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kojot90]]></name></author>
<updated>2015-02-19T00:44:18+01:00</updated>
<published>2015-02-19T00:44:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119791#p119791</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119791#p119791"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119791#p119791"><![CDATA[
oo takie cos teoretycznie powinno działać, wszystko rozrysowałem na całą kartke, działa tylko jeden raz. 2 klikniecia potem już nie <br /><br /><br /> [syntax=cpp-qt] <br />if(bit_is_clear(PIND,4))<br />{<br />if(zmiena==1)<br />{<br />przyciskwcisniety=0;<br />DDRB= (1&lt;&lt;1);<br />PORTB= (0&lt;&lt;1);<br />zmiena=0;<br />}else<br />przyciskwcisniety=1 ;<br /><br />}<br /><br />if( przyciskwcisniety || bit_is_set(PIND,4))<br /> {<br /> <br /> DDRB= (1&lt;&lt;1);<br /> PORTB= (1&lt;&lt;1);<br /> <br /> przyciskwcisniety=0;<br /> zmiena=1;<br />  <br /> }<br />  }<br />[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br />DZIAŁA!!!! JAK SIE CIESZE :p COS TAKIEGO<br /><br /><br />nie widze żadnych drgan styków, i sie zastanawiam czy warto dawac kondensator.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8243">kojot90</a> — 19 lut 2015, o 00:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2015-02-19T00:39:37+01:00</updated>
<published>2015-02-19T00:39:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119790#p119790</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119790#p119790"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119790#p119790"><![CDATA[
Ja widzę, że PB1 ustawiasz na 1 ale nie widzę żebyś gdzieś zerował.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 19 lut 2015, o 00:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kojot90]]></name></author>
<updated>2015-02-19T00:33:32+01:00</updated>
<published>2015-02-19T00:33:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119789#p119789</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119789#p119789"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119789#p119789"><![CDATA[
[syntax=cpp-qt] <br />volatile int przyciskwcisniety=0;<br />volatile int starawartosc=0;<br />volatile zmiena=0;<br /> void funkcja1(void)<br /> { <br /> <br /> DDRB= (1&lt;&lt;1);<br /> PORTB= (1&lt;&lt;1);<br /> <br />  <br /> }<br /><br />/// To jest XOR tzn to ma być xor ale w rzeczywistości to działa tylko raz ;/<br />if(bit_is_clear(PIND,4))<br />{<br />if(zmiena==1)<br />przyciskwcisniety=0;<br />else<br />przyciskwcisniety=1<br />}<br /><br /><br />if( przyciskwcisniety || bit_is_set(PIND,4))<br /> {<br /> funkcja1();<br /> przyciskwcisniety=0;<br /> zmiena=1;<br />  <br /> }<br /> [/syntax]<br /><br />No dioda gasnie kiedy nie jest w funkcj, tzn dioda swieci tylko wtedy kiedy jest w funkcji.<br /><br /><br />WOODpaker czemu ty masz zioła na zdjęciu <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> a własciwie to Topka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8243">kojot90</a> — 19 lut 2015, o 00:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-02-19T00:30:41+01:00</updated>
<published>2015-02-19T00:30:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119787#p119787</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119787#p119787"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119787#p119787"><![CDATA[
No wlasnie tak obstawialem ze kolega nie togluje leda ale chcialem zobaczyc jak napisal aktualna funkce<br /><br />Namazane ze smarta.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 19 lut 2015, o 00:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2015-02-19T00:29:23+01:00</updated>
<published>2015-02-19T00:29:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119786#p119786</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119786#p119786"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119786#p119786"><![CDATA[
<strong>majster</strong> jak czytasz <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br />[syntax=C]void funkcja1(void)<br /> {       <br />         ICR1=62455;    // TU dostaje 1Hz<br />         OCR1A=30000;<br /> }[/syntax] plus kolega dopisał zapalanie diody. <br />No ale zapomniał o gaszeniu jej...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 19 lut 2015, o 00:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-02-19T00:26:51+01:00</updated>
<published>2015-02-19T00:26:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119785#p119785</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119785#p119785"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119785#p119785"><![CDATA[
To pokaz jeszcze te funkcje1<br /><br />Namazane ze smarta.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 19 lut 2015, o 00:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2015-02-19T00:26:27+01:00</updated>
<published>2015-02-19T00:26:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119784#p119784</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119784#p119784"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119784#p119784"><![CDATA[
<div class="quotetitle">kojot90 napisał(a):</div><div class="quotecontent"><br />Rozpisałem sobie samemu XORA ale jeszcze cos nie halo, i ja już nie wiem czemu, dioda sie zapala ale nie gasnie <br /> [syntax=cpp-qt] <br />if(bit_is_clear(PIND,4)) // klawisz wcisniety <br />{<br /><br />przyciskwcisniety=1;<br />}<br /><br /><br />if( przyciskwcisniety || bit_is_set(PIND,4))<br /> {<br /> funkcja1();// w funkcji1 jest zapalanie diody <br /> przyciskwcisniety=0;<br />  <br /> } [/syntax]<br /></div><br /><br /><br />Bo jak sam piszesz. W funkcji nr 1 jest zapalanie diody. A kiedy jest gaszenie?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 19 lut 2015, o 00:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kojot90]]></name></author>
<updated>2015-02-19T00:29:17+01:00</updated>
<published>2015-02-19T00:23:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119782#p119782</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119782#p119782"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119782#p119782"><![CDATA[
Rozpisałem sobie samemu XORA ale jeszcze cos nie halo, i ja już nie wiem czemu, dioda sie zapala ale nie gasnie <br /> [syntax=cpp-qt] <br />if(bit_is_clear(PIND,4)) // klawisz wcisniety <br />{<br /><br />przyciskwcisniety=1;<br />}<br /><br /><br />if( przyciskwcisniety || bit_is_set(PIND,4))<br /> {<br /> funkcja1();// w funkcji1 jest zapalanie diody <br /> przyciskwcisniety=0;<br />  <br /> } [/syntax]<br /><br />aa już chyba widze co nie tak, trzeba jeszcze jednej zmiennej użyć<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8243">kojot90</a> — 19 lut 2015, o 00:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2015-02-18T21:58:31+01:00</updated>
<published>2015-02-18T21:58:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119760#p119760</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119760#p119760"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119760#p119760"><![CDATA[
OK, inaczej. <br />Popatrz na swój kod - funkcja1()  nic nie zwraca. Jest typu <em>void</em>. Jak chcesz zrobić negacje z czegoś co nie istnieje? Masz nicość, a potem robisz &quot;cość&quot; bo &quot;ni&quot; diabli wzięli?<br /><br />Użyj flagi, która będzie Cię informowała, że przycisk już został raz wciśnięty. Wtedy nie będziesz musiał się bawić w żadne XOR'y. Ale jeśli chcesz mimo wszystko XOR'ować to nie w ten sposób. <br />Najłatwiej to:<br />1) Napisz sobie schemat blokowy algorytmu, który chcesz zastosować. Tu masz przykład  --&gt; <!-- m --><a class="postlink" href="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQMWDw_GClserlfPbjEP-21xucnyxmBHbjOznPBA01L6pHNOguN" >https://encrypted-tbn3.gstatic.com/imag ... 1L6pHNOguN</a><!-- m --><br />2) Napisz to co zapisałeś za pomocą języka programowania<br />3) Jeżeli działa to OK<br />4) Jeżeli nie działa przeanalizuj pkt 1  i <em>goto 1</em><br /><br />To co masz w tej  chwili w żaden sposób nie sprawdza &quot;podwójnego&quot; naciśnięcia przycisku.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 18 lut 2015, o 21:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kojot90]]></name></author>
<updated>2015-02-18T20:40:24+01:00</updated>
<published>2015-02-18T20:40:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119745#p119745</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119745#p119745"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119745#p119745"><![CDATA[
czyli cos takiego ???<br /><br /> [syntax=cpp-qt]<br />while(1) {<br /> <br /> if( !key_lock &amp;&amp; !(PIND &amp; KEY1 ) ) {<br /> key_lock = 50000;<br /> <br /> <br />x^= x;     // czemu ten xor na funkcji nie jest akceptowany. <br /> if(x==1)<br /> {<br /> funkcja1() ;<br /> }<br />  <br /> } else if( key_lock &amp;&amp; (PIND &amp; KEY1 ) ) key_lock++ ;<br /> {<br /> <br /> ICR1=62455;<br /> OCR1A=30000;<br /><br /> }<br />[/syntax]<br /><br /><br />Nie pomogło ;/ ale niema warrningów<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8243">kojot90</a> — 18 lut 2015, o 20:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2015-02-18T17:56:53+01:00</updated>
<published>2015-02-18T17:56:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119694#p119694</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119694#p119694"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119694#p119694"><![CDATA[
Spróbuj przypisać wartość funkcji do zmiennej i wywołać xor na zmiennej. Tak jak masz na pewno nie zadziała. Poza tym jak ty chcesz przypisać wartość do funkcji? Przecież to nie jest zmienna.<br /><br />[syntax=C]funkcja1() ^= funkcja1;[/syntax]<br /><br />Tu próbujesz przypisać wartość do funkcji, a traktujesz tę funkcję niczym zmienną. A przecież funkcja to (pod)program, a nie jakieś miejsce w pamięci gdzie można wpisać liczbę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 18 lut 2015, o 17:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2015-02-18T16:12:30+01:00</updated>
<published>2015-02-18T16:12:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119678#p119678</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119678#p119678"/>
<title type="html"><![CDATA[Re: Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119678#p119678"><![CDATA[
<!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 18 lut 2015, o 16:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kojot90]]></name></author>
<updated>2015-02-18T16:47:33+01:00</updated>
<published>2015-02-18T16:03:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119676#p119676</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119676#p119676"/>
<title type="html"><![CDATA[Problem z timerem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10712&amp;p=119676#p119676"><![CDATA[
Witam, mam taki problem że mam klawisz bez podtrzymania czyli jak jest wcisniety daje 1 jak go puszcze daje 0. <br />Chce zrobić że jak wcisne klawisz to włacza sie timer i  z ustawieniem na 1Hz a jak go nacisne drugi raz to wyłaczam timer z ustawieniami na 1Hz i właczam sobie timer z ustawieniem na 600Hz.<br /><br />Mój problem polega na tym że atmel studio nie chce mi akceptować XOR funkcji.<br /><br />Eliminacja drgań styków na podstawie artykułu Pana Mirka.<br /><br />[syntax=cpp-qt]#include &lt;avr/io.h&gt;<br /> #include &lt;util/delay.h&gt;<br /> <br /> #define LED (1&lt;&lt;PORTB1)<br /> #define KEY1 (1&lt;&lt;PORTD4)<br /> <br /> uint16_t key_lock;<br /> <br /> void funkcja1(void)<br /> { <br /> ICR1=62455;    // TU dostaje 1Hz<br /> OCR1A=30000;<br /> }<br /> <br /> int main(void) {<br /> <br /> // deklaracja timera<br /> DDRB =(1&lt;&lt;PORTB1);<br /> TCCR1A =(1&lt;&lt;COM1A1)|(1&lt;&lt;COM1B1)|(1&lt;&lt;WGM11);<br /> TCCR1B =(1&lt;&lt;WGM13)|(1&lt;&lt;WGM12)|(1&lt;&lt;CS12); //PRESCALER=1024 MODE 14(FAST PWM)<br /><br />  <br /> PORTD |= KEY1;  // podciągamy linie klawiszy do VCC<br /> DDRB |= LED;   // pin LED jako WYjście<br /> <br /><br /> _delay_ms(10);    // oczekiwanie na ustalenie się stanu wysokiego na wejściu klawisza<br /> <br /> while(1) {<br /> <br /> if( !key_lock &amp;&amp; !(PIND &amp; KEY1 ) ) {<br /> key_lock = 50000;<br /> <br /> <br /> funkcja1() ^= funkcja1;     // czemu ten xor na funkcji nie jest akceptowany. <br />  <br /> } else if( key_lock &amp;&amp; (PIND &amp; KEY1 ) ) key_lock++ ;<br /> {<br /> <br /> ICR1=100;  // Tu dostaje 600 Hz<br /> OCR1A=10;<br /> <br /> }<br /> }<br /> }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8243">kojot90</a> — 18 lut 2015, o 16:03</p><hr />
]]></content>
</entry>
</feed>