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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-06-07T20:29:55+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=7336&amp;mode</id>
<entry>
<author><name><![CDATA[mac34]]></name></author>
<updated>2014-06-07T20:29:55+01:00</updated>
<published>2014-06-07T20:29:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83663#p83663</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83663#p83663"/>
<title type="html"><![CDATA[Re: efekty Led ,problem z zapisaniem Tablicy do flash]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83663#p83663"><![CDATA[
Racja zapamiętam. Choć ciekawi mnie czemu dopiero we flaschu to wyszło ,a w RAM działało i obeszło się bez końcowego 0<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3077">mac34</a> — 7 cze 2014, o 20:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mac34]]></name></author>
<updated>2014-06-07T19:59:00+01:00</updated>
<published>2014-06-07T19:59:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83655#p83655</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83655#p83655"/>
<title type="html"><![CDATA[Re: efekty Led ,problem z zapisaniem Tablicy do flash]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83655#p83655"><![CDATA[
Ruszyło ,ale jest jeszcze jeden błąd ,w kroku 4 zapalają się diody<br /><br />1 i 5 czyli PB.0 i PB.4<br /><br />,a powinien sam bit (dioda) PB.4 ,w tabeli w Ram jest poprawnie. (tylko ten flasch).<br /><br /><br />OK już sam na to wpadłem, pomogło:<br />[syntax=c]const uint8_t sekwencja&#91;&#93; PROGMEM = {1,2,4,8,16,32,64,128,0};[/syntax]<br /><br />,nie widział 0 na końcu tabeli ,dziwne. Myślałem ,że automatycznie zawsze dodaje.<br /><br />Dzięki za pomoc ,już działa ,pół dnia się męczyłem. Nie wiedziałem, że trzeba inaczej odczytać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3077">mac34</a> — 7 cze 2014, o 19:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2014-06-07T19:51:29+01:00</updated>
<published>2014-06-07T19:51:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83654#p83654</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83654#p83654"/>
<title type="html"><![CDATA[Re: efekty Led ,problem z zapisaniem Tablicy do flash]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83654#p83654"><![CDATA[
W mikrokontrolera AVR do odczytu z pamięci Flash albo EEPROM są specjalne funkcje. Spróbuj tak:<br />[syntax=c]PORTB = pgm_read_byte( &amp;sekwencja&#91;i&#93; );[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 7 cze 2014, o 19:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mac34]]></name></author>
<updated>2014-06-07T19:43:07+01:00</updated>
<published>2014-06-07T19:43:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83650#p83650</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83650#p83650"/>
<title type="html"><![CDATA[efekty Led ,problem z zapisaniem Tablicy do flash]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7336&amp;p=83650#p83650"><![CDATA[
Witam po poradniku z miganiem LED ,natchnęło mnie by tworzyć efekty LED na tabelach<br />Niestety mam problem z umieszczeniem jej w pamięci flasch ,w RAM tabela działa ,ale tylko w RAM.<br /><br />Kwarc ma trochę specyficzną wartość ,ale to dlatego ,że potem chcę rozbudować program w oparciu o<br />RS232 i wybieraniu efektu z terminala ,ale jak na razie utknąłem.<br /><br />[syntax=c]/<br /> <br />//Attiny2313 ,kwarc 3.6864MHz ,miganie z TimeaO ,obługa efektów z tablicy sekwencji<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br /><br /><br /><br /><br />const uint8_t sekwencja&#91;&#93; = {1,2,4,8,16,32,64,128};       //tablica sekwencji<br /><br />volatile uint8_t sekunda;<br />volatile uint8_t zezwol;<br /><br /><br />int main(void){<br /><br />DDRB = 0b11111111;                          //Port PB jako wyjcie<br />PORTB = 0b00000000;                         //Ledy do portu B zgaszone<br />    PORTD = 0b1111111;                          //podciągnięcie całego portu D<br /><br /><br />    uint8_t i;                                //zmienna do kroku w tablicy<br /><br />    sei();                                    //odblokowanie globalnych przerwań<br /><br />TCCR0B |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);            //preskaler 1024<br />TIMSK |= (1&lt;&lt;TOIE0);                        //zezwolenie na przerwanie z przepełniena timera ,tryb normal<br /><br />    sekunda=0;                                       //początkowa wartoć sekundy<br /><br />    i=0;<br />    zezwol=0;<br /><br /><br />    while(1){<br /><br />    if(zezwol==1){<br />i++;<br /><br />    if(i&gt;=9){<br />    i=0;<br />}<br /><br />    PORTB = sekwencja&#91;i&#93;;<br />    zezwol=0;<br /><br />    }<br /><br /><br /><br />}  //koniec while<br /><br />}  //koniec main<br /><br /><br /><br /><br /><br /><br />ISR(TIMER0_OVF_vect){                                //przerwanie<br />sekunda++;                                       // zwiększanie wartoci sekunda o 1 co przerwanie<br />if(sekunda==4){<br />    zezwol=1;<br />    sekunda=0;<br />}<br /><br />}[/syntax]<br /><br /><br />Nie umiem wrzucić tabeli ,po zmianie:<br />program się kompiluje poprawnie ,zwalnia się 8 bytów Ramu na podglądzie w consoli. Ale po wganiu już nie<br />chodzi program, poniżej linijka po zmianie (próbowałem wielu kombinacji)<br /><br />[syntax=c]const uint8_t sekwencja&#91;&#93; PROGMEM = {1,2,4,8,16,32,64,128};       //tablica sekwencji[/syntax]<br /><br />,próbowałem bez &quot;const&quot; i kilku innych kombinacji ,niestety nic<br />diody mrygają przypadkowo i program się posypał.<br /><br />Wcześniej nie miałem problemów z ładowaniem do pamięci tabel, np. linijka z innego projektu:<br />[syntax=c]const char tekst1&#91;&#93; PROGMEM = {&quot;Zdalne sterowanie: v1.0&quot;};[/syntax]<br />, tu wszystko działało. Choć używałem akurat char i służy do wyświetlania tekstu na terminalu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3077">mac34</a> — 7 cze 2014, o 19:43</p><hr />
]]></content>
</entry>
</feed>