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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2020-06-01T14:47:31+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23169&amp;mode</id>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2020-06-01T14:47:31+01:00</updated>
<published>2020-06-01T14:47:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227674#p227674</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227674#p227674"/>
<title type="html"><![CDATA[Re: Wąż świetlny linijka LED na 16 pinów ATMEGA32]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227674#p227674"><![CDATA[
16-bitowa tablica z efektami (czyli dane odpowiedzialne za świecenie diod) to jedna rzecz, druga sprawa to proste rozbicie tej pobranej 16b danej i podzielenie jej na dwa bajty, z wykorzystaniem przesunięć bitowych i te dwa bajty w każdym kroku pętli kierujemy na porty B i D. To tylko jeden ze sposobów, bo można to też zrobić zupełnie inaczej jeśli miała by być to tylko biegnąca linijka <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=1922">SylwekK</a> — 1 cze 2020, o 14:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[dioda2000]]></name></author>
<updated>2020-06-01T09:15:38+01:00</updated>
<published>2020-06-01T09:15:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227672#p227672</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227672#p227672"/>
<title type="html"><![CDATA[Re: Wąż świetlny linijka LED na 16 pinów ATMEGA32]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227672#p227672"><![CDATA[
Super bardzo dziękuje kolego fofex za podpowiedź jakbym mógł poprosić o komentarze do linijek w pętli loop abym mógł zrozumieć działanie programu.<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21494">dioda2000</a> — 1 cze 2020, o 09:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fofex]]></name></author>
<updated>2020-06-01T06:50:15+01:00</updated>
<published>2020-06-01T06:50:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227671#p227671</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227671#p227671"/>
<title type="html"><![CDATA[Re: Wąż świetlny linijka LED na 16 pinów ATMEGA32]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227671#p227671"><![CDATA[
[syntax=c]static int8_t direction = 1;<br />static int8_t index;<br />static const __flash uint16_t tab&#91;&#93; = {<br />0b1111111111111110,<br />0b1111111111111100,<br />0b1111111111111000,<br />0b1111111111110000,<br />0b1111111111100000,<br />0b1111111111000000,<br />0b1111111110000000,<br />0b1111111100000000,<br />0b1111111000000001,<br />0b1111110000000011,<br />0b1111100000000111,<br />0b1111000000001111,<br />0b1110000000011111,<br />0b1100000000111111,<br />0b1000000001111111,<br />0b0000000111111111,<br />0b0000001111111111,<br />0b0000011111111111,<br />0b0000111111111111,<br />0b0001111111111111,<br />0b0011111111111111,<br />0b0111111111111111,<br />0b1111111111111111,<br />}<br /><br />void loop() <br />{<br />    <br />    PORTB = (uint8_t)tab&#91;index&#93;;<br />    PORTD = (uint8_t)(tab&#91;index&#93;&gt;&gt;8);<br />    index += direction;<br />    if(index == sizeof(tab)-1 || index == 0) {<br />        direction *= -1;<br />    }<br />    <br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21072">fofex</a> — 1 cze 2020, o 06:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tprzemko]]></name></author>
<updated>2020-06-01T04:47:02+01:00</updated>
<published>2020-06-01T04:47:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227670#p227670</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227670#p227670"/>
<title type="html"><![CDATA[Re: Wąż świetlny linijka LED na 16 pinów ATMEGA32]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227670#p227670"><![CDATA[
Witam<br />Najprościej będzie jeszcze dorobić tablicę dla potu D i w okolicach miejsca<br /><br />[syntax=c]PORTB = pgm_read_byte ( tab +i ) ;[/syntax]<br /><br />dodać jeszcze <br /><br /> [syntax=c]PORTD = pgm_read_byte ( tab_d +i ) ;[/syntax]<br /><br />nie zapominając wcześniej o konfiguracji portu d<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4743">tprzemko</a> — 1 cze 2020, o 04:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[dioda2000]]></name></author>
<updated>2020-05-31T21:20:45+01:00</updated>
<published>2020-05-31T21:20:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227668#p227668</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227668#p227668"/>
<title type="html"><![CDATA[Wąż świetlny linijka LED na 16 pinów ATMEGA32]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23169&amp;p=227668#p227668"><![CDATA[
Witam serdecznie wszystkich forumowiczów, zaczynam swoją zabawę z AVR oraz zestawem ATB 1.04a i pomału próbuję się przesiąść z platformy ARDUINO na czysty C i mam może banalne pytanie ale nie mogę sobie poradzić z prostym kodem zapalania diod korzystając z tablicy, otóż wszystko działa pięknie na 8 ledach czyli wpiętych do portu Bxx ATMEGA32 zrobiłem taki prosty efekt linijki (WĄŻ ŚWIETLNY) i wszystko ok natomiast chciałbym podłączyć kolejne diody np. do portu Dxx czyli razem 16 i za nic nie mogę sobie poradzić aby ten wężyk przechodził z portu Bxx do Dxx tak aby porty Bxx i Dxx tworzyły całość, proszę o pomoc. Poniżej znajduje się kod na 8 led jeszcze dla arduino.<br />Pozdrawiam <br /><br />#include &lt;avr/pgmspace.h&gt;<br />const byte przerwa = 100;<br />const byte przerwa2 = 50;<br />byte animacja = 0;<br />uint8_t i, liczba=1;<br />const uint8_t  tab[] PROGMEM = {<br />  0b11111110, <br />  0b11111100, <br />  0b11111000, <br />  0b11110000, <br />  0b11100000,<br />  0b11000000, <br />  0b10000000, <br />  0b00000000,<br />  0b00000001, <br />  0b00000011, <br />  0b00000111,<br />  0b00001111,<br />  0b00011111, <br />  0b00111111,<br />  0b01111111,<br />  0b11111111,<br />  0b01111111,<br />  0b00111111,<br />  0b00011111,<br />  0b00001111,<br />  0b00000111,<br />  0b00000011,<br />  0b00000001,<br />  0b00000000,<br />  0b10000000,<br />  0b11000000,<br />  0b11100000,<br />  0b11110000,<br />  0b11111000,<br />  0b11111100,<br />  0b11111110,<br />  0b11111111<br />  };<br />  const uint8_t  tab2[] PROGMEM = {<br />  0b11111110, <br />  0b11111100, <br />  0b11111000, <br />  0b11110000, <br />  0b11100000,<br />  0b11000000, <br />  0b10000000, <br />  0b00000000,<br />  0b00000001, <br />  0b00000011, <br />  0b00000111,<br />  0b00001111,<br />  0b00011111, <br />  0b00111111,<br />  0b01111111,<br />  0b11111111,<br />    <br />  };<br />  unsigned long przejscie = millis();<br />  unsigned long timer = millis();<br />void setup() {<br /> DDRB = 0b11111111;<br /> PORTB |= (0b00000000);<br /><br />}<br /><br />void loop() {<br />  if ((millis()-przejscie&gt;5000)){<br />    animacja = 1;<br />    if((millis()-przejscie&gt;10000)){<br />    przejscie = millis();<br />    animacja = 0;<br />  }}<br />  switch(animacja){<br />    case 0:<br /> if ((millis()-timer&gt;przerwa)){<br />  PORTB =  pgm_read_byte ( tab +i ) ;<br />  i++;<br />  timer = millis();<br />  switch(i){<br />    case 32:<br />    i=0;<br />  }<br />    break;<br />    case 1:<br />    if ((millis()-timer&gt;przerwa2)){<br />  PORTB =  pgm_read_byte ( tab2 +i ) ;<br />  i++;<br />  timer = millis();<br />  switch(i){<br />    case 32:<br />    i=0;<br />    break;<br />  }<br /> }<br />  }<br />  }<br />}<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21494">dioda2000</a> — 31 maja 2020, o 21:20</p><hr />
]]></content>
</entry>
</feed>