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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-06-18T22:12:56+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=20885&amp;mode</id>
<entry>
<author><name><![CDATA[Lasota]]></name></author>
<updated>2018-06-18T22:12:56+01:00</updated>
<published>2018-06-18T22:12:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209060#p209060</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209060#p209060"/>
<title type="html"><![CDATA[Re: Brak pomysłu proszę o pomoc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209060#p209060"><![CDATA[
Chyba nie do konca sie zrozumieliśmy. Chcę otrzymać program którym będę mógł wyświetlać cyfrę na wyświetlaczu (2cyfry) z użyciem rejestru przesuwnego. Chcę wyświetlać 2 niezależne cyfry tak jak w kodzie1 lecz chcę to zrobić z użyciem rejestru przesuwnego<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19262">Lasota</a> — 18 cze 2018, o 22:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2018-06-18T20:59:30+01:00</updated>
<published>2018-06-18T20:59:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209055#p209055</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209055#p209055"/>
<title type="html"><![CDATA[Re: Brak pomysłu proszę o pomoc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209055#p209055"><![CDATA[
Oba programy wykorzystują do sterowania te same piny procesora (PB0 i PB1) więc przede wszystkim musisz pozmieniać te piny tak by oba kody wykorzystywały inne.<br />Teraz odnośnie &quot;scalenia&quot; to jeśli dobrze rozumiem to do rejestru chcesz wysyłać coś niezależnie od tego co wysyłasz na wyświetlacz?<br />Bo jeśli tak to sprawa prosta oczywiście najpierw porządek z pinami tak by każde urządzenia wykorzystywało inne piny, następnie zmienne &quot;i&quot; oraz &quot;zmienna&quot; z drugiego kodu doklejasz do pierwszego przed główną funkcję main, tuż pod zmienną cnt, następnie całą pętlę &quot;for&quot; z drugiego kodu wrzucasz do pierwszego przed pętlę while tuż po sei(); i tyle.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 18 cze 2018, o 20:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2018-06-18T11:40:52+01:00</updated>
<published>2018-06-18T11:40:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209027#p209027</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209027#p209027"/>
<title type="html"><![CDATA[Re: Brak pomysłu proszę o pomoc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209027#p209027"><![CDATA[
<!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 18 cze 2018, o 11:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2018-06-18T11:35:54+01:00</updated>
<published>2018-06-18T11:35:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209025#p209025</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209025#p209025"/>
<title type="html"><![CDATA[Re: Brak pomysłu proszę o pomoc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209025#p209025"><![CDATA[
Wklej porządnie kody, zgodnie z zasadami, bo teraz są nieczytelne.<br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 18 cze 2018, o 11:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lasota]]></name></author>
<updated>2018-06-18T12:03:13+01:00</updated>
<published>2018-06-18T10:35:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209023#p209023</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209023#p209023"/>
<title type="html"><![CDATA[Brak pomysłu proszę o pomoc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20885&amp;p=209023#p209023"><![CDATA[
W jaki sposób mogę połączyć te 2 programy? Dodam że robię to na atb 1.05 atmega 32, rejestr sn74hc164n(nie mogę użyć innego ponieważ chcę przerobić inny projekt. chcę by po wpisaniu wartości do rejestru zapalał się wyświetlacz segmentowy (2 cyfry) poniżej umieszczam kod1(multipleksowanie wyswietlacza) i kod2 obsługa rejestru. Oba kody działąją ale nie wiem w jaki sposób je połaczyć żeby otrzymać planowany efekt. KOD1[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br /><br />#define ANODA1 (1&lt;&lt;PB0)<br />#define ANODA2 (1&lt;&lt;PB1)<br /><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 />#define NIC 10<br /><br />// definicja tablicy zawierającej definicje bitowe cyfr LED<br />const uint8_t cyfry&#91;15&#93;  = {<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<br />};<br /><br />#define SEG_DATA PORTA<br />#defineLED_DATA_DIR DDRA<br />#define ANODY_PORT PORTB<br />#define ANODY_DIR DDRB<br />#define MASKA_ANODY (ANODA1|ANODA2)<br /><br />#define timer_start 100// POCZATKOWA WARTOSC TIMERA<br />volatile uint8_t cnt=1;//ZMIENNA UZYWANA W PRZERWANIU<br /><br /><br />int main(void){<br />//KONFIGURACJA WE/WYJ<br />ANODY_DIR |= ANODA1 |ANODA2;<br />ANODY_PORT |= ANODA1 |ANODA2;<br /><br />LED_DATA_DIR = 0xFF;<br />SEG_DATA = 0xFF;<br /><br /><br /><br /><br />//OBSŁUGA TIMERA<br /><br />TIMSK |= (1&lt;&lt;TOIE2) | (1&lt;&lt;OCIE2);//Przerwanie overflow (przepełnienie timera)<br />TCCR2 |= (1&lt;&lt;CS22) | (1&lt;&lt;CS21);//PRESKALER 256<br />TCNT2 = timer_start;<br />sei();<br />while(1) {}<br />}<br /><br />//PROCEDURA OBSLUGI PRZERWANIA<br />ISR(TIMER2_OVF_vect){<br />TCNT2 = timer_start;<br /><br />ANODY_PORT = (ANODY_PORT | MASKA_ANODY);// wygaszenie wszystkich wyświetlaczy<br /><br />if(cnt==1) {PORTB ^=(1&lt;&lt;ANODA1); PORTA = cyfry&#91;6&#93;;}<br />else if(cnt==2) {PORTB ^=(1&lt;&lt;ANODA2); PORTA = cyfry&#91;2&#93;;}<br /><br /><br />ANODY_PORT = (ANODY_PORT &amp; ~MASKA_ANODY) | (~cnt &amp; MASKA_ANODY);// cykliczne przełączanie kolejnej anody w każdym przerwaniu<br />cnt &lt;&lt;= 1;// PRZESUNIECIE BITU W LEWO<br />if (cnt&gt;2) cnt=1;<br />};[/syntax]<br /><br />KOD2<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />uint8_t i;<br />uint8_t zmienna;<br /><br />int main(void)<br />{<br />zmienna=0x3;<br />DDRB |= (1&lt;&lt;PB0) | (1&lt;&lt;PB1);//PB0 I PB1 JAKO WYJSCIA<br /><br />for(i=0; i&lt;8; i++) {<br />   if( zmienna &amp; 1){<br />PORTB |=(1&lt;&lt;PB0);//2 USTAW 1 DIODA NIE SWIECI<br />PORTB |=(1&lt;&lt;PB1);//3 ZEGAR ZBOCZE NARASTAJACE<br />PORTB ^=(1&lt;&lt;PB1);//4 ZEGAR ZBOCZE OPADAJACE<br />   }<br />   else{<br />PORTB &amp;=~ (1&lt;&lt;PB0);//2 USTAW 0 DIODA SWIECI<br />PORTB |=  (1&lt;&lt;PB1);//3 ZEGAR ZBOCZE NARASTAJACE<br />PORTB ^=  (1&lt;&lt;PB1);//4 ZEGAR ZBOCZE OPADAJACE<br />   }<br />   zmienna &gt;&gt;= 1;<br />}}<br />;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19262">Lasota</a> — 18 cze 2018, o 10:35</p><hr />
]]></content>
</entry>
</feed>