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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=6158&amp;mode</id>
<entry>
<author><name><![CDATA[heniug]]></name></author>
<updated>2014-03-30T21:44:14+01:00</updated>
<published>2014-03-30T21:44:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76424#p76424</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76424#p76424"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76424#p76424"><![CDATA[
dziekuje za pomoc i wyjasnienia<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1890">heniug</a> — 30 mar 2014, o 21:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-03-28T00:36:28+01:00</updated>
<published>2014-03-28T00:36:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76108#p76108</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76108#p76108"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76108#p76108"><![CDATA[
Rozwiązanie problemu tego średnika jest podane np. w tym temacie <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic1495.html#p14367" >topic1495.html#p14367</a><!-- l --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 28 mar 2014, o 00:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-03-28T00:21:40+01:00</updated>
<published>2014-03-28T00:21:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76103#p76103</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76103#p76103"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76103#p76103"><![CDATA[
dość często o tym pisałem już na forum ale przypomnę dwa rozwiązania <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />1. na końcu linii dać {} czyli:<br /><br />[syntax=c]if ( (i &amp; DS18B20_12_BIT) == DS18B20_12_BIT ) { } ;[/syntax]<br /><br />2. wyłączyć nadgorliwe sprawdzanie takich zapisów w Eclipse - można to zrobić w opcjach<br /><br />a z punktu widzenia syntaktyki C nie jest to żadnym błędem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 mar 2014, o 00:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gordo]]></name></author>
<updated>2014-03-27T23:53:30+01:00</updated>
<published>2014-03-27T23:53:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76100#p76100</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76100#p76100"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76100#p76100"><![CDATA[
<div class="quotetitle">heniug napisał(a):</div><div class="quotecontent"><br />Jak już pytam to zapytam jeszcze o bibliotekę ds18x20.c w tym fragmencie:<br /><br />[syntax=c]// clear undefined bits for B != 12bit<br />if ( fc == DS18B20_ID ) { // check resolution 18B20<br />i = sp&#91;DS18B20_CONF_REG&#93;;<br />if ( (i &amp; DS18B20_12_BIT) == DS18B20_12_BIT );<br />else if ( (i &amp; DS18B20_11_BIT) == DS18B20_11_BIT )<br />meas &amp;= ~(DS18B20_11_BIT_UNDF);<br />else if ( (i &amp; DS18B20_10_BIT) == DS18B20_10_BIT )<br />meas &amp;= ~(DS18B20_10_BIT_UNDF);<br />else { //if ( (i &amp; DS18B20_9_BIT) == DS18B20_9_BIT ) {<br />meas &amp;= ~(DS18B20_9_BIT_UNDF);<br />}<br />}[/syntax]<br /><br />w 3 lini pojawia się taki komunikat &quot;Suspicious semicolon&quot;<br /><br />czy też ktoś się z tym spotkał?<br /></div><br /><br />Kompilator nie jest pewien czy średnik na końcu ma oznaczać pusty blok dla if'a. Zapewne odsunięcie tego średnika albo przeniesienie do nowej linii pomoże.<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />dlaczego pomijany jest ten fragment if ( (i &amp; DS18B20_9_BIT) == DS18B20_9_BIT  w przedostatniej lini?<br /><br />Oczywiście program się kompiluje i działa ale tej części nie kumam<br /></div><br /><br />Bo autor nie chciał reorganizować całego bloku if-else'ów <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i nie ma innych wariantów rozdzielczości więc można zaoszczędzić kilka bajtów nie sprawdzając warunku if ( (i &amp; DS18B20_9_BIT) == DS18B20_9_BIT.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2592">gordo</a> — 27 mar 2014, o 23:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[heniug]]></name></author>
<updated>2014-03-27T22:12:49+01:00</updated>
<published>2014-03-27T22:12:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76082#p76082</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76082#p76082"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=76082#p76082"><![CDATA[
Dzięki już poprawiłem<br />teraz wydaje się być ok<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 8 minutach ]</span></strong><br /><br />Jak już pytam to zapytam jeszcze o bibliotekę ds18x20.c w tym fragmencie:<br /><br />[syntax=c]// clear undefined bits for B != 12bit<br />if ( fc == DS18B20_ID ) { // check resolution 18B20<br />i = sp&#91;DS18B20_CONF_REG&#93;;<br />if ( (i &amp; DS18B20_12_BIT) == DS18B20_12_BIT );<br />else if ( (i &amp; DS18B20_11_BIT) == DS18B20_11_BIT )<br />meas &amp;= ~(DS18B20_11_BIT_UNDF);<br />else if ( (i &amp; DS18B20_10_BIT) == DS18B20_10_BIT )<br />meas &amp;= ~(DS18B20_10_BIT_UNDF);<br />else { //if ( (i &amp; DS18B20_9_BIT) == DS18B20_9_BIT ) {<br />meas &amp;= ~(DS18B20_9_BIT_UNDF);<br />}<br />}[/syntax]<br /><br />w 3 lini pojawia się taki komunikat &quot;Suspicious semicolon&quot;<br /><br />czy też ktoś się z tym spotkał?<br />dlaczego pomijany jest ten fragment if ( (i &amp; DS18B20_9_BIT) == DS18B20_9_BIT  w przedostatniej lini?<br /><br />Oczywiście program się kompiluje i działa ale tej części nie kumam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1890">heniug</a> — 27 mar 2014, o 22:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-03-26T22:45:15+01:00</updated>
<published>2014-03-26T22:45:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=75996#p75996</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=75996#p75996"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=75996#p75996"><![CDATA[
<div class="quotetitle">heniug napisał(a):</div><div class="quotecontent"><br />Jeżeli mogę zapytać, to przy lekcji z multipleksowaniem mam problem z kompilacją pliku d_led.c pod Eclipsem.<br />Dotyczy umieszczenia kodowania zanaków w pamięci Flash.<br /></div><br /><br />dla uproszczenia skompiluj sobie to z WinAVR a nie z AtmelToolchain jak teraz próbujesz - to się skompiluje bez problemu. Później przeczytaj to:<br /><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/08/eclipse-kopot-z-pstr-przeczytaj.html" >http://mirekk36.blogspot.com/2012/08/ec ... zytaj.html</a><!-- m --><br /><br />a jak poczytasz i wprowadzisz zmiany w kodzie - to wtedy skompiluje ci się także pod AtmelToolchain. A z artykułu będziesz wiedział dlaczego tak się dzieje a nie inaczej - ok?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 26 mar 2014, o 22:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[heniug]]></name></author>
<updated>2014-03-26T22:29:21+01:00</updated>
<published>2014-03-26T22:29:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=75990#p75990</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=75990#p75990"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=75990#p75990"><![CDATA[
Witam<br />Jeżeli mogę zapytać,  to przy lekcji z multipleksowaniem mam problem z kompilacją pliku d_led.c pod Eclipsem.<br />Dotyczy umieszczenia kodowania zanaków w pamięci  Flash.<br /><br />[syntax=c]/*<br /> * d_led.c<br /> *<br /> *  Created on: 2010-03-30<br /> *       Autor: Mirosław Kardaś<br /> */<br />#include &lt;avr/io.h&gt;// dołączenie głównego systemowego  pliku nagłówkowego<br />#include &lt;avr/interrupt.h&gt;// dołączenie pl. nagłówkowego potrzebnego do obsł. przerwań<br />#include &lt;avr/pgmspace.h&gt;// dołączenie pl. nagłówkowego potrzebnego do odczytu<br />// danych zawartych w pamięci programu FLASH<br /><br />#include &quot;d_led.h&quot;// dołączenie naszego pliku nagłówkowego<br />// w nim znajdują się potrzebne tu m.in. definicje preprocesora<br /><br />// definicje zmiennych globalnych przechowujących cyfry do wyświetlania<br />// volatile – ponieważ będą wykorzystywane do odczytu i zapisu zarówno w przerwaniu i programie<br />// głównym. Trzeba więc wyłączyć optymalizację dostępu do nich. (zmienne ulotne)<br />volatile uint8_t cy1;<br />volatile uint8_t cy2;<br />volatile uint8_t cy3;<br />volatile uint8_t cy4;<br /><br /><br /><br />// definicja tablicy zawierającej definicje bitowe cyfr LED<br />uint8_t cyfry&#91;15&#93; PROGMEM = {<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F),// 0<br />~(SEG_B|SEG_C),// 1<br />~(SEG_A|SEG_B|SEG_D|SEG_E|SEG_G),// 2<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_G),// 3<br />~(SEG_B|SEG_C|SEG_F|SEG_G),// 4<br />~(SEG_A|SEG_C|SEG_D|SEG_F|SEG_G),// 5<br />~(SEG_A|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G),// 6<br />~(SEG_A|SEG_B|SEG_C|SEG_F),// 7<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G),// 8<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_F|SEG_G),// 9<br />0xFF// NIC (puste miejsce)<br />};<br /><br /><br /><br />// ****** definicja funkcji inicjalizującej pracę z wyświetlaczem multipleksowanym<br />void d_led_init(void)<br />{<br />LED_DATA_DIR = 0xFF;   // wszystkie piny portu C jako WYJŚCIA(katody)<br />LED_DATA = 0xFF;// wygaszenie wszystkich katod – stan wysoki<br />ANODY_DIR |= CA1 | CA2 | CA3 | CA4;// 4 piny portu A jako WYJŚCIA (anody wyświetlaczy)<br />ANODY_PORT |= CA1 | CA2 | CA3  | CA4;// wygaszenie wszystkich wyświetlaczy - anody<br /><br />// ustawienie TIMER0<br />TCCR0 |= (1&lt;&lt;WGM01);// tryb CTC<br />TCCR0 |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);// preskaler = 1024<br />OCR0 = 39;// dodatkowy podział przez 39 (rej. przepełnienia)<br />TIMSK |= (1&lt;&lt;OCIE0);// zezwolenie na przerwanie CompareMatch<br />}<br /><br /><br />// ================= PROCEDURA OBSŁUGI PRZERWANIA – COMPARE MATCH<br />ISR(TIMER0_COMP_vect)<br />{<br />static uint8_t licznik=1;// zmienna do przełączania kolejno anod wyrwietlacza<br /><br />ANODY_PORT = (ANODY_PORT &amp; 0xF0);// wygaszenie wszystkich wyświetlaczy<br /><br /><br />if(licznik==1) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy1&#93; );// gdy zapalony wyśw.1 podaj stan zmiennej c1<br />else if(licznik==2) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy2&#93; );// gdy zapalony wyśw.2 podaj stan zmiennej c2<br />else if(licznik==4) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy3&#93; );// gdy zapalony wyśw.3 podaj stan zmiennej c3<br />else if(licznik==8) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy4&#93; );// gdy zapalony wyśw.4 podaj stan zmiennej c4<br /><br />ANODY_PORT = (ANODY_PORT &amp; 0xF0) | (~licznik &amp; 0x0F);// cykliczne przełączanie kolejnej anody w każdym przerwaniu<br /><br />// operacje cyklicznego przesuwania bitu zapalającego anody w zmiennej licznik<br />licznik &lt;&lt;= 1;// przesunięcie zawartości bitów licznika o 1 w lewo<br />if(licznik&gt;8) licznik = 1;// jeśli licznik większy niż 8 to ustaw na 1<br />}[/syntax]<br /><br />Taki komunikat:<br /><br /><br />**** Build of configuration Release for project Zegar_LED ****<br /><br />make all <br />Building file: ../d_led.c<br />Invoking: AVR Compiler<br />avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega16 -DF_CPU=8000000UL -MMD -MP -MF&quot;d_led.d&quot; -MT&quot;d_led.d&quot; -c -o &quot;d_led.o&quot; &quot;../d_led.c&quot;<br />../d_led.c:26:9: error: variable 'cyfry' must be const in order to be put into read-only section by means of '__attribute__((progmem))'<br />make: *** [d_led.o] Błąd 1<br /><br />**** Build Finished ****<br /><br />Jeżeli zrobię kompilację w RAM to jest OK.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1890">heniug</a> — 26 mar 2014, o 22:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario123]]></name></author>
<updated>2014-03-05T13:57:39+01:00</updated>
<published>2014-03-05T13:57:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=73102#p73102</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=73102#p73102"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=73102#p73102"><![CDATA[
Witam mam takie malutkie pytanko odnośnie przycisków i obecnej pętli licznika <br />chciałbym używać przycisku  np: sw3(PB02) do chwilowego załączenia(500ms)  2 diod na porcie np: PB03/PB04 <br />tylko nie wiem za bardzo jak dalej to rozpisać tak aby nie zablokować pętli while z czym jest problem w chwili obecnej <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />sw mam podłączone do GND przez rezystor 10k <br />diody led mam na wspólnej katodzie<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 13 minutach ]</span></strong><br /><br />temat powyżej został rozwiązany za pomocą sw3 chciałem blokować sw2 i sw1 ale nie było potrzeby tego zatrzymywać bo  Key1_PIN ma priorytet nad KEY2_PIN ponieważ jest później sprawdzany<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2712">mario123</a> — 5 mar 2014, o 13:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[programek]]></name></author>
<updated>2014-03-05T13:57:13+01:00</updated>
<published>2014-03-05T13:57:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=73101#p73101</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=73101#p73101"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=73101#p73101"><![CDATA[
dobra może inaczej... Jak chcesz to zrobić: Czy tak że jak naciśniesz jednocześnie sw3 i sw2 lub 1 to pętla zastopuje??? Czy chcesz że jak naciśniesz sw3 i go puścisz to sw1 i 2 są aktywne???<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1526">programek</a> — 5 mar 2014, o 13:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario123]]></name></author>
<updated>2014-03-03T19:30:15+01:00</updated>
<published>2014-03-03T19:30:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72938#p72938</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72938#p72938"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72938#p72938"><![CDATA[
Witam serdecznie po uruchomieniu programu sw3 zatrzymuje chwilowo pętle licznika, po czym startuje ponownie tak samo jest przy wciśnięciu sw1 , w poprzedniej ver. Z sw1 i sw2 <br />Problem był tutaj [syntax=c]DDRB &amp;= ~(0b00000011);<br /><br />    <br />    PORTB |= (0b00000011);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2712">mario123</a> — 3 mar 2014, o 19:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[programek]]></name></author>
<updated>2014-03-02T09:15:05+01:00</updated>
<published>2014-03-02T09:15:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72717#p72717</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72717#p72717"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72717#p72717"><![CDATA[
Tak też można, ale nie wiedziałem o co dokładnie chodzi koledze: czy o to że dopóki sw3 jest wciśnięty to sw1 i sw2 są aktywowanie, czy chodziło o to że jak jednorazowo wciśnie się sw3 to sw1 i sw2 są aktywowane....<br />.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1526">programek</a> — 2 mar 2014, o 09:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-03-01T22:10:12+01:00</updated>
<published>2014-03-01T22:10:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72664#p72664</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72664#p72664"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72664#p72664"><![CDATA[
Ja bym to zrobił tak <br />[syntax=c]if( klawisz_wcisniety( KEY3_PIN )) zmienna = 1;<br />else zmienna = 0;[/syntax]<br />Bez tego, po wciśnięciu KEY3, zmienna będzie ustawiona cały czas. Nawet jeśli KEY3 będzie zwolniony zmienna i tak będzie ustawiona.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 1 mar 2014, o 22:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[programek]]></name></author>
<updated>2014-03-01T16:19:51+01:00</updated>
<published>2014-03-01T16:19:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72599#p72599</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72599#p72599"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72599#p72599"><![CDATA[
No to dodaj sobie definicje jeszcze jednego klawisza i jego podciągnięcie do VCC, dodaj jakąś zmienną a potem daj warunek że jeśli naciśniesz klawisz sw3 to zmienna zmieni wartość na 1<br /><br />np tak to może być:<br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 2010-03-30<br /> *       Autor: Mirosław Kardaś<br /> */<br />#include &lt;avr/io.h&gt;// dołączenie głównego systemowego  pliku nagłówkowego<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;d_led.h&quot;// dołączenie naszego pliku nagłówkowego (obsługa LED)<br /><br />#define KEY1 (1&lt;&lt;PB0)<br />#define KEY2 (1&lt;&lt;PB1)<br />#define KEY3 (1&lt;&lt;PB3)<br /><br />#define KEY1_PIN !(PINB &amp; KEY1)<br />#define KEY2_PIN !(PINB &amp; KEY2)<br />#define KEY3_PIN !(PINB &amp; KEY3)<br /><br />uint8_t klawisz_wcisniety(uint8_t klawisz);        // deklaracja funkcji<br /><br />int main(void)<br />{<br />// ****** inicjalizacja *********<br />d_led_init();   // inicjalizacja wyświetlacza multipleksowanego<br /><br />// testowa inicjalizacja zmiennych oraz liczb mających się wyświetlać na wyrw. LED<br />cy1=NIC;<br />cy2=4;<br />cy3=1;<br />cy4=NIC;<br /><br />sei();// włączenie globalnego zezwolenia na przerwania<br /><br />DDRB &amp;=~( KEY1 | KEY2 | KEY3);<br />PORTB |= ( KEY1 | KEY2 | KEY3);    // podciągnięcie pinów do VCC<br /><br /><br />uint16_t licznik=6000;<br />uint8_t d1,d2,d3,d4;<br /><br />uint8_t zmienna = 0;<br /><br />//**********************  pętla główna<br />while(1)<br />{<br />if( klawisz_wcisniety( KEY3_PIN )) zmienna = 1;<br /><br />if( klawisz_wcisniety( KEY1_PIN ) &amp;&amp; zmienna == 1  ){<br />while(1)<br />{<br />if( klawisz_wcisniety( KEY2_PIN ) &amp;&amp; zmienna == 1  ) break;<br />    }<br />}<br /><br /><br />licznik--;<br /><br />d1=licznik/1000;<br />if(d1) cy1=d1; else cy1=NIC;<br />d2=(licznik-(d1*1000))/100;<br />if(d2) cy2=d2; else cy2=(licznik&gt;999)?0:NIC;<br />d3=(licznik-(d1*1000)-(d2*100))/10;<br />if(d3) cy3=d3; else cy3=(licznik&gt;99)?0:NIC;<br />d4=(licznik-(d1*1000)-(d2*100)-(d3*10));<br />cy4=d4;<br />_delay_ms(10);<br /><br />if(!licznik) licznik=6000;<br />}<br />}<br /><br />// definicja funkcji<br />uint8_t klawisz_wcisniety(uint8_t klawisz)<br />{<br />    if( klawisz )                           // klawisz wciśnięty ?<br />    {<br />_delay_ms(80);                          // czas drgań styków<br />        if( klawisz ) return 1;         // jeśli wciśnięty?  zakończ funkcję - rezultat = 1<br />    }<br /><br />    return 0;       // jeśli nie wciśnięty klawisz, zakończ funkcję, rezultat = 0<br />}[/syntax]<br /><br />jeśli naciśniesz klawisz 3 to zmienna zmieni wartość na 1, a warunki do stopowania pętli i puszczania jej nie wykonają się jeśli zmienna nie będzie równa 1<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1526">programek</a> — 1 mar 2014, o 16:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario123]]></name></author>
<updated>2014-03-01T15:20:14+01:00</updated>
<published>2014-03-01T15:20:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72588#p72588</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72588#p72588"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72588#p72588"><![CDATA[
witam problem został rozwiązany <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> mam do tego malutkie pytanko a jak chciałbym dodać taką funkcje z dodatkowym sw3 <br />jeśli wcisnę sw3 to wtedy są aktywne sw2 i sw1 jeśli nie to brak reakcji programu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2712">mario123</a> — 1 mar 2014, o 15:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-28T22:39:58+01:00</updated>
<published>2014-02-28T22:39:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72512#p72512</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72512#p72512"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72512#p72512"><![CDATA[
a na czym kolega autor testuje to wszystko - może na ATB ? a jeśli tak to pomyślał o pinach Rx i Tx - i zworkach żółtych nad prockiem ?<br /><br /><!-- m --><a class="postlink" href="http://atnel.pl/atb-przejsciowka-usb-rs232.html" >http://atnel.pl/atb-przejsciowka-usb-rs232.html</a><!-- m --><br /><br />oczywiście jeśli nie na ATB to nie było tematu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 lut 2014, o 22:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[programek]]></name></author>
<updated>2014-02-28T22:31:57+01:00</updated>
<published>2014-02-28T22:31:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72511#p72511</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72511#p72511"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72511#p72511"><![CDATA[
Już wiem gdzie był błąd <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br />zmień to:<br />[syntax=c]DDRD &amp;= ~(KEY1_PIN | KEY2_PIN);         // kierunek KEY_1 i 2 - wejściowy<br />PORTD |= (KEY1_PIN | KEY2_PIN);         // podciągnięcie pinów do VCC[/syntax]<br />na to:<br />[syntax=c]DDRD &amp;=~( (1&lt;&lt;PD0) | (1&lt;&lt;PD1));<br />PORTD |= ( (1&lt;&lt;PD0) | (1&lt;&lt;PD1));         // podciągnięcie pinów do VCC[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1526">programek</a> — 28 lut 2014, o 22:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[programek]]></name></author>
<updated>2014-02-28T14:48:01+01:00</updated>
<published>2014-02-28T14:48:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72425#p72425</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72425#p72425"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72425#p72425"><![CDATA[
Nie wiem czy wiesz, ale kodów z książek Mirka nie udostępniamy na forum (można jedynie pliki main.c).... Koledze chodziło abyś pokazał cały kod main.c bo w tym wyżej nie było definicji klawiszy..<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1526">programek</a> — 28 lut 2014, o 14:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario123]]></name></author>
<updated>2014-02-28T14:59:32+01:00</updated>
<published>2014-02-28T13:23:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72410#p72410</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72410#p72410"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72410#p72410"><![CDATA[
plik main.c jest taki jak u góry, a nie wiedziałem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ale teraz już wiem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />definicja klawiszy z pliku d_led.h  [syntax=c]#define KEY1_PIN !(PINB &amp; (1&lt;&lt;PB0))<br />#define KEY2_PIN !(PINB &amp; (1&lt;&lt;PB1))[/syntax]<br /><br /><span style="color: #FF0000">Nie usuwamy wpisów moderacyjnych  <img src="https://forum.atnel.pl/images/smilies/icon_evil.gif" alt=":evil:" title="Zły" /> Różowo-zielony (czyli sraczkowy) J.<br />Następnym razem ostrzeżenie.</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2712">mario123</a> — 28 lut 2014, o 13:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaka0204]]></name></author>
<updated>2014-02-28T12:18:45+01:00</updated>
<published>2014-02-28T12:18:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72396#p72396</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72396#p72396"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72396#p72396"><![CDATA[
To bardzo dobrze, że rozwiązałeś problem, ale z tym kłopotem co teraz się narodził, raczej nikt Ci nie pomoże bo nikt nie wie co tam dopisałeś do tego softu <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Pokaż kod <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=889">kaka0204</a> — 28 lut 2014, o 12:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario123]]></name></author>
<updated>2014-02-28T11:51:45+01:00</updated>
<published>2014-02-28T11:51:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72391#p72391</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72391#p72391"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72391#p72391"><![CDATA[
Witam problem rozwiązany <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ale jak wykonuje zatrzymanie licznika za pomocą sw1 to on po chwili ponownie uruchamia się sam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2712">mario123</a> — 28 lut 2014, o 11:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-02-27T22:32:35+01:00</updated>
<published>2014-02-27T22:32:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72364#p72364</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72364#p72364"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72364#p72364"><![CDATA[
Pokaz jeszcze co się kryje pod KEY1_PIN i KEY2_PIN bo wydaje mi się, że chyba tu masz coś nie tak.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 27 lut 2014, o 22:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario123]]></name></author>
<updated>2014-02-27T21:51:46+01:00</updated>
<published>2014-02-27T21:51:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72349#p72349</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72349#p72349"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72349#p72349"><![CDATA[
[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 2010-03-30<br /> *       Autor: Mirosław Kardaś<br /> */<br />#include &lt;avr/io.h&gt;// dołączenie głównego systemowego  pliku nagłówkowego<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br /><br />#include &quot;d_led.h&quot;// dołączenie naszego pliku nagłówkowego (obsługa LED)<br /><br />uint8_t klawisz_wcisniety(uint8_t klawisz);<br /><br /><br />int main(void)<br />{<br />// ****** inicjalizacja *********<br />d_led_init();   // inicjalizacja wyświetlacza multipleksowanego<br /><br />// testowa inicjalizacja zmiennych oraz liczb mających się wyświetlać na wyrw. LED<br />cy1=NIC;<br />cy2=4;<br />cy3=1;<br />cy4=NIC;<br /><br />sei();// włączenie globalnego zezwolenia na przerwania<br /><br />    DDRB &amp;= ~(KEY1_PIN | KEY2_PIN);         // kierunek KEY_1 i 2 - wejściowy<br />            PORTB |= (KEY1_PIN | KEY2_PIN);         // podciągnięcie pinów do VCC<br /><br /><br /><br />uint16_t licznik=6000;<br />uint8_t d1,d2,d3,d4;<br /><br /><br /><br />//**********************  pętla główna<br /><br /><br />while(1)<br />          {<br />             if(  klawisz_wcisniety( KEY1_PIN )  )<br />             {<br />                 while(1)<br />                 {<br />                       if(  klawisz_wcisniety( KEY2_PIN )  ) break;<br />                 }<br />             }<br /><br />             licznik--;<br /><br />             d1=licznik/1000;<br />             if(d1) cy1=d1; else cy1=NIC;<br />             d2=(licznik-(d1*1000))/100;<br />             if(d2) cy2=d2; else cy2=(licznik&gt;999)?0:NIC;<br />             d3=(licznik-(d1*1000)-(d2*100))/10;<br />             if(d3) cy3=d3; else cy3=(licznik&gt;99)?0:NIC;<br />             d4=(licznik-(d1*1000)-(d2*100)-(d3*10));<br />             cy4=d4;<br />             _delay_ms(10);<br />       //      if(licznik&gt;9999) licznik=0;<br />             if(!licznik) licznik=6000;<br />          }<br /><br />}<br /><br /><br /><br /><br /><br /><br />// definicja funkcji<br />uint8_t klawisz_wcisniety(uint8_t klawisz)<br />{<br />        if( klawisz )                           // klawisz wciśnięty ?<br />        {<br />                _delay_ms(80);                          // czas drgań styków<br />                if( klawisz ) return 1;         // jeśli wciśnięty?  zakończ funkcję - rezultat = 1<br />        }<br /><br />        return 0;       // jeśli nie wciśnięty klawisz, zakończ funkcję, rezultat = 0<br />      }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2712">mario123</a> — 27 lut 2014, o 21:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-02-27T21:19:29+01:00</updated>
<published>2014-02-27T21:19:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72337#p72337</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72337#p72337"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72337#p72337"><![CDATA[
A pokaż cały kod z pliku main.c z twoimi modyfikacjami. Będzie łatwiej znaleźć ewentualnego babola w kodzie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 27 lut 2014, o 21:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario123]]></name></author>
<updated>2014-02-27T09:56:06+01:00</updated>
<published>2014-02-27T09:56:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72235#p72235</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72235#p72235"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72235#p72235"><![CDATA[
Witam wiem o co biega z auto zapisem, błędu się pozbyłem ale nie działa licznik:( ogólnie to w oryginalnej ver. program działa <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=2712">mario123</a> — 27 lut 2014, o 09:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[programek]]></name></author>
<updated>2014-02-27T06:40:05+01:00</updated>
<published>2014-02-27T06:40:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72231#p72231</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72231#p72231"/>
<title type="html"><![CDATA[Re: PROBLEM z ćwiczeniem multipleksowanie LED]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6158&amp;p=72231#p72231"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Bo pewnie nie obejrzałeś ANI JEDNEJ lekcji video z płyty DVD dołączonej do Książki ..... ani też nie oglądałeś żadnego poradnika mojego na YT .... szczególnie tego:<br /><br /><!-- m --><a class="postlink" href="http://www.youtube.com/watch?v=brb1wjyQjMo" >http://www.youtube.com/watch?v=brb1wjyQjMo</a><!-- m --><br /></div><br />o właśnie oglądnij to sobie... Polecam <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=1526">programek</a> — 27 lut 2014, o 06:40</p><hr />
]]></content>
</entry>
</feed>