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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-12-10T13:14:11+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=15&amp;t=17028&amp;mode</id>
<entry>
<author><name><![CDATA[RybaSG]]></name></author>
<updated>2016-12-10T13:14:11+01:00</updated>
<published>2016-12-10T13:14:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177018#p177018</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177018#p177018"/>
<title type="html"><![CDATA[Re: Wyświetlacz 7-SEG]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177018#p177018"><![CDATA[
Ahh... dziękuję bardzo <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=15776">RybaSG</a> — 10 gru 2016, o 13:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Papix95]]></name></author>
<updated>2016-12-10T13:06:40+01:00</updated>
<published>2016-12-10T13:06:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177017#p177017</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177017#p177017"/>
<title type="html"><![CDATA[Re: Wyświetlacz 7-SEG]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177017#p177017"><![CDATA[
Jeden mały błąd, a tyle może namieszać. Jak to ktoś kiedyś powiedział &quot;Być albo nie być? Oto jest pytanie&quot;, a wersja dla elektronika powinna brzmieć &quot;0 albo 1? Oto jest pytanie&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Zobacz, że w obsłudze przerwania, licznik po przekroczeniu wartości 8, idzie na &quot;pozycję&quot; 0, a powinien od nowa wskoczyć na 1. No i nie zapomnij o dodaniu pętli głównej programu <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=551">Papix95</a> — 10 gru 2016, o 13:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-12-10T12:10:50+01:00</updated>
<published>2016-12-10T12:10:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177012#p177012</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177012#p177012"/>
<title type="html"><![CDATA[Re: Wyświetlacz 7-SEG]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177012#p177012"><![CDATA[
to może by tak najpierw sprawdzić kod z Bluebooka ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 10 gru 2016, o 12:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RybaSG]]></name></author>
<updated>2016-12-10T12:20:20+01:00</updated>
<published>2016-12-10T12:04:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177011#p177011</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177011#p177011"/>
<title type="html"><![CDATA[Wyświetlacz 7-SEG]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17028&amp;p=177011#p177011"><![CDATA[
Cześć !<br />Mianowicie problem jest taki, że nie wyświetlają mi się cyfry, które podaję w mainie. Podejrzewam, że problem jest natury programistycznej, podłączenia są raczej poprawne. Kod jest niemal identyczny jak ten z bluebooka. <br />Z góry dziękuję za pomoc ! <br />Pozdrawiam<br /><br />[syntax=c]/*<br /> * main.c<br /><br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;7_SEG.h&quot;<br /><br /><br />int main ( void )<br />{<br /><br />LED_INIT();<br /><br />//ANODY_PORT &amp;= ~(DIG1|DIG2|DIG3|DIG4);<br />//SEGMENTY_PORT &amp;= ~(A|B|C|D|E|F|G|dot);<br /><br />cyfra1 = 5;<br />cyfra2 = 3;<br />cyfra3 = 1;<br />cyfra4 = 2;<br /><br /><br /><br />sei();<br /><br />}[/syntax]<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;7_SEG.h&quot; // dołączenie pliku nagłówkowego .h<br />#include &lt;avr/pgmspace.h&gt;<br /><br />const uint8_t znaki&#91;20&#93; PROGMEM =<br />{<br /> ~(A|B|C|D|E|F), // 0<br /> ~(B|C), // 1<br /> ~(A|B|G|D|E), //2<br /> ~(A|B|C|D|G), // 3<br /> ~(F|G|B|C), // 4<br /> ~(A|F|G|C|D), // 5<br /> ~(A|F|E|D|C|G), // 6<br /> ~(A|B|C), // 7<br /> ~(A|B|C|D|E|F|G), // 8<br /> ~(A|B|C|D|F|G), // 9<br /> NIC, // pusty znak<br />};<br /><br />volatile uint8_t cyfra1;<br />volatile uint8_t cyfra2;<br />volatile uint8_t cyfra3;<br />volatile uint8_t cyfra4;<br /><br />void LED_INIT(void)<br />{<br />ANODY_KIERUNEK |= (DIG1 | DIG2 | DIG3 | DIG4); // wyświetlacze jako wyjścia<br />SEGMENTY_KIERUNEK = 0xFF; // segmenty jako wyjścia<br />ANODY_PORT |=  (DIG1 | DIG2 | DIG3 | DIG4); // wygaszenie wyświetlaczy<br />SEGMENTY_PORT = 0xFF; // wygaszenie segmentów<br /><br />/*     tablica znaków wyświetlanych na 7-SEG     */<br /><br />/* Ustawienie TIMER0 */<br />TCCR0 |= (1&lt;&lt;WGM01); // CTC<br />TCCR0 |= (1&lt;&lt;CS02) | (1&lt;&lt;CS00); // preskaler 1024<br />OCR0 = 38; // dodatkowy podział przez 38 ( 39-1)<br />TIMSK |= (1&lt;&lt;OCIE0); // zezwolenie na przerwania compare match<br />}<br /><br />ISR(TIMER0_COMP_vect)<br />{<br />static uint8_t licznik = 1;<br /><br />ANODY_PORT = (ANODY_PORT | MASKA_ANODY);<br /><br />if (licznik == 1) SEGMENTY_PORT = pgm_read_byte(&amp;znaki&#91;cyfra1&#93;);<br />else if (licznik == 2) SEGMENTY_PORT = pgm_read_byte(&amp;znaki&#91;cyfra2&#93;);<br />else if (licznik == 4) SEGMENTY_PORT = pgm_read_byte(&amp;znaki&#91;cyfra3&#93;);<br />else if (licznik == 8) SEGMENTY_PORT = pgm_read_byte(&amp;znaki&#91;cyfra4&#93;);<br /><br />ANODY_PORT = (ANODY_PORT &amp; ~MASKA_ANODY) | (~licznik &amp; MASKA_ANODY);<br /><br />licznik &lt;&lt;= 1; // przesuniecie zmiennej licznik o 1 w lewo<br />if(licznik &gt; 8 ) licznik = 0;<br />}[/syntax]<br /><br />[syntax=c]#ifndef _7_SEG_H<br />#define _7_SEG_H<br /><br />/*     Porty anod wyświetlaczy     */<br />#define DIG1 (1&lt;&lt;PC0)<br />#define DIG2 (1&lt;&lt;PC1)<br />#define DIG3 (1&lt;&lt;PC2)<br />#define DIG4 (1&lt;&lt;PC3)<br /><br />#define MASKA_ANODY (DIG1|DIG2|DIG3|DIG4) // maska<br /><br />/*     Porty anod segmentów     */<br />#define A (1&lt;&lt;0)<br />#define B (1&lt;&lt;1)<br />#define C (1&lt;&lt;2)<br />#define D (1&lt;&lt;3)<br />#define E (1&lt;&lt;4)<br />#define F (1&lt;&lt;5)<br />#define G (1&lt;&lt;6)<br />#define dot (1&lt;&lt;7)<br />#define NIC 0xFF<br /><br />#define ANODY_PORT PORTC<br />#define SEGMENTY_PORT PORTA<br /><br />#define ANODY_KIERUNEK DDRC<br />#define SEGMENTY_KIERUNEK DDRA<br /><br />/* Zmienne przechowujące wyświetlane liczby */<br />extern volatile uint8_t cyfra1;<br />extern volatile uint8_t cyfra2;<br />extern volatile uint8_t cyfra3;<br />extern volatile uint8_t cyfra4;<br /><br />void LED_INIT(void);<br /><br />#endif /* 7_SEG_H_ */[/syntax]<br /><br /><br /><span style="color: #FF0000">[ obrazki umieszczamy z miniaturkami - zgodnie z instrukcją: <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic44.html" >topic44.html</a><!-- l --> - mirekk36 ]</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15776">RybaSG</a> — 10 gru 2016, o 12:04</p><hr />
]]></content>
</entry>
</feed>