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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-02-05T15:37:50+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=17532&amp;mode</id>
<entry>
<author><name><![CDATA[wronski]]></name></author>
<updated>2017-02-05T15:37:50+01:00</updated>
<published>2017-02-05T15:37:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181725#p181725</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181725#p181725"/>
<title type="html"><![CDATA[Re: Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181725#p181725"><![CDATA[
Na windows 7 były ok. Problem pod win 10<br />Problem był a z avrdude. Zainstalowanie najnowszej wersji na win10 pomogło.<br /><br />Dzięki wszystkim za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=401">wronski</a> — 5 lut 2017, o 15:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2017-02-04T23:52:02+01:00</updated>
<published>2017-02-04T23:52:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181665#p181665</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181665#p181665"/>
<title type="html"><![CDATA[Re: Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181665#p181665"><![CDATA[
Witam<br /><div class="quotetitle">wronski napisał(a):</div><div class="quotecontent"><br />...bo przestały mi działać wszystkie programy kompilowane przez ten program,<br /></div><br />A programator sprawny? - w.g zrzutu z mkAVRCalk. JTAG wyłączony.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 4 lut 2017, o 23:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wronski]]></name></author>
<updated>2017-02-04T21:28:00+01:00</updated>
<published>2017-02-04T21:28:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181632#p181632</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181632#p181632"/>
<title type="html"><![CDATA[Re: Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181632#p181632"><![CDATA[
Coś musi być w ustawieniach atmel studio bo przestały mi działać wszystkie programy kompilowane przez ten program, na różnych układach.<br /><br />Niestety nic z tych podpowiedzi nie pomogło.<br />Filmik pokazuje jaki jest błąd. <br />Key1 i key2 działają tak samo dioda mruga<br />[youtube]https://www.youtube.com/watch?v=RoOClUa2p1Y[/youtube]<br /><br />zdjecie fusbitów <a href="https://obrazkiforum.atnel.pl/401/b03947c0d2ff683b06a68e80349fb892.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/401/b03947c0d2ff683b06a68e80349fb892.jpg" alt="Obrazek" /></a><br />ostatni kod:[syntax=c]#define F_CPU 16000000<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br /><br />#define LED_PIN (1&lt;&lt;PC7)<br />#define LED_ON PORTC &amp;= ~LED_PIN<br />#define LED_OFF PORTC |=LED_PIN<br /><br />#define KEY1_PIN (1&lt;&lt;PC6)<br />#define KEY2_PIN (1&lt;&lt;PC5)<br />#define KEY3_PIN (1&lt;&lt;PC4)<br /><br /><br /><br />uint8_t klawisz_wcisniety(uint8_t klawisz);<br />int main(void)<br />{<br />DDRC |= LED_PIN;<br />PORTC |= LED_PIN;<br />DDRC &amp;= ~(KEY1_PIN | KEY2_PIN | KEY3_PIN);<br />PORTC |= (1&lt;&lt;PC4)|(1&lt;&lt;PC5)|(1&lt;&lt;PC6);<br /><br />while (1)<br />{<br />if(klawisz_wcisniety(KEY1_PIN)) LED_ON;<br />//if(klawisz_wcisniety(KEY2_PIN)) LED_OFF;<br /><br /><br />}<br />}<br />uint8_t klawisz_wcisniety(uint8_t klawisz)<br />{<br />if ( ! (PINC &amp; klawisz) )<br />{<br />_delay_ms(80);<br />if( ! (PINC &amp; klawisz) ) return 1;<br /><br />}<br />return 0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=401">wronski</a> — 4 lut 2017, o 21:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2017-02-04T09:14:53+01:00</updated>
<published>2017-02-04T09:14:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181575#p181575</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181575#p181575"/>
<title type="html"><![CDATA[Re: Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181575#p181575"><![CDATA[
Witam<br /><div class="quotetitle">kaka0204 napisał(a):</div><div class="quotecontent"><br />Nie powinno być czasem nawiasu w zaznaczonym miejscu?  <br /><br />[syntax=c]...<br /> PORTC |= (KEY1_PIN | KEY2_PIN | KEY3_PIN);  //o tutaj<br />...[/syntax]<br /></div><br />Nie jest konieczny - rozpisz sobie te makra to zauważysz że powstaje:<br />[syntax=c]PORTC |= (1&lt;&lt;PC4)|(1&lt;&lt;PC5)|(1&lt;&lt;PC6)[/syntax]<br />...gdy chcesz negować całość to wtedy tak.<br />Myślę, że tak jak pisze kol.<strong>anshar</strong> - JTAG miesza na tych PIN'ach.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 4 lut 2017, o 09:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaka0204]]></name></author>
<updated>2017-02-04T01:19:03+01:00</updated>
<published>2017-02-04T01:19:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181566#p181566</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181566#p181566"/>
<title type="html"><![CDATA[Re: Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181566#p181566"><![CDATA[
Nie powinno być czasem nawiasu w zaznaczonym miejscu? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br /><br />[syntax=c]#define F_CPU 16000000<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br /> <br /> <br />#define LED_PIN (1&lt;&lt;PC7)<br />#define LED_ON PORTC &amp;= ~LED_PIN<br />#define LED_OFF PORTC |=LED_PIN<br /> <br />#define KEY1_PIN (1&lt;&lt;PC6)<br />#define KEY2_PIN (1&lt;&lt;PC5)<br />#define KEY3_PIN (1&lt;&lt;PC4)<br /> <br /> <br /> <br />uint8_t klawisz_wcisniety(uint8_t klawisz);<br />int main(void)<br />{<br />        DDRC |= LED_PIN;<br />        PORTC |= LED_PIN;<br />        DDRC &amp;= ~(KEY1_PIN | KEY2_PIN | KEY3_PIN);<br />        PORTC |= (KEY1_PIN | KEY2_PIN | KEY3_PIN);  //o tutaj<br />       <br />    while (1)<br />    {<br />                if(klawisz_wcisniety(KEY1_PIN)) LED_ON;<br />                if(klawisz_wcisniety(KEY2_PIN)) LED_OFF;          <br />                         <br />               <br />    }<br />}<br />uint8_t klawisz_wcisniety(uint8_t klawisz)<br />{<br />        if ( ! (PINC &amp; klawisz) )<br />        {<br />                _delay_ms(80);<br />                if( ! (PINC &amp; klawisz) ) return 1;<br />               <br />        }<br />        return 0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=889">kaka0204</a> — 4 lut 2017, o 01:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wronski]]></name></author>
<updated>2017-02-03T22:46:58+01:00</updated>
<published>2017-02-03T22:46:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181560#p181560</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181560#p181560"/>
<title type="html"><![CDATA[Re: Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181560#p181560"><![CDATA[
Dzięki jutro spróbuje<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=401">wronski</a> — 3 lut 2017, o 22:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2017-02-03T22:24:23+01:00</updated>
<published>2017-02-03T22:24:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181554#p181554</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181554#p181554"/>
<title type="html"><![CDATA[Re: Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181554#p181554"><![CDATA[
Aby korzystać ze wszystkich pinów na porcie C musisz wyłączyć JTAG'a we fuse bitach.<br />W AVRStudio to chyba jest w zakładce Fuses, musisz odznaczyć JTAGEN.<br />Jeżeli używasz JTAG'a to podłącz przyciski do innego portu np D i przetestuj.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 3 lut 2017, o 22:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wronski]]></name></author>
<updated>2017-02-03T22:12:58+01:00</updated>
<published>2017-02-03T22:12:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181553#p181553</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181553#p181553"/>
<title type="html"><![CDATA[Re: Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181553#p181553"><![CDATA[
płytka jest evb ant-tech.<br />tu na pewno jest wszystko ok.<br />układ to atmega164a<br />najnowszy avrstudio<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=401">wronski</a> — 3 lut 2017, o 22:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2017-02-03T22:07:04+01:00</updated>
<published>2017-02-03T22:07:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181552#p181552</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181552#p181552"/>
<title type="html"><![CDATA[Re: Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181552#p181552"><![CDATA[
Pokaż zdjęcie układu.<br />U mnie jak wcisnę Key3 to zapal i nie ważne czy trzymam czy puszczę, dioda świeci cały czas ciągłym światłem. Jak wcisnę Key2 to dioda gaśnie. <br />Może coś ze sprzętem masz nie tak....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2511">Jarecki</a> — 3 lut 2017, o 22:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wronski]]></name></author>
<updated>2017-02-03T21:49:57+01:00</updated>
<published>2017-02-03T21:49:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181550#p181550</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181550#p181550"/>
<title type="html"><![CDATA[Re: Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181550#p181550"><![CDATA[
Chodzi oto, że działa źle.<br />Na twoim kodzie działa tak samo.<br />jak nacisnę key1 to się zapala, jak nacisnę znów key1 to gaśnie, a jak przytrzymam to mruga.<br />a jak nacisnę inne klawisze to nic się nie dzieje.<br />I zgłupiałem, bo wiem że powinno działać i kiedyś mi działało:(<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=401">wronski</a> — 3 lut 2017, o 21:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2017-02-03T21:41:25+01:00</updated>
<published>2017-02-03T21:41:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181549#p181549</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181549#p181549"/>
<title type="html"><![CDATA[Re: Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181549#p181549"><![CDATA[
Sprawdź ten kod:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br /> <br />#define LED_PIN (1&lt;&lt;PC7)<br />#define LED_ON (PORTC &amp;= ~(LED_PIN))<br />#define LED_OFF (PORTC |= (LED_PIN))<br /> <br />#define KEY1_PIN (1&lt;&lt;PC6)<br />#define KEY2_PIN (1&lt;&lt;PC5)<br />#define KEY3_PIN (1&lt;&lt;PC4)<br /> <br /> <br /> <br />uint8_t klawisz_wcisniety(uint8_t klawisz);<br />int main(void)<br />{<br />        DDRC |= LED_PIN;<br />        PORTC |= LED_PIN;<br />        PORTC |= KEY1_PIN | KEY2_PIN | KEY3_PIN;<br />       <br />    while (1)<br />    {<br />                if(klawisz_wcisniety(KEY1_PIN)) LED_ON;<br />                if(klawisz_wcisniety(KEY2_PIN)) LED_OFF;          <br />                         <br />               <br />    }<br />}<br />uint8_t klawisz_wcisniety(uint8_t klawisz)<br />{<br />        if ( ! (PINC &amp; klawisz) )<br />        {<br />                _delay_ms(80);<br />                if( ! (PINC &amp; klawisz) ) return 1;<br />               <br />        }<br />        return 0;<br />}[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />Twój kod działa, jeden przycisk włącza diodę a drugi wyłącza. Nie takie było założenie?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2511">Jarecki</a> — 3 lut 2017, o 21:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wronski]]></name></author>
<updated>2017-02-03T21:13:39+01:00</updated>
<published>2017-02-03T21:13:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181546#p181546</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181546#p181546"/>
<title type="html"><![CDATA[Funkcja sprawdzająca przycisk]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17532&amp;p=181546#p181546"><![CDATA[
Witam.<br />Postanowiłem przypomnieć sobie język c.<br />Utknąłem przy funkcji sprawdzającej czy jest wciśnięty przycisk.<br />przepisałem i oczywiście rozumiem przykład z książki - storna 181<br />ale gdzieś muszę mieć błąd w przepisaniu bo  jak przycisnę klawisz 1 to wykonuje po prostu pętle (zapala i wyłącza diode co 80ms).<br />inne przyciski nie działają.<br /><br />[syntax=c]#define F_CPU 16000000<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br /><br />#define LED_PIN (1&lt;&lt;PC7)<br />#define LED_ON PORTC &amp;= ~LED_PIN<br />#define LED_OFF PORTC |=LED_PIN<br /><br />#define KEY1_PIN (1&lt;&lt;PC6)<br />#define KEY2_PIN (1&lt;&lt;PC5)<br />#define KEY3_PIN (1&lt;&lt;PC4)<br /><br /><br /><br />uint8_t klawisz_wcisniety(uint8_t klawisz);<br />int main(void)<br />{<br />DDRC |= LED_PIN;<br />PORTC |= LED_PIN;<br />DDRC &amp;= ~(KEY1_PIN | KEY2_PIN | KEY3_PIN);<br />PORTC |= KEY1_PIN | KEY2_PIN | KEY3_PIN;<br /><br />    while (1) <br />    {<br />if(klawisz_wcisniety(KEY1_PIN)) LED_ON;<br />if(klawisz_wcisniety(KEY2_PIN)) LED_OFF;           <br />         <br /><br />    }<br />}<br />uint8_t klawisz_wcisniety(uint8_t klawisz)<br />{<br />if ( ! (PINC &amp; klawisz) )<br />{<br />_delay_ms(80);<br />if( ! (PINC &amp; klawisz) ) return 1;<br /><br />}<br />return 0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=401">wronski</a> — 3 lut 2017, o 21:13</p><hr />
]]></content>
</entry>
</feed>