Hirdetés

Új hozzászólás Aktív témák

  • Teasüti

    nagyúr

    válasz tvamos #3422 üzenetére

    Win10 laptop, IDE 1.6.8 -> Arduino Uno (eredeti). Hozzá a gyári usb kábele ~1,5m VAGY HC-05 BT adapter a hardveres UART-n és egy random kínai usb BT a laptopon. A helyzet mindkettő felállásban ugyanaz.

    Serial monitorból szeretnék küldeni pár vezérlőbájtot az Uno-ra, mint pl. "R255G255B255" ahol a sort a "/n" zárja. A soros kimenet vagyis a Serial.print() hibátlanul működik, sose szemetel a kimenetre.
    A bemenet viszont kvázi teljesen használhatatlan. Úgy két karakterig üzembiztos kb, e felett elhagyja az üzenet további részét. A new line karakter viszont úgy látszik mindig megérkezik, különben nem volna feldolgozás a programban, hisz ez a delimiter.

    Ötletem már nincs, átrágtam magam szinte mindenen, amit a Google kidob az "Arduino serial lost characters" szavakra, kipróbáltam már többféle megoldást is a Serial.read()-re, mások által közzétett kódokat egy az egyben emeltem át a programba. Alapvető megközelítés, hogy a pufferben elérhető bájtokat polling-gal rakom be egy tömbbe amíg megérkezik a delimiter. Ha ez megjött, akkor a tömböt pofozom formára ilyen-olyan módon : atoi() segítségével főként.

    Letölthető fájl a munkámról.
    A loop elején szerepel a meghívás és a loop alatt vannak a releváns függvények.

    Előre is köszönöm! :R

Új hozzászólás Aktív témák