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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-04-22T09:23:38+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=20628&amp;mode</id>
<entry>
<author><name><![CDATA[Bartek123]]></name></author>
<updated>2018-04-22T09:23:38+01:00</updated>
<published>2018-04-22T09:23:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207033#p207033</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207033#p207033"/>
<title type="html"><![CDATA[Re: Jak połączyć dwa porty wyjściowe w jeden większy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207033#p207033"><![CDATA[
Ja to bym zrobił w ten sposób . Chce port 16 bitowy to robię zmienną. A potem funkcję która ma argument 16 bitowy w tym przypadku i w niej wysteruje porty poprzez przesunięcia bitowe. Jak chcesz zrobić coś na tym sztucznym 16 bitowym porcie to modyfikujesz tylko zawartość zmiennej giantPort, a potem odpowiednie wywołanie funkcji. Masz kod, przeanalizuj go, etc Nie jestem w stanie sprawdzić na żywym organizmie czy działa, ale powinno być w porządku. Podobnie można zrobić dla dowolnej liczby portów jak i ich kolejności itd, wystarczy pokombinować.  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />[syntax=c]uint16_t giantPort = 0;<br /><br />for(uint8_t i = 1; i&lt;16; i++)<br />{<br />    giantPort = (1&lt;&lt;i);<br />    SterPortWithMemory(giantPort);<br />  _delay_ms(100);<br />}<br /><br />void SterPortWithMemory(uint16_t port)<br />{<br />      PORTD = (uint8_t)port;<br />     PORTC = (uint8_t)(port&gt;&gt;8);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10617">Bartek123</a> — 22 kwi 2018, o 09:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2018-04-22T08:19:22+01:00</updated>
<published>2018-04-21T20:24:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207025#p207025</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207025#p207025"/>
<title type="html"><![CDATA[Re: Jak połączyć dwa porty wyjściowe w jeden większy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207025#p207025"><![CDATA[
[syntax=c]int main (void){<br /><br />DDRC = 0xff;  // ustawienie całego portu C jako wyj. przez wpisanie do rejestru portu jedynek<br />PORTC = 0xff; // ustawiamy wyjścia  całego portu C w stan jeden<br />DDRD = 0xff;  // ustawienie całego portu D jako wyj. przez wpisanie do rejestru portu jedynek<br />PORTD = 0xff; // ustawiamy wyjścia  całego portu D w stan jeden<br /><br /><br /><br /><br />//sei();  //odblokowanie globalnych przerwan<br /><br />while(1)<br /><br />// ***************************** STEROWANIE PORTEM D *********************************************** <br /> for (uint8_t i=0;i&lt;8;i++){<br />     // for (int8_t i=8;i&gt;-1;i--){<br />                                                                                        <br />         PORTD &amp;= ~(1&lt;&lt;i); // PD0 = 0 , PD1 = 1 , PD2 = 2 .. <br />// PORTD |= (1&lt;&lt;i); // PD0 = 0 , PD1 = 1 , PD2 = 2 ..    <br /><br />      _delay_ms(300);<br /> }<br />     }<br />//****************************************************************************************************[/syntax]<br /><br />Tak tylko że to są dwa różne porty cz w takim razie cztero bajtowe słowo wysteruje mi dwa odzielne porty<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 21 kwi 2018, o 20:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-04-21T19:51:31+01:00</updated>
<published>2018-04-21T19:51:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207024#p207024</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207024#p207024"/>
<title type="html"><![CDATA[Re: Jak połączyć dwa porty wyjściowe w jeden większy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207024#p207024"><![CDATA[
<div class="quotetitle">miki53 napisał(a):</div><div class="quotecontent"><br />Mianowicie mam zrobione mały projekcik na ATmedze8 która ma sterować<br />linijką led wykorzystując cały port D<br /></div><br />to może pokaż najpierw jak masz to zrobione ...<br /><br /><div class="quotetitle">miki53 napisał(a):</div><div class="quotecontent"><br />Teraz jak połączyć programowo port D z portem C<br /></div><br />programowo łączyć porty ? a co to znaczy ?<br /><br />Programowo sterować pinami dwóch albo i więcej portów ... tak do tego podejdź a nie na zasadzie jakiegoś łączenia portów <br /><br />skoro sterujesz pinami jednego portu to ustawiasz 8-bitów czyli jeden bajt - co za problem zmieniać bity w 2 bajtach, w 3 bajtach albo i jeszcze w większej ilości ? a potem zawartość tych bajtów zapisać do kolejnych portów<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 kwi 2018, o 19:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2018-04-21T19:37:07+01:00</updated>
<published>2018-04-21T19:37:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207023#p207023</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207023#p207023"/>
<title type="html"><![CDATA[Jak połączyć dwa porty wyjściowe w jeden większy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20628&amp;p=207023#p207023"><![CDATA[
Witam wszystkich<br />Mam prośbę, potrzebuję waszej pomocy <br />Mianowicie mam zrobione mały projekcik na ATmedze8 która ma sterować<br />linijką led wykorzystując cały port D , ale zostało mi jeszcze wolnych 6 pinów<br />portu C , bez pinu PC6 (RESET) ma zostać bez zmian, te piny chcę wykorzystać <br />i przedłużyć linijkę led <br /><br />Teraz jak połączyć programowo port D z portem C ATmegi8 aby pracował jako jeden większy port<br />prosiłbym o jakieś przykłady które mógłbym wykorzystać<br /> <br />Tak na marginesie<br />myślę że nie tylko mi przyda to się ale innym też<br />np. gdyby w taki sposób połączyć porty Atmegi 32 <br />To byłaby fajna linijka lub wskażnik wysterowania na jednym scalaku<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 21 kwi 2018, o 19:37</p><hr />
]]></content>
</entry>
</feed>