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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-02-12T20:58:21+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=10629&amp;mode</id>
<entry>
<author><name><![CDATA[tdx]]></name></author>
<updated>2015-02-12T20:58:21+01:00</updated>
<published>2015-02-12T20:58:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10629&amp;p=118627#p118627</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10629&amp;p=118627#p118627"/>
<title type="html"><![CDATA[Arduino Bluetooth rozłącza przy przesyłaniu większych danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10629&amp;p=118627#p118627"><![CDATA[
Witam<br />Podłączyłem do mojego Arduino moduł Bluetooth ZS-040<br />Problem pojawia mi się podczas pracy jego z komputerem czy telefonem.<br />Przy przesyłaniu informacji typu &quot;N10&quot;,&quot;N30&quot;,&quot;R30&quot; itp. (zdaje się że do około 40) jest bezproblemowe.<br />W momencie wysłania informacji np.: &quot;N100&quot; czy  &quot;N1000&quot; Bluetooth rozłącza mi połączenie i program się zawiesza.<br />Sprawdziłem także i nie odbiera do końca wszystkich informacji.<br />Przez polecenia AT sprawdziłem prędkość i ustawiłem właściwą, czyli 9600.<br />Odbieranie danych przez Arduino mam poprawne. Odbiera każdy Bajt, bez zbędnego przetrzymywania w buforze.<br />Niestety do chwili obecnej nie mogę znaleźć rozwiązania, więc zwracam się do forumowiczów o pomoc.<br />Pozdrawiam<br />PS: Dla ludzi co koniecznie chcą kawałek kodu:<br />[syntax=cpp]/*Przechowuje informacje czy skończyło się odbieranie informacji*/<br />boolean koniec_nadawania;<br />/*Maksymalny limit znaków jaki może zostać odebrazy*/<br />const int Limit = 20;<br />/*Do której komórki ma zostać zapisany kolejny znak*/<br />int Licznik;<br />/*Tablica przechowująca odebrane znaki*/<br />char Znaki&#91;Limit&#93;;<br />void setup() {<br />  Serial.begin(9600);<br />}<br /><br />void loop() {<br />  if (koniec_nadawania)<br />  {<br />    Odeslij(); //Jeśli chcemy sprawdzić co odebrane zostało<br />    //Tutaj kod<br />    <br />    // Poniższe instrukcje muszą być!<br />    Czysc();<br />    koniec_nadawania = false;<br />  }<br />}<br />void serialEvent()<br />{<br />  char Znak = Serial.read();<br />  /*Wyszukuje otrzymania znaku końca linii (końca wysyłania znaków)*/<br />  if (Znak == 10)<br />  {<br />    koniec_nadawania = true;<br />    Licznik = 0;<br />  }<br />  /*Działania dla otrzymania wszystkich innych znaków poza końcem linii*/<br />  else<br />  {<br />    /*Przypisuje do poszczególnych komórek pamięci otrzymane znaki*/<br />    Znaki&#91;Licznik&#93; = Znak;<br />    Licznik = Licznik + 1;<br />    /*Jeśli przekroczony został limit znaków to zaczyna zapis od nowa*/<br />    if (Licznik == Limit)<br />    {<br />      Czysc();<br />      Licznik == 0;<br />    }<br />  }<br />}<br /><br />void Czysc()<br />{<br />  for (int i = 0; i &lt; Limit; i++)<br />  {<br />    Znaki&#91;i&#93; = 0;<br />  }<br />}<br />void Odeslij()<br />{<br />  for (int i = 0; i &lt; Limit; i++)<br />  {<br />    Serial.write(Znaki&#91;i&#93;);<br />    Serial.print(&quot;,&quot;);<br />  }<br />  Serial.println();<br />}[/syntax]<br /><br /><strong>EDIT (Rozwiązanie):</strong><br />Witam.<br />Jako iż znalazłem rozwiązanie problemu, to postanowiłem się podzielić nim, aby pomóc innym osobą, które mają podobny problem.<br />Problemem były zbyt długie przewody połączeniowe pomiędzy modułem BT a Arduino.<br />Były one łączone z dwóch par przewodów łączeniowych do płytek stykowych.<br />Zrobiłem połączenie tylko na jednej parze przewodów i problem został rozwiązany.<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:58</p><hr />
]]></content>
</entry>
</feed>