Aktywne Wpisy

Treść przeznaczona dla osób powyżej 18 roku życia...

chybaDapi +77
Treść przeznaczona dla osób powyżej 18 roku życia...
Skopiuj link
Skopiuj link

Regulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
void loop()
{
if (esp8266.find("asdf"))
{
while (!esp8266.find("asdfstop"))
Serial.write(blabla);
}
}
Mam moduł esp8266 przez który otrzymuje pewne dane( w tym przypadku string asdf). Jeżeli znajduje mi ten ciąg to ma wyświetlać na porcie szeregowym słowo "blabla" dopóki nie pojawi się ze strony esp fraza "asdfstop". Coś mi działa, bo gdy przychodzi te słowo "asdf" to na monitorze portu szeregowego wyświetla mi te blabla ale w odstępach ok 1s, a chciałbym żeby to leciało szybko. Wygląda to tak jakby w tej pętli while ta komenda serial.write wykonywała się co 1s. Ma ktoś jakies pomysły?
#programowanie
@mix3d:
Print
find
print
a może FindUntil() rozwiąże Twoje problemy?
@PiotrekSul: Właśnie coś z tym może być tylko że jak robię coś takiego:
if(esp8266.available())
Serial.write(esp8266.read());
to co wrzucę na esp to od razu mi się pojawia na szeregowym monitorze.
void loop()
{
void loop()
{
string x= esp8266.read();
if(x.contains("koniec")) stop = true;
if (x.contains("jeden") && !stop)
@mix3d: Musisz przebudować program. Staraj się używać jak najprostszych metod "wbudowanych", a już na pewno czytaj co one robią dokładnie ( ͡° ͜ʖ ͡°)
string blabla;
while(esp8266.available())
{
char x = esp8266.read();
char x="";
void
zrób tak jak ja wyzej napisałem