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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-07-13T19:38:32+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=3506&amp;mode</id>
<entry>
<author><name><![CDATA[LogTeam]]></name></author>
<updated>2013-07-13T19:38:32+01:00</updated>
<published>2013-07-13T19:38:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41632#p41632</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41632#p41632"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41632#p41632"><![CDATA[
Spójrz jeszcze raz na podłączenia wyświetlacza. Miałem identyczny problem. Każdy segment dawałem do VCC, patrzyłem do noty, potem do programu i widząc który segment się zapalił, podłączałem do uC.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=738">LogTeam</a> — 13 lip 2013, o 19:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grzes508]]></name></author>
<updated>2013-07-12T19:17:26+01:00</updated>
<published>2013-07-12T19:17:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41547#p41547</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41547#p41547"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41547#p41547"><![CDATA[
hmmm.... te linijki wygladają u mnie identycznie jak ten program na płycie. Więc chyba nie tu tkwi problem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1487">grzes508</a> — 12 lip 2013, o 19:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2013-07-12T19:09:16+01:00</updated>
<published>2013-07-12T19:09:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41544#p41544</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41544#p41544"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41544#p41544"><![CDATA[
Witam<br />Jeśli przepisywałeś program z oryginału, to w d_led.c w wierszach 56 i 64 ANODY_PORT.....<br />brakuje &quot; tyldy &quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 12 lip 2013, o 19:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grzes508]]></name></author>
<updated>2013-07-12T14:19:18+01:00</updated>
<published>2013-07-12T14:19:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41489#p41489</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41489#p41489"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41489#p41489"><![CDATA[
w żadnym wypadku nie sugeruje że ten kod jest zły, napewno ja coś źle robie. <br />Gdy zmieniam podłączenie katod na port B to rzecz jasna zmieniam tylko ten fragment programu:<br /><br />[syntax=c]#define LED_DATA PORTB// port z podłączonymi segmentami<br />#defineLED_DATA_DIR   DDRB// rejestr kierunku portu katod wyświetlaczy[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 15 minutach ]</span></strong><br /><br />Wrzuciłem ten program który był na płycie, podłączając katody do portu D i anody do portu A, działa! Teraz tylko musze szczegółowo porównać ten program z tym programem który sam przepisywałem z książki, chociaż już to robiłem nie raz ale jak widać jeszcze za mało<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1487">grzes508</a> — 12 lip 2013, o 14:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wilu88]]></name></author>
<updated>2013-07-12T14:05:39+01:00</updated>
<published>2013-07-12T14:05:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41488#p41488</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41488#p41488"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41488#p41488"><![CDATA[
jak podłączasz do portu B to jak wtedy wygląda twój kod? Nie ma opcji aby ten kod z książki Mirka nie działał.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=743">Wilu88</a> — 12 lip 2013, o 14:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grzes508]]></name></author>
<updated>2013-07-12T13:49:50+01:00</updated>
<published>2013-07-12T13:49:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41482#p41482</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41482#p41482"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41482#p41482"><![CDATA[
więc jest tak jak mówiłem, 0 to włączony, a ustawiłem go na 1 podczas zmiany taktowania. Ale mimo to próbowałem i na port B oraz D przełączać i efekty były takie jak już mówiłem, świeci się ale nie tak jak trzeba na porcie D, nawet gdy zmieniam cyfry do wyświetlenia w programie to nadal się świeci to co świeciło (czyli nic konkretnego), natomiast gdy podłączampod port B lub C to nie świeci się nic<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1487">grzes508</a> — 12 lip 2013, o 13:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wilu88]]></name></author>
<updated>2013-07-12T13:37:39+01:00</updated>
<published>2013-07-12T13:37:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41481#p41481</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41481#p41481"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41481#p41481"><![CDATA[
Oj Panie nota nota się kłania. Bit JTD na początku jest 0 co oznacza że JTAG jest włączony, wiec trzeba zmienić na 1. Ale dla pewności co za problem zmienić szybko segmenty na PORT B i będziesz miał pewność czego to wina.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=743">Wilu88</a> — 12 lip 2013, o 13:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grzes508]]></name></author>
<updated>2013-07-12T13:32:27+01:00</updated>
<published>2013-07-12T13:32:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41480#p41480</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41480#p41480"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41480#p41480"><![CDATA[
JTAG ma być ustawiony na 0 czy na 1?<br />Domyślnie chyba powinien być włączony, a u mnie wynosił 0 chociaż nic nie zmieniałem wcześiej. A więc przestawiłem go na 1 już wcześniej podczas zmiany taktowania na 8MHZ.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 5 minutach ]</span></strong><br /><br />coś w tym jest bo tak jak mówiłem już wcześniej gdy katody podłączałem pod port B lub D to coś tam się świeciło chociaż źle, a jak podłączam pod właśnie port C to zero reakcji wyświetlacza<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1487">grzes508</a> — 12 lip 2013, o 13:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wilu88]]></name></author>
<updated>2013-07-12T13:26:26+01:00</updated>
<published>2013-07-12T13:26:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41478#p41478</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41478#p41478"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41478#p41478"><![CDATA[
Ok to jeszcze jedna sprawa używasz PC2 do świecenia segmentem, ale czy wyłączyłeś obsługę JTAG'a? który pracuje standardowo na PC2. Aby to zrobić albo używając MKAVRCalculatora w którym zrobisz to łatwo i przyjemnie albo czeka cie zabawa z fuse bitami.<br />Jak się tego boisz to przerzuć segmenty np. na PORT B.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=743">Wilu88</a> — 12 lip 2013, o 13:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grzes508]]></name></author>
<updated>2013-07-12T13:19:46+01:00</updated>
<published>2013-07-12T13:19:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41477#p41477</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41477#p41477"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41477#p41477"><![CDATA[
Podłączone są do A. Najpierw były do D , i widac to na zdjęciu oraz w komentarzu, ale żeby było już identycznie jak w ksiażce to zmieniłem na A, zapomniałem tylko zmienić w komentarzu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1487">grzes508</a> — 12 lip 2013, o 13:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wilu88]]></name></author>
<updated>2013-07-12T13:16:31+01:00</updated>
<published>2013-07-12T13:16:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41476#p41476</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41476#p41476"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41476#p41476"><![CDATA[
Jak w końcu masz podłączone Anody? Bo już się gubię Na zdjęciu widać że do Portu D tymczasem w kodzie widzę że jednak do A chociaż komentarz wskakuje na D.<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />#define         ANODY_PORT      PORTA   // port z podłączonymi anodami- 4 bity najmłodsze<br />#define         ANODY_DIR       DDRA    // rejestr kierunku portu anod wyświetlaczy<br /> <br />#define         CA1     (1&lt;&lt;PA0)                // CA1 oznacza bit nr.0 portu D<br />#define         CA2     (1&lt;&lt;PA1)                // CA2 oznacza bit nr.1 portu D<br />#define         CA3     (1&lt;&lt;PA2)                // CA3 oznacza bit nr.2 portu D<br />#define         CA4     (1&lt;&lt;PA3)                // CA4 oznacza bit nr.3 portu D<br /></div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=743">Wilu88</a> — 12 lip 2013, o 13:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grzes508]]></name></author>
<updated>2013-07-12T13:09:05+01:00</updated>
<published>2013-07-12T13:09:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41475#p41475</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41475#p41475"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41475#p41475"><![CDATA[
Elementy segmentów teraz napewno są ustawione prawidłowo, w końcu wyszło, że ma być jednak tak jak jest podane w tablicy<br /><br /><strong>main.c</strong><br /><br />[syntax=c]#include &lt;avr/io.h&gt;// dołączenie głównego systemowego  pliku nagłówkowego<br />#include &lt;avr/interrupt.h&gt;<br /><br /><br /><br /><br />#include &quot;d_led.h&quot;// dołączenie naszego pliku nagłówkowego (obsługa LED)<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=5;<br />cy2=6;<br />cy3=7;<br />cy4=8;<br /><br />sei();// włączenie globalnego zezwolenia na przerwania<br /><br /><br /><br /><br /><br /><br />//**********************  pętla główna<br />while(1)<br />{<br /><br />}<br />}[/syntax]<br /><br /><strong>d_led.c</strong><br /><br />[syntax=c]#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 />// 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 /><strong>d_led.h</strong><br /><br />[syntax=c]#ifndef _d_led_h// dyrektywy zabezpieczające przed wielokrotnym dołączaniem<br />#define _d_led_h// tego samego pliku nagłówkowego jeśli będzie dołączany<br />// w wielu różnych plikach programu<br /><br />// definicje portów i pinów wyświetlacza używanych dla ułatwienia w programie jako stałe preprocesora<br /><br />#define LED_DATA PORTC// port z podłączonymi segmentami<br />#defineLED_DATA_DIR DDRC// rejestr kierunku portu katod wyświetlaczy<br />#define ANODY_PORT PORTA// port z podłączonymi anodami- 4 bity najmłodsze<br />#define ANODY_DIR DDRA// rejestr kierunku portu anod wyświetlaczy<br /><br />#define CA1 (1&lt;&lt;PA0)// CA1 oznacza bit nr.0 portu D<br />#define CA2 (1&lt;&lt;PA1)// CA2 oznacza bit nr.1 portu D<br />#define CA3 (1&lt;&lt;PA2)// CA3 oznacza bit nr.2 portu D<br />#define CA4 (1&lt;&lt;PA3)// CA4 oznacza bit nr.3 portu D<br /><br />// definicje bitów dla poszczególnych segmentów LED<br />#define SEG_A (1&lt;&lt;0)<br />#define SEG_B (1&lt;&lt;1)<br />#define SEG_C (1&lt;&lt;2)<br />#define SEG_D (1&lt;&lt;3)<br />#define SEG_E (1&lt;&lt;4)<br />#define SEG_F (1&lt;&lt;5)<br />#define SEG_G (1&lt;&lt;6)<br />#define SEG_DP (1&lt;&lt;7)<br /><br />#define NIC 10<br /><br />// same DEKLARACJE zmiennych globalnych na potrzeby wykorzystania ich w innych plikach projektu<br />// przydomek externpowoduje, iż te zmienne będą dostępne we wszystkich modułach, które dołączą plik<br />// d_led.h za pomocą dyrektywy #include<br />extern volatile uint8_t cy1;<br />extern volatile uint8_t cy2;<br />extern volatile uint8_t cy3;<br />extern volatile uint8_t cy4;<br /><br /><br /><br />void d_led_init(void);<br /><br />#endif// koniec _d_led_h[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1487">grzes508</a> — 12 lip 2013, o 13:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wilu88]]></name></author>
<updated>2013-07-12T12:59:34+01:00</updated>
<published>2013-07-12T12:59:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41474#p41474</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41474#p41474"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41474#p41474"><![CDATA[
Wklej cały kod programu i będzie prościej niż snuć domysły<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=743">Wilu88</a> — 12 lip 2013, o 12:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grzes508]]></name></author>
<updated>2013-07-12T12:54:52+01:00</updated>
<published>2013-07-12T12:54:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41473#p41473</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41473#p41473"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41473#p41473"><![CDATA[
procek programuje zewnętrznym programem do osbługi mojego programatora, ponieważ niestety jest on jakiś chyba chiński <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> i nawet nie próbowałem go połączyć z ECLIPSE. Procek programuje się napewno, &quot;Flash written seccesfully&quot; oraz sprawdzałem również na innych prograach, chociażby przed chwilą jak testowałem poszczególne elementy segmentu. Właśnie zauwżyłem że jak podłączam  katody pod inny PORT niż definiuje w programie to nadal wyświetla się to samo na wyświetlaczu, dzieje się tak z portem B i D natomiast jak podłączam pod port C to na wyświetlaczu nic się nie zaświeca. Może mam jednak źle przepisany program a na wyjściach mikrokontrolera wystepuje stan Hi-Z?  Czy jest to możliwe? Ponieważ wydaje mi się, że nie wszystkie elementy segmentów świecą jednakowo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1487">grzes508</a> — 12 lip 2013, o 12:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wilu88]]></name></author>
<updated>2013-07-12T12:42:45+01:00</updated>
<published>2013-07-12T12:42:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41472#p41472</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41472#p41472"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41472#p41472"><![CDATA[
Czyli teraz jak rozumiem wyświetlają ci się prawidłowe cyfry? Jeżeli tak i po twojej zmianie w kodzie zostaja te stare to moze Ci się jednak nie programuje procek? Pokaż zrzut z console.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=743">Wilu88</a> — 12 lip 2013, o 12:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grzes508]]></name></author>
<updated>2013-07-12T12:21:22+01:00</updated>
<published>2013-07-12T12:21:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41469#p41469</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41469#p41469"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41469#p41469"><![CDATA[
napięcie podaje poprzez programator z USB, wyświetlacz testowałem i za pomocą kabli i za pomocą prostego kodu który wrzuciłem, w dwóch przypadkach elementy wyświetlaczy sie zgadzały<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 6 minutach ]</span></strong><br /><br />elementy segmentów już zostawmy, to już jest dobrze zrobione. Najdziwniejsze jest to, że po zmianie wartości cy1 ... cy4 w programie, to na wyświetlaczu wyświetla sie nadal to samo. Tego nie rozumiem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1487">grzes508</a> — 12 lip 2013, o 12:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wilu88]]></name></author>
<updated>2013-07-12T12:15:35+01:00</updated>
<published>2013-07-12T12:15:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41468#p41468</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41468#p41468"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41468#p41468"><![CDATA[
A może jakieś kiepskie źródło napięcia i nie starcza na wszystkie segmenty? Inna sprawa że nie testuj wyświetlacza za pomocą kodu ale samych kali połączeniowych. Bierzesz jeden kabelek do masy i podłączasz do cyfry, a następnie kolejny kabelek z masy i jedziesz po kolei do segmentów jak już obczaisz który segment to który pin to spróbuj wziąśc kilka kabelków i połacz bezpośrednio GND z segmentami i zobacz efekty. Odstaw narazie mikrokontroler.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=743">Wilu88</a> — 12 lip 2013, o 12:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grzes508]]></name></author>
<updated>2013-07-12T12:09:19+01:00</updated>
<published>2013-07-12T12:09:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41467#p41467</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41467#p41467"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41467#p41467"><![CDATA[
Nie wrzucam kodu na &quot;huuurraaaa&quot; tylko przepisałem go rozsądnie analizując go krok po kroku na tyle ile potrafie, czy to źle? Jeśli chodzi o elementy segmentów to nigdy by mi do głowy nie wpadło, że na różnych wyświetlaczach mogą być w różnych miejscach elementy od A do F oraz PD, ale trudno myliłem się, zostałem uświadomiony, że nie mam racji. Czy to źle? Teraz już, napewno to zapamiętam. Niestety w książce nie było napisane tak jak pan twierdzi, żeby sprawdzić sobie elementy segmentu ponieważ w iinych wyświetlaczach może być inaczej, gdyby tak było napewno bym to wykonał. <br />To co Pan sugeruje mi abym zrobił, to już zrobiłem, przebudowałem program aby odpowiadał mojemy wyświetlaczowi, po uprzednim sprawdzeniu który bit odpowiada za jaki element segmentu za pomoca prostego programu jaki wrzuciłem wcześniej. <br /><br />Wojtek001 nie widze różnicy między moim programem do sprawdzenie poszczególnych elementów a Twoim. Robiłem tak jak sugerujecie, zmieniałem pokolei bity i sprawdzałem który element segmentu się świeci, następnie na tej podstawie zmodyfikowałem program z książki aby tablica z cyframi pasowała do mojego wyświetlacza. Ale niestety nadal nie pojawiają cie cyfry tak jak powinny. Także panowie wszystko to co mi sugerujecie już wykonałem i opisałem to w poprzednim poście. Ja rozumiem, że czasami brakuje cierpliwości dla początkującyh ale jednak proszę o wyrozumiałość, tym bardziej, że już wcześniej zrobiłem to, co mi teraz sugerujecie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1487">grzes508</a> — 12 lip 2013, o 12:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-07-12T11:34:09+01:00</updated>
<published>2013-07-12T11:34:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41459#p41459</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41459#p41459"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41459#p41459"><![CDATA[
Powiedz mi czy tak trudno zrobić KILKA podstawowych czynności:<br /><br />1. wziąć w łapki dwa przewody połączeniowe<br />2. jeden podłączyć do bazy tranzystora pierwszego wyświetlacza i do GND żeby go włączyć<br />3. drugim przewodem podłączać po kolei każdy segment na wyprowadzonych pinach w swoim zestawie żeby sprawdzić, który pin to segment A, który pin to segment B itd aż do H<br /><br />bo ty wciąż piszesz że ci kod nie działa, że kod z książki też nie działa .....<br /><br />a jak ma działać ? ileż razy można powtarzać, że to nie jest pisanie programów na PC tylko na mikrokontroler. To jest elektronika, i działanie programu zależy od niej i od połączeń ....<br /><br />w książce OPISYWAŁEM jak po kolei sprawdzić sobie segmenty, jak zacząć<br /><br />a ty na huuurrraaa wrzucasz kod z książki i jak nie działa to znacz dla ciebie że kod zły .... skoro nie posiadasz zestawu ATB (to nie ma zmartwienia - żaden kłopot) może być dowolny inny albo i stykówka - no ale wtedy nikt inny nie zadba za ciebie o przygotowanie prawidłowych połączeń ....<br /><br />więc na nic się zdadzą tłumaczenia że &quot;sto razy już sprawdzałem&quot; bo nadal popełniasz babola<br /><br />a w sumie sprawdzenie segmentów sposobem jaki podałem wyżej i odpalenie tego statycznie - to nie jest problem....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 lip 2013, o 11:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wilu88]]></name></author>
<updated>2013-07-12T11:30:10+01:00</updated>
<published>2013-07-12T11:30:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41458#p41458</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41458#p41458"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41458#p41458"><![CDATA[
Po próbuj z pojedynczym segmentem np A i zobacz jaki pin zapala ten segment i tak dalej z kolejnymi i czy jest to powtarzalne.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=743">Wilu88</a> — 12 lip 2013, o 11:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wojtek001]]></name></author>
<updated>2013-07-12T11:40:54+01:00</updated>
<published>2013-07-12T11:29:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41457#p41457</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41457#p41457"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41457#p41457"><![CDATA[
Oczywiście że możliwe. Nic tu nie musi być znormalizowane. Napisz prościutki program który będzie przesuwał bit na rejestrze portu do którego podłączone są segmenty i spisz sobie na kartkę kolejność a potem odpowiednio pozmieniaj dane w programie.<br /><br />Ja też nie rozumiem. To jest takie proste że musi działać! Najpierw napisz to co ci napisałem wyżej. Jak to ci nie będzie działać to napisz po prostu:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#include &lt;avr/io.h&gt;<br /><br />int main (void)<br />{<br />DDRD = 255; //wyszystkie piny do anodjako wyjścia<br />DDRA = 255; //wszystkie piny do katod jako wyjścia<br /><br />PORTD = 0; //załączam wszystkie anody<br />PORTA = 0b00010100 ;//załącz katody tak jak ci się podoba<br />}</div><br />I nie ma że boli  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" />  To po prostu musi działać! W porcie a zmieniaj dane i sprawdzaj jak masz podłączone segmenty. Program ten spowoduje że na wszystkich 4 wyświetlaczach zobaczysz to samo (wszystkie anody są załączone).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=500">Wojtek001</a> — 12 lip 2013, o 11:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PawelGaj]]></name></author>
<updated>2013-07-12T11:23:06+01:00</updated>
<published>2013-07-12T11:23:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41455#p41455</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41455#p41455"/>
<title type="html"><![CDATA[Re: Odp: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41455#p41455"><![CDATA[
Widocznie masz źle podłączone segmenty wyświetlacza.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=784">PawelGaj</a> — 12 lip 2013, o 11:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grzes508]]></name></author>
<updated>2013-07-12T11:11:16+01:00</updated>
<published>2013-07-12T11:11:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41452#p41452</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41452#p41452"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41452#p41452"><![CDATA[
Tak też zrobiłem, gdy na port D podałem stan 0b1111110 zaświecił się element DP (kropka) a z tego co rozumiem to powinien zaświecić się element A. W moim przypadku jest tak jakby odwrotnie, czy to normalne? Myślałem że ustawienia elementu od A do F oraz DP są znormalizowane we wszystkich wyświetlaczach tego typu. No chyba że ja coś źle robie. Ale dodam, że podłączenie mam prawidłowe (w odniesieniu do książki), A do <strong>najmłodszego</strong> bitu portu D i tak dalej.(wyjścia wyświetlacza od A do DP mam podpisane na płycie więc podłączam zgodnie z opisem). Chyba, że na moim wyświetlaczu oznaczenie elementu A oznacza na innych wyświetlaczach oznaczenie elementu DP, czy to możliwe? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Podaje na wszelki wypadek kod którym próbowałem poszczególne elementy jednego segmentu wyświetlacza.<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br /><br />int main(void)<br />{<br />DDRB = 0xFF;<br />PORTB = 0b11111110;<br />DDRA = 0xFF;<br />PORTA = 0b11111110;<br /><br />}[/syntax]<br /><br />W tym przypadku powinien się świecić element A (na pozioma kreska na górze segmentu nr1), a u mnie świeci się kropka. Analogicznie dzieje się z pozostałymi elementami. Dodam również, że przy próbie odwrócenia połączeń tak aby dostosować je do moich elementów wyświetlacza (czyli A do <strong>najstarszego</strong> bitu portu D i tak dalej aż do PD), oraz przy próbie uruchomienia programu z książki niestety dzieje się to samo, świecą sie elementy segmentów jednak nie te co powinny (ale już inne niż te które przedstawiają zdjęcia). Istotną rzeczy według mnie, o czym już wspominałem w pierwszym poście jesto to, że przy próbie zmiany wyświetlanych cyfr <br /><br />[syntax=c]cy1=1;<br />cy2=2;<br />cy3=3;<br />cy4=4;[/syntax]<br /><br />na dowolnie inne, to świecą mi się nadal te same elementy segmentów i nadal nie przedstawiają żadnych konkretnych liczb. Kompletnie nie rozumiem co się dzieje <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=1487">grzes508</a> — 12 lip 2013, o 11:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wilu88]]></name></author>
<updated>2013-07-12T07:39:59+01:00</updated>
<published>2013-07-12T07:39:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41436#p41436</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41436#p41436"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41436#p41436"><![CDATA[
A może zacznij od wyświetlenia statycznie po jednej cyfrze bez multipleksowania. Załącz jedną anodę i wyślij cyfrę i tak po kolei będziesz wiedział że podłączenie segmentów jest prawidłowe, a póxniej będzie można szukać błędu dalej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=743">Wilu88</a> — 12 lip 2013, o 07:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grzes508]]></name></author>
<updated>2013-07-11T23:10:39+01:00</updated>
<published>2013-07-11T23:10:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41418#p41418</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41418#p41418"/>
<title type="html"><![CDATA[Re: Problem z multipleksowaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3506&amp;p=41418#p41418"><![CDATA[
Zgaszone elementy nie świecą się, zdjęcie poprostu tak wyszło <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Podłączenie segmentów wyświetlacza do odpowiednich portów oraz bitów jest prawidłowe, sprawdzałem to wiele razy. Jeśli chodzi o tablice danych o segmentach to również jest napisana poprawnie. Co do tablicy cyfry[] to wydaje mi się że tam nie zmieniamy żadnych danych w momencie gdy zmieniamy porty pod które podłączamy wyświetlacz. Zmieniamy tylko definicje portów:<br /><br />[syntax=c]#define LED_DATA PORTA// port z podłączonymi segmentami<br />#defineLED_DATA_DIR   DDRA// rejestr kierunku portu katod wyświetlaczy<br />#define ANODY_PORT PORTD// port z podłączonymi anodami- 4 bity najmłodsze<br />#define ANODY_DIR DDRD// rejestr kierunku portu anod wyświetlaczy[/syntax]<br /><br />Ale poprawcie mnie jeśli się myle oraz gdy należy zmienić jeszcze coś.<br />Na dodatek gdy przestawiłem teraz definicje portów, ustawiając je w taki sam sposób jak są podane w książce. Czyli:<br /><br />[syntax=c]#define LED_DATA PORTC// port z podłączonymi segmentami<br />#defineLED_DATA_DIR   DDRC// rejestr kierunku portu katod wyświetlaczy<br />#define ANODY_PORT PORTA// port z podłączonymi anodami- 4 bity najmłodsze<br />#define ANODY_DIR DDRA// rejestr kierunku portu anod wyświetlaczy[/syntax]<br /><br />oraz rzecz jasna adekwatnie do definicji zmontowałem układ, to teraz mi żadne elementy na wyświetlaczu się nie zapalają.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1487">grzes508</a> — 11 lip 2013, o 23:10</p><hr />
]]></content>
</entry>
</feed>