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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-02-13T01:04:22+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=10547&amp;mode</id>
<entry>
<author><name><![CDATA[tdx]]></name></author>
<updated>2015-02-13T01:04:22+01:00</updated>
<published>2015-02-13T01:04:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=118689#p118689</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=118689#p118689"/>
<title type="html"><![CDATA[Re: Utrata danych po Serial port z komputerem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=118689#p118689"><![CDATA[
Chcecie kod to proszę część.<br />Poza tym nie prosiłem o analizowanie kodu tylko o podanie innych przyczyn zakładając że kod jest dobrze napisany.<br /><span style="color: #FF0000">[ popraw formatowanie kodu zgodnie z tą instrukcją <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --> - mirekk36  ]</span><br />Bardziej mi chodzi o to że Komputer nie otrzymuje informacji, a z Arduino wysyłam je za pomocą Serial.println(&quot;OK&quot;).<br />Po pewnym czasie gubi mi Jakąś literę.<br />Jeśli chodzi natomiast chodzi o odbiór kodu w PC to jest on napisany w Visual Basic .NET <br />[syntax=vb]Znak = SerialPort1.ReadLine()[/syntax]<br />Przy tej operacji gubi mi jakiś znak, że po pewnym czasie jak działa się zawiesza na tym.<br /><br />EDIT:<br />Znalazłem problem.<br />Jako że Arduino jest taktowane kwarcem 16 MHz nie da się uzyskać dokładnych częstotliwości transferu danych.<br />Z tego powodu co jakiś czas są ramki tracone/przestawiane.<br />Aby zapobiec temu zdarzeniu wystarczy sprawdzać i porównywać przesyłane dane.<br /><br /><strong>EDIT2 (Rozwiązanie problemu):</strong><br />Witam.<br />Jako że znalazłem problem to dla potomnych i dla osób z podobnymi problemami postanowiłem zamieścić informacje o problemie i sposób jej rozwiązania.<br />1. Problemem z komunikacją mogły okazać się zakłócenia na przewodzie USB, więc postanowiłem w następujący sposób to rozwiązać.<br />- Zmniejszyć obciążenie przewodu USB poprzez dołączenie dodatkowego zasilania<br />2. Program w komputerze podczas działania programu do wysyłania pakietów danych mógł łapać błędy przez użytkowanie komputera.<br />- Rozwiązałem to w ten sposób, że podczas działania programu nie wykonuję żadnych dodatkowych czynności (przeglądanie internetu, granie, oglądanie filmów itp.)<br />PS:<br />Jakby ktoś był ciekaw to to sterowanie jest do plotera laserowego wykonanego przeze mnie z laserem o mocy 250 mW  <img src="https://forum.atnel.pl/images/smilies/icon_evil.gif" alt=":evil:" title="Zły" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3506">tdx</a> — 13 lut 2015, o 01:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-02-13T00:19:05+01:00</updated>
<published>2015-02-13T00:19:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=118685#p118685</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=118685#p118685"/>
<title type="html"><![CDATA[Re: Utrata danych po Serial port z komputerem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=118685#p118685"><![CDATA[
<div class="quotetitle">mokrowski napisał(a):</div><div class="quotecontent"><br />Uwierz, to nie jest forum telepatów. A ja nie piszę tego w akcie złej woli.<br /></div><br />Podziwiam cierpliwość ... podziwiam - na prawdę ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 lut 2015, o 00:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tdx]]></name></author>
<updated>2015-02-12T20:49:58+01:00</updated>
<published>2015-02-12T20:49:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=118626#p118626</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=118626#p118626"/>
<title type="html"><![CDATA[Re: Utrata danych po Serial port z komputerem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=118626#p118626"><![CDATA[
Przepraszam że piszę post pod postem, ale uważam to za dość ważne.<br />Otóż problem z komunikacją po UART może występować przez to iż do Atmega2560 jest podłączony kwarc 16MHz.<br />Jak sprawdzić można to przy tym kwarcu błąd jaki może wystąpić przy przesyłaniu danych to około 0,1%.<br />Może to i mało, ale jak otrzymuje się nawet kilkanaście tysięcy informacji to może spowodować błąd.<br />Wiem że można wyeliminować błąd przez zamianę na odpowiedni kwarc, jednakże w Arduino to odpada (chyba nie ma możliwości i nie chce prezentu od dziewczyny niszczyć <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />)<br />Stąd moje pytanie do zacnych forumowiczów.<br />Czy istnieje sposób na zniwelowanie tego błędu inny niż powtórne wysyłanie i odbieranie informacji?<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3506">tdx</a> — 12 lut 2015, o 20:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tdx]]></name></author>
<updated>2015-02-08T21:01:59+01:00</updated>
<published>2015-02-08T21:01:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117889#p117889</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117889#p117889"/>
<title type="html"><![CDATA[Re: Utrata danych po SErial port z komputerem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117889#p117889"><![CDATA[
Błędnie użytkownik rozumuje.<br />1. Ploter nie jest szybki<br />2. Odbierana jest porcja danych, uC czyści bufor przez odczyt informacji i wydaje polecenie sterujące do silników krokowych. Następnie jak to wykona to układ wysyła do komputera &quot;OK&quot; i czeka na odbiór danych.<br />Samemu napisałem kod do opróżniania bufora odczytu bajt bo bajcie i przepisywania go do tablicy, która ma określoną wielkość.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3506">tdx</a> — 8 lut 2015, o 21:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tdx]]></name></author>
<updated>2015-02-08T10:15:33+01:00</updated>
<published>2015-02-08T10:15:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117780#p117780</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117780#p117780"/>
<title type="html"><![CDATA[Re: Utrata danych po SErial port z komputerem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117780#p117780"><![CDATA[
Witam<br />Komunikację właśnie sprawdzałem na 2400 i 9600<br />Przepełnienia bufora po stronie Atmega2560 nie ma ponieważ odbiera on często tylko kilka znaków (góra 8-9, a przeważnie jest to 3 znaki).<br />Z tego co się orientuje to bufor ma większą pojemność.<br />Poza tym teraz jak sprawdziłem to jak ustawiłem komputer aby reagował na odbiór znaku końca linii zamiast &quot;OK&quot; to wszystko dobrze chodzi.<br /><br />Inną sprawą jest pętla While. Ta pętla jest w wątku głównym a odbieranie i nadawanie po Serial Port odbywa się w innym wątku i nie wpływa to na odbiór danych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3506">tdx</a> — 8 lut 2015, o 10:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[OdeOn]]></name></author>
<updated>2015-02-07T22:52:20+01:00</updated>
<published>2015-02-07T22:52:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117747#p117747</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117747#p117747"/>
<title type="html"><![CDATA[Re: Utrata danych po SErial port z komputerem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117747#p117747"><![CDATA[
sleep(20) <br />to 20 milisekund postoju. Możne tu właśnie &quot;gubią&quot; się dane.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1407">OdeOn</a> — 7 lut 2015, o 22:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tdx]]></name></author>
<updated>2015-02-07T20:00:33+01:00</updated>
<published>2015-02-07T20:00:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117708#p117708</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117708#p117708"/>
<title type="html"><![CDATA[Re: Utrata danych po SErial port z komputerem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117708#p117708"><![CDATA[
Powiem wprost.<br />Sama płytka jest połączona z komputerem przez USB (wirtualny port COM).<br />Układ wysyła informacje za pomocą polecenia &quot;Serial.print(&quot;OK&quot;)&quot;.<br />Komputer odbiera informacje za pomocą programu napisanego w Visual Basic za pomocą:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">    Private Sub SerialPort1_DataReceived(sender As Object, e As IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived<br />        While SerialPort1.ReadExisting() = &quot;OK&quot;<br />            Thread.Sleep(20)<br />        End While<br />        Wysyłanie = True<br />    End Sub<br /></div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3506">tdx</a> — 7 lut 2015, o 20:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tdx]]></name></author>
<updated>2015-02-09T22:49:06+01:00</updated>
<published>2015-02-07T17:32:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117683#p117683</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117683#p117683"/>
<title type="html"><![CDATA[Utrata danych po Serial port z komputerem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10547&amp;p=117683#p117683"><![CDATA[
Witam<br />Mam problem z komunikacją układu Arduino Atmega 2560 po serial port.<br />Zrobiłem ploter laserowy, komunikujący się po serial port z komputerem.<br />Napisałem także program odbierający dane i wysyłający komendy do układu.<br />Niestety w pewnym losowym momencie układ mi się zawiesza i zachowuje się tak jakby tracił dane.<br />Chciałbym się zapytać czy mogę coś zrobić aby temu zapobiec, czy jest to nieuniknione?<br />Prędkości jakie ustawiałem na module Arduino to 9600 i nawet 2400.<br />Prosił bym o pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3506">tdx</a> — 7 lut 2015, o 17:32</p><hr />
]]></content>
</entry>
</feed>