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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=5371&amp;mode</id>
<entry>
<author><name><![CDATA[takten]]></name></author>
<updated>2014-01-01T22:47:18+01:00</updated>
<published>2014-01-01T22:47:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63283#p63283</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63283#p63283"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63283#p63283"><![CDATA[
dobra, dzięki panowie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2240">takten</a> — 1 sty 2014, o 22:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[IUVOit]]></name></author>
<updated>2014-01-01T22:22:08+01:00</updated>
<published>2014-01-01T22:22:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63273#p63273</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63273#p63273"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63273#p63273"><![CDATA[
No faktycznie w linku niżej zjadło mu się ADC <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=94">IUVOit</a> — 1 sty 2014, o 22:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2014-01-01T22:14:56+01:00</updated>
<published>2014-01-01T22:14:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63272#p63272</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63272#p63272"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63272#p63272"><![CDATA[
O sorry nie zauważyłem<br />Chyba po tym Sylwku jestem jeszcze zamroczony <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Edit:<br /><br />ale zobacz po zastosowaniu itoa w listingu z postu niżej<br />już nie podstawia <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=1044">Zaba</a> — 1 sty 2014, o 22:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[IUVOit]]></name></author>
<updated>2014-01-01T21:59:20+01:00</updated>
<published>2014-01-01T21:59:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63269#p63269</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63269#p63269"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63269#p63269"><![CDATA[
W pętli while() podstawia???<br /><br />adc = ADC*VREF/1024;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=94">IUVOit</a> — 1 sty 2014, o 21:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2014-01-01T21:50:12+01:00</updated>
<published>2014-01-01T21:50:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63264#p63264</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63264#p63264"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63264#p63264"><![CDATA[
Witam<br /><br />Nawet teraz jak poprawnie prześlesz zmienną adc to<br />i tak wynikiem będzie zero  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Ponieważ nigdzie do niej nie <br />podstawiasz wartości rejestru ADC lub (ADCW)<br />i nie zapomnij o przeliczeniu ADC wartość pomiaru<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 1 sty 2014, o 21:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[IUVOit]]></name></author>
<updated>2014-01-01T21:46:10+01:00</updated>
<published>2014-01-01T21:46:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63261#p63261</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63261#p63261"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63261#p63261"><![CDATA[
Zakłądając, że wynikiem pomiaru byłą by zawsze liczba 3 cyfrowa to można by to było zrobić w taki sposób;<br />[syntax=c]itoa(adc, wynik, 10); //utworzenie tablicy C-string wynik<br />  transmit(wynik&#91;0&#93;);   //wysłanie 1 znaku na UART (cyfra jednostek)<br />  transmit(wynik&#91;1&#93;);   //wysłanie 2 znaku na UART (cyfra dziesiątek)<br />  transmit(wynik&#91;2&#93;);   //wysłanie 3 znaku na UART (cyfra setek)[/syntax] <br /><br />Chodziło mi aby krok po kroku wytłumaczyć <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: 1 minucie ]</span></strong><br /><br />Ale jak już kolega <strong>kurnachatka</strong> podał gotowe funkcje wysłania zmiennej typu int na UART, więc chyba problem rozwiązany <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=94">IUVOit</a> — 1 sty 2014, o 21:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[banita 17]]></name></author>
<updated>2014-01-01T21:34:15+01:00</updated>
<published>2014-01-01T21:34:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63254#p63254</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63254#p63254"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63254#p63254"><![CDATA[
Chciałem, żeby zwrócił uwagę na to co on przekazuje do funkcji transmit(). Po wykorzystaniu funkcji itoa wciąż przekazuje zmiena &quot;adc&quot; która jest 16 bitowa. To, że powstaje tablica znaków to już kolejna sprawa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=279">banita 17</a> — 1 sty 2014, o 21:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[IUVOit]]></name></author>
<updated>2014-01-01T21:23:55+01:00</updated>
<published>2014-01-01T21:23:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63251#p63251</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63251#p63251"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63251#p63251"><![CDATA[
Do funkcji  void transmit(unsigned char data) jest przekazywany znak char. Wynikiem funkcji itoa jest łańcuch C-string czyli tablica char. Czyli do funkcji void transmit(unsigned char data) mają być przekazane kolejne komórki tablicy.<br /><br />Funkcje podane przez kolegę <strong>kurnachatka</strong> właśnie w taki sposób działają.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />Odwołując się do linku, który podałeś to zobacz co jest wynikiem funkcji itoa -&gt;  char b[ 32 ];<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=94">IUVOit</a> — 1 sty 2014, o 21:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[banita 17]]></name></author>
<updated>2014-01-01T21:13:41+01:00</updated>
<published>2014-01-01T21:13:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63249#p63249</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63249#p63249"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63249#p63249"><![CDATA[
<a href="http://cpp0x.pl/dokumentacja/standard-C/itoa/316"  class="postlink">http://cpp0x.pl/dokumentacja/standard-C/itoa/316</a><br /><br />Odwołując się do linku powyżej, gdzie jest zmienna &quot;wynik&quot; ? i to chyba ona powinna zostać wysłana. A do tego zwróć uwagę na to, że do funkcji void transmit(unsigned char data) przekazywać powinno się zmienna jednobajtową, a Ty co tam przekazujesz?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=279">banita 17</a> — 1 sty 2014, o 21:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[IUVOit]]></name></author>
<updated>2014-01-01T21:13:08+01:00</updated>
<published>2014-01-01T21:13:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63248#p63248</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63248#p63248"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63248#p63248"><![CDATA[
Idea jest taka:<br />1. Masz np liczbę <br />   a=9634<br /><br />2. Zamieniasz ja na C-String. <br />   a_string=[9][6][3][4][/0]<br /><br />3. Wysyłasz<br />   transmit( a_string[0]);   // wysyłąsz znak '9'<br />   transmit( a_string[1]);   // wysyłasz znak '6'<br />   transmit( a_string[2]);   // wysyłasz znak '3'<br />   transmit( a_string[3]);   // wysyłąsz znak '4'<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=94">IUVOit</a> — 1 sty 2014, o 21:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurnachatka]]></name></author>
<updated>2014-01-01T21:09:10+01:00</updated>
<published>2014-01-01T21:09:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63246#p63246</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63246#p63246"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63246#p63246"><![CDATA[
Musisz zastosować np. taką funkcję<br />[syntax=c]void uart_putint( uint16_t liczba, uint8_t radix ) {<br />char buf&#91;10&#93;;<br />itoa( liczba, buf, radix );<br />uart_puts( buf );<br />}[/syntax]<br /><br />a cały kod znajdziesz w poradniku o adc<br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2013/07/przetwornik-adc-w-avr-czesc-05.html" >http://mirekk36.blogspot.com/2013/07/pr ... sc-05.html</a><!-- m --><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br />[syntax=c]void uart_putc( char data ) {<br />/* Wait for empty transmit buffer */<br />while ( !( UCSRA &amp; (1&lt;&lt;UDRE)) );<br />/* Put data into buffer, sends the data */<br />UDR = data;<br />}<br /><br /><br />void uart_puts( char * s ) {<br />while( *s ) uart_putc( *s++ );<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=930">kurnachatka</a> — 1 sty 2014, o 21:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[takten]]></name></author>
<updated>2014-01-01T20:53:29+01:00</updated>
<published>2014-01-01T20:53:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63245#p63245</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63245#p63245"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63245#p63245"><![CDATA[
dodałem funkcję itoa, niestety znów zamiast pomiarów mam literki 'W'<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;stdlib.h&gt;<br />#define UART_BAUD 9600<br />#define __UBRR ((F_CPU+UART_BAUD*8UL) / (16UL*UART_BAUD)-1)<br />#define ADCIN PA5<br />#define VREF 5.0<br />volatile uint16_t adc;//zmienna do pomiaru ADC<br />void transmit(unsigned char data){<br />        while ( !( UCSRA &amp; (1&lt;&lt;UDRE)) );<br /> <br />        UDR = data;<br />}<br /> <br />int main(void){<br /> <br />        char wynik&#91;&#93; = &quot;&quot;;//bufor tekstowy<br />        UBRRH = (uint8_t)(__UBRR &gt;&gt; 8);<br />        UBRRL = (uint8_t)__UBRR ;<br />        UCSRB = (1&lt;&lt;TXEN)|(1&lt;&lt;RXEN);<br />        // Set frame format: 8data, 1stop bit<br />        UCSRC = (1&lt;&lt;URSEL)|(1&lt;&lt;UCSZ1)|(1&lt;&lt;UCSZ0);<br />        //Inicjalizacja ADC<br />          ADCSRA = (1&lt;&lt;ADEN)   //Bit 7 - ADEN: ADC Enable (uruchomienie przetwornika)<br />                          //tryb Free run<br />                                |(1&lt;&lt;ADPS0)<br />                    |(1&lt;&lt;ADPS1)<br />                    |(1&lt;&lt;ADPS2);   //ADPS2:1: (ustawienie preskalera) preskaler= 128<br /> <br />          ADMUX  =  (1&lt;&lt;REFS0) |(1&lt;&lt;REFS1)            //2.56<br />                   |(1&lt;&lt;MUX2) | (1&lt;&lt;MUX0); //Input Channel Selections (ADC5 - Pin 5 )<br /> <br />          DDRC &amp;=~ (1&lt;&lt;ADCIN);             //Ustawienie Wejścia ADC<br /> <br /> <br />while(1){<br />                ADCSRA |= (1&lt;&lt;ADSC);<br />                while(ADCSRA&amp;(1&lt;&lt;ADSC));<br />               itoa(adc, wynik, 10);<br />                transmit(adc);<br />                _delay_ms(500);<br /> <br />        }<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2240">takten</a> — 1 sty 2014, o 20:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[IUVOit]]></name></author>
<updated>2014-01-01T20:14:54+01:00</updated>
<published>2014-01-01T20:14:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63243#p63243</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63243#p63243"/>
<title type="html"><![CDATA[Re: Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63243#p63243"><![CDATA[
Funkcja transmit(unsigned char data) wysyła Ci znak, jeden znak char. Ty przekazujesz do funkcji zmienną uint16_t adc.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 14 minutach ]</span></strong><br /><br />Aby wysłać liczbę, możesz ją najpierw zamienić na C-string, tu możesz skorzystać z funkcji itoa. Jak będziesz już miał tablicę C-string to wysyłasz, komórka po komórce... <br /><br />Na podstawie funkcji którą masz możesz napisać funkcję transmit_string(char *string)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=94">IUVOit</a> — 1 sty 2014, o 20:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[takten]]></name></author>
<updated>2014-01-01T20:05:02+01:00</updated>
<published>2014-01-01T20:05:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63242#p63242</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63242#p63242"/>
<title type="html"><![CDATA[Wysyłanie pomiaru RS232 ATMEGA32A]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5371&amp;p=63242#p63242"><![CDATA[
Cześć, mam problem z wysyłaniem wartości pomiaru do komputera. Chciałbym, aby po każdym pomiarze, wyświetlała się wartość pomiaru np. w terminalu putty, niestety za każdym razem pojawiają mi się litery W oraz S zamiast wartości. Wiecie w czym jest problem? <br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;stdlib.h&gt;<br />#define UART_BAUD 9600<br />#define __UBRR ((F_CPU+UART_BAUD*8UL) / (16UL*UART_BAUD)-1)<br />#define ADCIN PA5<br />#define VREF 5.0<br />volatile uint16_t adc;//zmienna do pomiaru ADC<br />void transmit(unsigned char data){<br />while ( !( UCSRA &amp; (1&lt;&lt;UDRE)) );<br /><br />UDR = data;<br />}<br /><br />int main(void){<br /><br />char wynik&#91;&#93; = &quot;&quot;;//bufor tekstowy<br />UBRRH = (uint8_t)(__UBRR &gt;&gt; 8);<br />UBRRL = (uint8_t)__UBRR ;<br />UCSRB = (1&lt;&lt;TXEN)|(1&lt;&lt;RXEN);<br />// Set frame format: 8data, 1stop bit<br />UCSRC = (1&lt;&lt;URSEL)|(1&lt;&lt;UCSZ1)|(1&lt;&lt;UCSZ0);<br />//Inicjalizacja ADC<br />  ADCSRA = (1&lt;&lt;ADEN)   //Bit 7 - ADEN: ADC Enable (uruchomienie przetwornika)<br />                  //tryb Free run<br />|(1&lt;&lt;ADPS0)<br />            |(1&lt;&lt;ADPS1)<br />            |(1&lt;&lt;ADPS2);   //ADPS2:1: (ustawienie preskalera) preskaler= 128<br /><br />  ADMUX  =  (1&lt;&lt;REFS0) |(1&lt;&lt;REFS1)            //2.56<br />           |(1&lt;&lt;MUX2) | (1&lt;&lt;MUX0); //Input Channel Selections (ADC5 - Pin 5 )<br /><br />  DDRC &amp;=~ (1&lt;&lt;ADCIN);             //Ustawienie Wejścia ADC<br /><br /><br />while(1){<br />ADCSRA |= (1&lt;&lt;ADSC);<br />while(ADCSRA&amp;(1&lt;&lt;ADSC));<br />adc = ADC*VREF/1024;<br />transmit(adc);<br />_delay_ms(500);<br /><br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2240">takten</a> — 1 sty 2014, o 20:05</p><hr />
]]></content>
</entry>
</feed>