Arduino Polska Forum

Pełna wersja: Problem z funkcja Serial.find()
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
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;
}
Być może tutaj znajdziesz odpowiedź.
Niestety, nie pomoglo mi to w problemie.