• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z funkcja Serial.find()
#1
Bug 
Witam Wszystkich!!

Pracuję na Arduino Leonardo, stworzyłem "urządzonko" które operuje na sygnale z RS232. Sygnał przychodzi na port Serial1. Udało mi się przechwycić sygnał, znajdować w nim liczby, operować na nich... Generalnie wszystko przebiegało bez wiekszych problemów, dopóki nie chciałem użyć funkcji Serial.find(), a dokładaniej Serial1.find(). Problem polega na tym że jeżeli nie otrzymam szukanego wyrażenia, program nie zwraca mi 0 po domyślnym czasie czekania, tylko się zacina i stoi na tej linijce dopóki nie "podrzucę" mu szukanych znaków. Jeżeli wpiszę funkcje Serial.find() (nie Serial1.find), funkcja bez problemu przechodzi do dalszego kodu po upływie jednej sekundy. Tak jakby funkcja nie działała z tym portem ??? Proszę o pomoc. Zamieszczam fragment kodu:

if(Serial1.find("N.m")){
jed = (" N.m");
przec = 3;
}
else if(Serial1.find("N.cm"){
jed = (" N.cm");
przec = 1;
}
 
Odpowiedź
#2
Być może tutaj znajdziesz odpowiedź.
 
Odpowiedź
#3
Niestety, nie pomoglo mi to w problemie.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości