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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-05-06T12:35:53+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=17113&amp;mode</id>
<entry>
<author><name><![CDATA[wonsz]]></name></author>
<updated>2018-05-06T12:35:53+01:00</updated>
<published>2018-05-06T12:35:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207451#p207451</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207451#p207451"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207451#p207451"><![CDATA[
[syntax=c]#define PORT_ANT PORTD<br />#define PIN_ANT PIND<br />#define DDR_ANT DDRD<br />#define p_ANT PD3<br /><br /><br />PutToSerial(((PIN_ANT&amp;(1&lt;&lt;p_ANT)&gt;&gt;3))+0x30);[/syntax]<br /><br />Otrzymuję wieczne '1'<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2311">wonsz</a> — 6 maja 2018, o 12:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2018-04-27T10:08:17+01:00</updated>
<published>2018-04-27T10:08:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207206#p207206</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207206#p207206"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207206#p207206"><![CDATA[
Tak, tak, chodzi oczywiście o PIN portu. Kluczem jest &quot;wiszący&quot; pin czyli niepodciągnięte wejście.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 27 kwi 2018, o 10:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wonsz]]></name></author>
<updated>2018-04-27T09:54:11+01:00</updated>
<published>2018-04-27T09:54:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207204#p207204</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207204#p207204"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207204#p207204"><![CDATA[
Sprawdzę przy wolnej chwili, ale uważasz że napięcie na pinie (chyba chodziło Ci o pin a nie cały port) na tyle pływa?<br />Spójrz, że w logice TTL masz pewne zakresy co jest logicznym &quot;0&quot; , a co &quot;1&quot;, a tu w ADC używam ostatni bit z pomiaru co jest mniejszą wartością napięcia.<br />Zrobię testy i potwierdzę <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=2311">wonsz</a> — 27 kwi 2018, o 09:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2018-04-27T08:39:51+01:00</updated>
<published>2018-04-27T08:39:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207202#p207202</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207202#p207202"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207202#p207202"><![CDATA[
A próbowałeś generować liczbę z dowolnego portu ustawionego jako niepodciągnięte wejście? Efekt będzie podobny. Odczytuj w pętli (jej długość zależy od ilości potrzebnych losowych bitów) stan takiego portu zapisuj w zmiennej i przesuwaj wynik o jeden za każdym razem. Wg mnie rozwiązanie prostsze i szybsze niż ADC. Antenka wskazana <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=1922">SylwekK</a> — 27 kwi 2018, o 08:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wonsz]]></name></author>
<updated>2018-04-26T21:54:41+01:00</updated>
<published>2018-04-26T21:54:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207185#p207185</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207185#p207185"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=207185#p207185"><![CDATA[
Napisałem wszystko od nowa i działa, dziękuje za pomoc. <br />Przykład z terminala:<br /><a href="https://obrazkiforum.atnel.pl/2311/22ac6284246ea9dc7a9eeb8af81f3274.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/2311/22ac6284246ea9dc7a9eeb8af81f3274.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2311">wonsz</a> — 26 kwi 2018, o 21:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2017-02-07T12:12:15+01:00</updated>
<published>2017-02-07T12:12:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=181946#p181946</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=181946#p181946"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=181946#p181946"><![CDATA[
Witam<br /><div class="quotetitle">wonsz napisał(a):</div><div class="quotecontent"><br />Antena i &quot;przetaktowanie&quot; przetwornika nie zadziałało u mnie.<br /></div><br />A zmieniłeś w.g moich wskazań dot. tego że robisz pomiar a ustawiasz PINA jako wyjście?<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 7 lut 2017, o 12:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wonsz]]></name></author>
<updated>2017-02-07T12:00:20+01:00</updated>
<published>2017-02-07T12:00:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=181943#p181943</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=181943#p181943"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=181943#p181943"><![CDATA[
[syntax=c]if(losowa==1)<br />                        PORTA|=(1&lt;&lt;PA1);[/syntax]<br /><br />ten kawałek jest po to żeby sprawdzić czy kiedykolwiek w ogóle będzie jedynką, mimo zwarcia do GND.<br /><br />Antena i &quot;przetaktowanie&quot; przetwornika nie zadziałało u mnie. Możliwe, że aż tak mało elektromagnetycznie jest wokół mnie ? <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> <br /><br />Mam plan teraz żeby stworzyć jakiś układ ładujący i rozładowujący kondensator. Podobny do wibratorów astabilnych, gdzie stałe czasowe nie będą ani pod- ani nad- wielokrotnością zegara taktującego przetwornik.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2311">wonsz</a> — 7 lut 2017, o 12:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-12-24T15:08:27+01:00</updated>
<published>2016-12-24T15:08:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178184#p178184</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178184#p178184"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178184#p178184"><![CDATA[
Witam<br />Troszkę dziwna konstrukcja<br />Może nawiasy troszkę by to uporządkowały:<br />[syntax=c]int main(void)<br />{<br />        DDRA=0xff;<br />        while(1)<br />        {<br />                if(!(PINC&amp;(1&lt;&lt;PC0))){// debouncing<br />                        _delay_ms(80);<br />                        if(!(PINC&amp;(1&lt;&lt;PC0)))<br />                                losowanie();<br />                   }<br />                if(losowa==1)<br />                        PORTA|=(1&lt;&lt;PA1);<br />        }<br />}[/syntax]<br />[syntax=c]if(losowa==1)<br />               PORTA|=(1&lt;&lt;PA1);[/syntax]<br />a jeśli &quot;losowa&quot; nie 1 to co?<br /><br />[syntax=c]DDRA=0xff; // ustawiamy CAŁY PORTA jako WYJŚCIE a tam mamy pomiar ADC[/syntax]<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 24 gru 2016, o 15:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wonsz]]></name></author>
<updated>2016-12-24T12:04:44+01:00</updated>
<published>2016-12-24T12:04:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178164#p178164</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178164#p178164"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178164#p178164"><![CDATA[
Przepraszam, że tak długo ale próbowałem kilku rzeczy poza tym święta są. <br />Poprzerabiałem na takie coś jak widać niżej, problem w tym że wciąż nie udało mi się uzyskać tej losowej :-&lt; <br />Mam wrażenie, że to problem z ustawieniem ADC, ale przeorałem notę i nie mogę do tego dojść.<br /><br />Włożyłem przewód do stykówki i nic nie łapie z powietrza, nie chce mi się wierzyć że to możliwe...<br />Próbowałem również zmienić preskaler na taki, żeby się ADC nie wyrabiał, mimo to nie dostałem żadnej wartości z kapelusza.<br />Wieczne zero na ostatnim bicie ADCL'a...<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />volatile uint8_t losowa;<br />void losowanie(void);<br /><br />ISR(ADC_vect)<br />{<br />losowa=ADCL&amp;0x01;<br />ADCSRA&amp;=~(1&lt;&lt;ADEN); //wylacz przetwornik po wpisaniu ostatniego bitu &#91;1 pomiar&#93;<br />}<br />int main(void)<br />{<br />DDRA=0xff;<br />while(1)<br />{<br />if(!(PINC&amp;(1&lt;&lt;PC0)))// debouncing<br />_delay_ms(80);<br />if(!(PINC&amp;(1&lt;&lt;PC0)))<br />losowanie();<br />if(losowa==1)<br />PORTA|=(1&lt;&lt;PA1);<br />}<br />return 4; //heheh, because return 0 its too mainstream<br />}<br /><br />void losowanie(void)<br />{<br />ADMUX|=(1&lt;&lt;REFS0);  // avcc&#91;niepodłączony kondek na avcc a gnd-celowo&#93;<br />ADCSRA|=(1&lt;&lt;ADEN)|(1&lt;&lt;ADSC)|(1&lt;&lt;ADATE)|(1&lt;&lt;ADIE)|(1&lt;&lt;ADPS1)|(1&lt;&lt;ADPS2);<br />// wl. ADC/start konwersji/autotriger EN/interrupt execute EN/ presk 64  f_adc=8MHz/64=125kHz<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2311">wonsz</a> — 24 gru 2016, o 12:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[APAP75]]></name></author>
<updated>2016-12-21T11:50:11+01:00</updated>
<published>2016-12-21T11:50:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178031#p178031</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178031#p178031"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178031#p178031"><![CDATA[
Nie korzystałem z przerwań i flagę zerowałem ręcznie. Odczytywałem całe słowo ADCW, bo na  początku miałem trochę inną koncepcję, a potem już nie poprawiałem (bo skoro  działa). Najważniejsze - dopiero po  dolutowaniu kawałka kabelka (10 - 15 cm kynaru) no nóżki scalaka   wyniki  &quot;losowania&quot; były zadowalające - coś musi  w końcu te śmieci  zabierać.  <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=6195">APAP75</a> — 21 gru 2016, o 11:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-12-24T14:55:00+01:00</updated>
<published>2016-12-21T10:47:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178027#p178027</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178027#p178027"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178027#p178027"><![CDATA[
Witam<br />Ja losowanie liczby losowej  ( <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" /> ) zrealizowałem tak:<br />[syntax=c]ISR(ADC_vect)      <br />{<br />losowa =  (losowa&lt;&lt;1); //przesuń losowa o 1 bit w lewo<br />//odczytaj ADC, pozostaw tylko najmłodszy bit<br />losowa|= ADC &amp; 0x01;   <br /><br />}[/syntax]  <br />Aby uzyskać liczbę 8_bit musisz odczekać osiem pomiarów - to jest cena za na prawdę losową liczbę.<br />Odczytując więcej niż jeden bit całe losowanie nie będzie całkiem losowe.<br />No i tak jak pisał kol.<strong>wonsz</strong> kabelek do PIN_pomiar.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 21 gru 2016, o 10:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wonsz]]></name></author>
<updated>2016-12-21T08:13:49+01:00</updated>
<published>2016-12-21T08:13:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178024#p178024</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178024#p178024"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178024#p178024"><![CDATA[
Wieczorem spróbuję jeszcze kilka sztuczek i wkleję inicjalizacje timera. Może tam coś sknocilem. <br /><br />Wysłane z mojego GT-I9301I przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2311">wonsz</a> — 21 gru 2016, o 08:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2016-12-21T07:25:21+01:00</updated>
<published>2016-12-21T07:25:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178022#p178022</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178022#p178022"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178022#p178022"><![CDATA[
ADCW to rejestr ADCH i ADCL połączony w słowo żeby programista nie kłopotał się <br />odczytem po jednym bajcie z ADC<br />To takie ułatwienie w GCC<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 21 gru 2016, o 07:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wonsz]]></name></author>
<updated>2016-12-20T23:34:01+01:00</updated>
<published>2016-12-20T23:34:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178016#p178016</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178016#p178016"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178016#p178016"><![CDATA[
Na telefonie nie mogę się odnaleźć w tym kodzie nie formatuje syntaxow mi. W każdym razie wygląda w miarę podobnie, bo Ty sprawdzasz ta flagę a ja korzystam z przerwania w momencie gdy Adc zakończy konwersję co w ogólności daje chyba ten sam efekt. W każdym razie co to u Ciebie jest ADCW? NO ja na stykowce lecę, ale jakiś przewodzik można wpiąć jako antena <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /> <br /><br />Wysłane z mojego GT-I9301I przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2311">wonsz</a> — 20 gru 2016, o 23:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[APAP75]]></name></author>
<updated>2016-12-20T22:28:54+01:00</updated>
<published>2016-12-20T22:28:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178012#p178012</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178012#p178012"/>
<title type="html"><![CDATA[Re: Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178012#p178012"><![CDATA[
U mnie sprawdziło się coś takiego - potrzebowałem bajt losowy<br /><br />[syntax=c]uint8_t przetwornik_ACD(void)<br />{<br />uint8_t temp = 0; //zmienna pomocnicza<br />ADCSRA |= (1 &lt;&lt; ADEN); //ADC Enable<br />ADMUX |= (1 &lt;&lt; REFS0); // AVCC with external capacitor at AREF pin<br />ADMUX |= (1 &lt;&lt; MUX2) | (1 &lt;&lt; MUX1) | (1 &lt;&lt; MUX0); //ADC7<br />ADCSRA |= (1 &lt;&lt; ADPS2) | (1 &lt;&lt; ADPS1) | (1 &lt;&lt; ADPS0); //Division Factor 128<br /><br />for (uint8_t i = 0; i &lt; 8; i++)<br />{<br />ADCSRA |= (1 &lt;&lt; ADSC); //ADC Start Conversion<br /><br />while (!(ADCSRA &amp; (1 &lt;&lt; ADIF)))<br />; // czekamy na zakończenie pomiaru<br /><br />temp |= ((((uint8_t) ADCW) &amp; 0x01) &lt;&lt; i);<br /><br />ADCSRA |= (1 &lt;&lt; ADIF); // kasujemy flagę<br />}<br /><br />ADCSRA = 0x00; // wyłanczamy wszystko<br /><br />/*Tutaj testowałem sobie wylosowaną liczbę*/<br />/*Działa dobrze tylko z przewodem kilkucentymetrowym<br /> * przylutowanym do nóżku ACD7 - sama nóżka - nie za bardzo*/<br />//<br />//  for(uint8_t i=0; i&lt;8; i++)<br />//    {<br />//     if(temp &amp; (1&lt;&lt;i)) PWM_LED&#91;i&#93;=1;<br />//     else PWM_LED&#91;i&#93;=63;<br />//    }<br />//  while(1);<br /><br />return temp; //wynik pomiaru<br />}[/syntax]<br /><br />to &quot;zakomentarzowe&quot; to test wylosowanej liczby na diodach led (wstawiłem fragment ze swojego projektu, z większej całości). Wychodziło w miarę ok gdy do nóżki scalaka przylutowałem kilkucentymetrowy kabel - coś ala antena. Bez tego wynik był ciągiem samych zer lub samych jedynek (lub zer i jedynek w dwóch grupach, np: 11111000).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6195">APAP75</a> — 20 gru 2016, o 22:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wonsz]]></name></author>
<updated>2016-12-20T20:19:34+01:00</updated>
<published>2016-12-20T20:19:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178000#p178000</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178000#p178000"/>
<title type="html"><![CDATA[Generator sygnałów losowych z szumu ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17113&amp;p=178000#p178000"><![CDATA[
Witam,<br />Niesamowicie długo mnie tutaj nie było(zobaczyłem swój wątek i posty z przeszłości - ludzie miejcie litość dla młodocianych). Jeśli nieodpowiedni dział, proszę o reprymendę. Wracam znów z problemem. Chciałbym wygenerować sygnały losowe korzystając z szumu na ADC, a mianowicie korzystając z LSB w ADCL(ADLAR=0). Celowo nic nie podłączone pod ADC, aby z powietrza łapał zakłócenia. Pierwsze pytanie czy taki sposób jest odpowiedni ? Zastanawiałem się jeszcze nad napięciem na ładującym się kondensatorze tj.poziomie jego naładowania. W każdym razie  chciałbym w przerwaniu ADC wygenerować 8-bitową tablicę wartości losowych(po 2 bity na 1 i 2 zaświecenie i po 2 bity na 1 i 2 przerwę miedzy zaświeceniami), a następnie korzystając z przerwania Timer0 (tryb CTC) zaświecić diodą odpowiednio od wylosowanej wartości. Problemem jest to, że gdy wartości długości czasu świecenia wpisuję &quot;z ręki&quot; działa wszystko okej, ale gdy korzystam z szumu. Oba dwa zaświecenia mają stałą długość do tego o tej samej wartości. Resztę mam nadzieję uda odczytać się z listingu, jeśli nie postaram się najszybciej odpowiedzieć na dodatkowe pytania. Poprzedni debugging skończył się na braku sei(); <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":-D" title="Bardzo szczęśliwy" /><br />Proc:mega32<br />zegar:8MHz<br /><br />EDIT: w sumie tylko ta część mnie interesuje dlaczego wartości tablicy w rzeczywistości nie mają losowych wartości.<br />[syntax=c]volatile uint8_t losowa_tmp&#91;8&#93;;<br />volatile uint8_t syg1,syg2,break1,break2,krok=0,ilosc_losowan=0;<br />volatile uint16_t czas;[/syntax]<br /><br />[syntax=c]ISR(ADC_vect)<br />{<br />losowa_tmp&#91;ilosc_losowan&#93; = (ADCL &amp; 0x01);<br />ilosc_losowan++;<br />if(ilosc_losowan==8)<br />{<br /><br />syg1=2*losowa_tmp&#91;1&#93;*63+losowa_tmp&#91;0&#93;*63+63;<br />break1=2*losowa_tmp&#91;3&#93;*63+losowa_tmp&#91;2&#93;*63+63;<br />syg2=2*losowa_tmp&#91;5&#93;*63+losowa_tmp&#91;4&#93;*63+63;<br />break2=2*losowa_tmp&#91;7&#93;*63+losowa_tmp&#91;6&#93;*63+63;<br /><br />ilosc_losowan=0;<br />ADCSRA&amp;=~(1&lt;&lt;ADEN);<br /><br />}<br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2311">wonsz</a> — 20 gru 2016, o 20:19</p><hr />
]]></content>
</entry>
</feed>