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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-09-23T22:18:09+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=8616&amp;mode</id>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-09-23T22:18:09+01:00</updated>
<published>2014-09-23T22:18:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96524#p96524</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96524#p96524"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96524#p96524"><![CDATA[
Myślałem ,że ta komenda &quot; ADMUX |= (1&lt;&lt;ADLAR);// wyrównanie ADC do lewej&quot; załatwia co nie co, ale jak widać jestem jeszcze amatorem <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> i sporo jeszcze  przede mną . Tak naprawde to porywam się narazie z motyką na księżyc bo musze zrobić spory projekt przy niskiej wiedzy o programowaniu w dość krótkim czasie, ale dzięki wszystkim za pomoc, wszystko teraz działa jak należy <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br />A tak dla przyszłych amatorów oto co zrobiłem <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> :<br />-usunąłem tą linijke &quot;ADMUX |= (1&lt;&lt;ADLAR);// wyrównanie ADC do lewej&quot;<br />-na końcu zamiast &quot;ekg= ADCH&quot; wstawiłem &quot;ekg=ADCW&quot; <br />Mam nadzieje, że to już jest dobrze <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=3425">lucasenior</a> — 23 wrz 2014, o 22:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2014-09-23T21:57:17+01:00</updated>
<published>2014-09-23T21:57:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96523#p96523</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96523#p96523"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96523#p96523"><![CDATA[
Witam<br /><div class="quotetitle">lucasenior napisał(a):</div><div class="quotecontent"><br />// odczyt 8 bitów z ADCH<br /></div><br />Jeśli odczytujesz 8 bitów to jaką chcesz mieć maksymalną liczbę?<br />Tak jak pisał kol.<strong>Krauser</strong>( ze szklanej kuli, że przed podaniem kodu  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> ?) - Ciebie interesuje całe ADC.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 23 wrz 2014, o 21:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-09-23T21:37:44+01:00</updated>
<published>2014-09-23T21:37:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96518#p96518</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96518#p96518"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96518#p96518"><![CDATA[
Racja kicajek oto on <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><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 />#include &quot;MKUART/mkuart.h&quot;<br /><br /><br />#define LED_PIN (1&lt;&lt;PD7)<br />#define LED_TED PORTD^= LED_PIN<br /><br />#define PIN_PROCKA (1&lt;&lt;PD6)<br /><br />#define VREF_VCC (1&lt;&lt;REFS0)<br />#define VREF_256 (1&lt;&lt;REFS1)|(1&lt;&lt;REFS0)<br />#define VREF_128 (1&lt;&lt;REFS1)<br /><br />uint16_t volatile ekg;<br /><br />int main (void)<br />{<br />DDRD |= LED_PIN;// Ustawienie bitu LED jako wyjścia<br /><br /> DDRD &amp;= ~ PIN_PROCKA;   // pin D6 jako Wejście<br /> PORTD |= PIN_PROCKA; // podciągnięcie do vcc + rezystor<br /><br /><br />//----------------------------Inicjalizacja timera 1------------------------------<br /><br />TCCR1B |= (1 &lt;&lt; WGM12); // Ustawia timer w tryb CTC<br />OCR1A =  216; // Ustawienie przerwania na 200Hz<br />TCCR1B |= (1 &lt;&lt; CS12) ;//| (1 &lt;&lt; CS11)); // Ustawia timer z preskalerem Fcpu/256<br />TIMSK |= (1 &lt;&lt; OCIE1A); // Zezwolenie na przerwania dla CTC<br /><br />//----------------------------Inicjalizacja ADC------------------------------------<br />  ADCSRA |=(1&lt;&lt;ADEN);//włącz ADC<br />  ADMUX = 0;<br />  ADCSRA |=(1&lt;&lt;ADPS2)|(1&lt;&lt;ADPS1);//preskaler 64<br />  ADMUX |= (1&lt;&lt;ADLAR);// wyrównanie ADC do lewej<br />  ADMUX  |= VREF_256;// ustawiam wewnętrzne źródło odniesienia 2,56V<br /> // ADCSRA |= (1&lt;&lt;ADSC);<br />//---------------------------------------------------------------------------------<br />  USART_Init( __UBRR );//inicjalizacja UART<br /><br />  sei(); // Zezwolenie globalne na przerwania<br /><br />while(1)<br />{<br />if(!(PIND &amp; PIN_PROCKA))<br />{<br /><br />    uart_putint(ekg,10);<br />uart_putc('\r');// wyślij znak CR (enter)<br />uart_putc('\n');// wyślij znak LF (nowa linia)<br />_delay_ms(50);<br /> }<br /> else {<br />uart_puts(&quot;-&quot;);<br />uart_putint(ekg,10);<br />uart_putc('\r');// wyślij znak CR (enter)<br />uart_putc('\n');// wyślij znak LF (nowa linia)<br />_delay_ms(50);<br />}<br />}<br />}<br />ISR(TIMER1_COMPA_vect) {<br /><br />    LED_TED;<br /><br />ADCSRA |= (1&lt;&lt;ADSC);// pomiar<br />while( (ADCSRA &amp; (1&lt;&lt;ADSC)) );// oczekiwanie na koniec pomiaru<br /><br />ekg = ADCH;// odczyt 8 bitów z ADCH<br /><br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 23 wrz 2014, o 21:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2014-09-23T21:25:42+01:00</updated>
<published>2014-09-23T21:25:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96514#p96514</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96514#p96514"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96514#p96514"><![CDATA[
Odczytujesz tylko ADCH<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 23 wrz 2014, o 21:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2014-09-23T20:44:24+01:00</updated>
<published>2014-09-23T20:44:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96509#p96509</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96509#p96509"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96509#p96509"><![CDATA[
Witam<br /><div class="quotetitle">lucasenior napisał(a):</div><div class="quotecontent"><br />Mam już taki program i już to robiłem. Co dalej ? .........<br />.....Problem ewidentnie leży po stronie  konwersji adc, albo bufora cyklicznego,<br /></div><br />To może kolega poprawi 5 i 6 linię kodu  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .<br />Sory za sarkazm, ale na podstawie czego ktoś ma widzieć w którym miejscu jest błąd?<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 23 wrz 2014, o 20:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-09-23T20:32:31+01:00</updated>
<published>2014-09-23T20:32:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96508#p96508</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96508#p96508"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96508#p96508"><![CDATA[
Mam już taki program i już to robiłem. Co dalej ? <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />Problem ewidentnie leży po stronie  konwersji adc, albo bufora cyklicznego, a w ostateczności w przerwaniu, ale to już też sprawdzałem i działa prawidłowo, także zostają te dwie opcje...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 23 wrz 2014, o 20:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2014-09-23T20:14:13+01:00</updated>
<published>2014-09-23T20:14:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96505#p96505</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96505#p96505"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96505#p96505"><![CDATA[
Zgaduj zgadula gdzie złota kula...<br /><br />Najprościej napisz program który bez niczego (na żywca) wyrzuci na wyświetlacz to co zmierzy na ADC.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 23 wrz 2014, o 20:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-09-23T20:08:04+01:00</updated>
<published>2014-09-23T20:08:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96504#p96504</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96504#p96504"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96504#p96504"><![CDATA[
Dzielnik napięcia też jest dobrze dobrany to nie to <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Zresztą mam też drugi program, którym sprawdzałem również w takim samym podłączeniu i działa normalnie do ok. 1023<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 23 wrz 2014, o 20:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2014-09-23T19:57:53+01:00</updated>
<published>2014-09-23T19:57:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96503#p96503</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96503#p96503"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96503#p96503"><![CDATA[
Źle dobrany dzielnik napięcia?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 23 wrz 2014, o 19:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-09-23T19:37:10+01:00</updated>
<published>2014-09-23T19:37:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96496#p96496</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96496#p96496"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96496#p96496"><![CDATA[
Ok zastosowałem bufor cykliczny i dane pokazały się w terminalu, ale niestety kręcąc potencjometrem wartość adc dochodzi tylko do ok. 240 zamiast do ok. 1023, napięcie referencyjne jest ustawione dobrze. Czy ktoś wie co to może być ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 23 wrz 2014, o 19:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-09-23T16:14:18+01:00</updated>
<published>2014-09-23T16:14:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96467#p96467</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96467#p96467"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96467#p96467"><![CDATA[
A jeśli mam bez bufora cyklicznego ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 23 wrz 2014, o 16:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[charsz]]></name></author>
<updated>2014-09-23T16:08:51+01:00</updated>
<published>2014-09-23T16:08:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96465#p96465</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96465#p96465"/>
<title type="html"><![CDATA[Re: Jak utworzyć bufor w przerwaniu od timera na potrzeby AD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96465#p96465"><![CDATA[
to zalezy jak masz uart zrobiony, jak z buforem cyklicznym to po prostu robiac uart_putlong w przerwaniu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=926">charsz</a> — 23 wrz 2014, o 16:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-09-23T16:01:32+01:00</updated>
<published>2014-09-23T16:01:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96463#p96463</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96463#p96463"/>
<title type="html"><![CDATA[Jak utworzyć bufor w przerwaniu od timera na potrzeby ADC ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8616&amp;p=96463#p96463"><![CDATA[
Problem polega na tym, że nie wiem jak najprościej zapisać wartość adc w przerwaniu od timera do bufora i później tą wartość odczytać z bufora i przesłać przez UART-a za pomocą polecenia &quot;uart_putlong&quot; bez żadnych opóźnień przy częstotliwości przerwania 200Hz(a najlepiej uniwersalny przy każdej). Przerwanie to już udało mi się ustawić używając trybu CTC, natomiast nie wiem jak sobie poradzić z tym buforem. Proszę o pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 23 wrz 2014, o 16:01</p><hr />
]]></content>
</entry>
</feed>