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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-10-12T12:44:16+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=8794&amp;mode</id>
<entry>
<author><name><![CDATA[Miles]]></name></author>
<updated>2014-10-12T12:44:16+01:00</updated>
<published>2014-10-12T12:44:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98621#p98621</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98621#p98621"/>
<title type="html"><![CDATA[Re: Przesyłanie danych przez RS232 (Putty i LabVIEW)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98621#p98621"><![CDATA[
Okazało się, że kompletnie źle podszedłem do tematu od strony LabVIEW. Tak wygląda nowy program:<br /><a href="http://forum.atnel.pl/_obrazki/o/2482/7f7775f0be8c68253d4c9000ceb785d5.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/2482/7f7775f0be8c68253d4c9000ceb785d5.png" alt="Obrazek" /></a><br /><br />Teraz nie ma żadnych krzaków. Odstępy czasu również są prawidłowe. Jednak gdy uruchamiam układ (naciskam &quot;Run&quot;) to pierwsza odczytana wartość czasami jest inna niż przesyłana, co widać na załączonym rysunku. Mikrokontroler wysyła na przemian wartość 1 i 2.<br /><a href="http://forum.atnel.pl/_obrazki/o/2482/a59e3def8678c23424a800a000e95889.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/2482/a59e3def8678c23424a800a000e95889.png" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2482">Miles</a> — 12 paź 2014, o 12:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2014-10-12T09:16:03+01:00</updated>
<published>2014-10-12T09:16:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98606#p98606</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98606#p98606"/>
<title type="html"><![CDATA[Re: Przesyłanie danych przez RS232 (Putty i LabVIEW)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98606#p98606"><![CDATA[
A bufor nie jest za mały?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 12 paź 2014, o 09:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Miles]]></name></author>
<updated>2014-10-11T23:04:52+01:00</updated>
<published>2014-10-11T23:04:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98600#p98600</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98600#p98600"/>
<title type="html"><![CDATA[Re: Przesyłanie danych przez RS232 (Putty i LabVIEW)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98600#p98600"><![CDATA[
Niestety to nic nie zmieniło... <br />Już brakuje mi pomysłów co może być nie tak.<br /><br />edit:<br />Zmniejszyłem prędkość do 9600 bodów i jest lepiej. Nie pojawiają się już żadne krzaki i dziwne znaczki. Ale nadal czas pomiędzy zmianami jest losowy i kolejność liter czasami się przestawia i wychodzi jakieś BAC, albo samo BA. Co jakiś czas wyskakuje też błąd &quot;LabVIEW:  Scan failed. The input string does not contain data in the expected format.&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2482">Miles</a> — 11 paź 2014, o 23:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[j23]]></name></author>
<updated>2014-10-11T20:41:52+01:00</updated>
<published>2014-10-11T20:41:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98594#p98594</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98594#p98594"/>
<title type="html"><![CDATA[Re: Przesyłanie danych przez RS232 (Putty i LabVIEW)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98594#p98594"><![CDATA[
<div class="quotetitle">Miles napisał(a):</div><div class="quotecontent"><br />Termination char jest wylaczone, takze to raczej nie powinno miec wplywu na prace ukladu.<br /></div><br />Nie masz włączonej żadnej kontroli transmisji <span style="text-decoration: underline">poza</span> sztywnym ustaleniem czasu. Problem nie polega prawdopodobnie na tym, co jest od strony mikrokontrolera, tylko od tej drugiej strony, tzn. PC'et -dlatego Putty i LabView wykazują inne zachowanie. Spróbuj tak jak Kolega Krauser Ci radzi WŁĄCZYĆ termination char i wtedy po stronie mikrokontrolera wysyłasz po ciągu znaków dodatkowo \n (CR+LF), lub włącz kontrolę XON/XOFF.<br /><br />Pozdrawiam! J23<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4504">j23</a> — 11 paź 2014, o 20:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Miles]]></name></author>
<updated>2014-10-11T20:27:26+01:00</updated>
<published>2014-10-11T20:27:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98593#p98593</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98593#p98593"/>
<title type="html"><![CDATA[Re: Przesyłanie danych przez RS232 (Putty i LabVIEW)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98593#p98593"><![CDATA[
Termination char jest wylaczone, takze to raczej nie powinno miec wplywu na prace ukladu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2482">Miles</a> — 11 paź 2014, o 20:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2014-10-11T19:20:47+01:00</updated>
<published>2014-10-11T19:20:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98585#p98585</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98585#p98585"/>
<title type="html"><![CDATA[Re: Przesyłanie danych przez RS232 (Putty i LabVIEW)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98585#p98585"><![CDATA[
Czekasz na '\n' a wysyłasz tylko &quot;ABC&quot;. Spróbuj może &quot;ABC\n&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 11 paź 2014, o 19:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Miles]]></name></author>
<updated>2014-10-11T19:08:04+01:00</updated>
<published>2014-10-11T19:08:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98584#p98584</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98584#p98584"/>
<title type="html"><![CDATA[Przesyłanie danych przez RS232 (Putty i LabVIEW)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8794&amp;p=98584#p98584"><![CDATA[
Witam,<br /><br />Od pewnego czasu męczę się z przesyłaniem najprostszych znaków przez RS232 do komputera. Do tego celu stworzyłem bibliotekę, o której mowa w poradniku pt. &quot;Przetwornik ADC w AVR - część 03&quot;. Wszystko oczywiście działa, jednak tylko przy użyciu Putty. Do wizualizacji przesyłanych danych postanowiłem jednak użyć programu LabVIEW. Zbudowałem najprostszy program realizujący jedynie odbieranie i prezentację odebranych znaków. Jednak nie do końca działa tak jak powinno. Wyświetlają się na przemian znaki &quot;ABC&quot; i &quot;CBA&quot; ale nie co 200ms, tylko w losowych odstępach czasu. Ponadto rzadko jest to &quot;ABC&quot; albo &quot;CBA&quot;... zazwyczaj wyświetlają się jeszcze jakieś krzaki.<br /><br />Procesor to Atmega8 taktowana wewnętrznym oscylatorem z częstotliwością równą 8 MHz. Ramka standardowa, tzn. 8, n, 1. Taka sama ramka ustawiona w menadżerze urządzeń i w programie LabVIEW. Prędkość transmisji 19200 bodów.<br /><br />Kod programu:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &quot;UART/myuart.h&quot;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br /><br />int main(void)<br />{<br /><br />uart_init(__UBRR);<br /><br />    while(1)<br />    {<br />        uart_puts(&quot;ABC&quot;);<br />_delay_ms(200);<br />uart_puts(&quot;CBA&quot;);<br />_delay_ms(200);<br />    }<br />}[/syntax]<br /><br />Biblioteka:<br /><br />[syntax=c]#include &quot;avr/io.h&quot;<br />#include &quot;myuart.h&quot;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />void uart_init( uint16_t _UBRR)<br />{<br />//ustawienie prędkości transmisji<br />UBRRH = (uint8_t)(_UBRR&gt;&gt;8);<br />UBRRL = (uint8_t)_UBRR;<br />//załączenie transmisji<br />UCSRB = (1&lt;&lt;TXEN);<br />}<br /><br />void uart_putc( char data )<br />{<br />//oczekiwanie na opróżnienie bufora transmisji<br />while ( !( UCSRA &amp; (1&lt;&lt;UDRE)) );<br />//zapisanie danych do bufora i wysłanie<br />UDR = data;<br />}<br /><br />void uart_puts( char * s ) //wysyłanie łańcucha z pamięci RAM<br />{<br />while ( *s ) uart_putc( *s++ );<br />}<br /><br />void uart_puts_P(const char * s ) //wysyłanie łańcucha z pamięci flash<br />{<br />register char c;<br />while (( c=pgm_read_byte(s++) )) uart_putc( c );<br />}<br /><br />void uart_putlong( uint32_t liczba, uint8_t radix )<br />{<br />char buf&#91;17&#93;;<br />ltoa( liczba, buf, radix );<br />uart_puts( buf );<br />}[/syntax]<br /><br />I widok na LabVIEW:<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/2482/198c4f86b9cecea3bedcd60a9e35ac3d.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/2482/198c4f86b9cecea3bedcd60a9e35ac3d.png" alt="Obrazek" /></a><br /><br />Może ktoś ogarnia temat LabVIEW i byłby w stanie pomóc? Gdzie popełniam błąd?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2482">Miles</a> — 11 paź 2014, o 19:08</p><hr />
]]></content>
</entry>
</feed>