Italian Flusso dati seriale...

Discussion in 'Italian Forum' started by stefanoxjx, Feb 6, 2015.

  1. stefanoxjx

    stefanoxjx Active Member Licensed User

    Ciao a tutti, sto sviluppando un piccolo programma con B4J che dovrebbe prendere dei dati NMEA da un GPS e salvarli in un file.
    Ho sviluppato praticamente tutto il programma, però mi trovo che quando vado a salvare i dati, questi risultano ingarbugliati e non come effettivamente sono stati scaricati.
    Per esempio, questo è il flusso dati ricevuto:
    e questo è parte del contenuto del file salvato:

    Il programma non fa altro che controllare su new_data se i dati ricevuti iniziano per $GPRMC e
    in tal caso prende la riga e la inserisce in una "list":
    Code:
    Sub AStream_NewData (Buffer() As Byte)
       
    Dim S As String = BytesToString(Buffer, 0, Buffer.Length, "UTF8")

       
    If S.Contains("$GPRMC"Then   GPRMCString.Add(S)

    End Sub
    e alla fine salva la "list" in un file:
    Code:
    File.WriteList(File.DirApp, DateTime.now & ".txt", GPRMCString)
    Penso di aver capito che il problema sta nel fatto che quando AStream_NewData riceve dei dati, non è detto che sia per forza una riga intera e quindi io vado ad inserire nella list una mezza riga o una riga e mezza o giù di li.
    Ora, la mia domanda è...
    Se ho capito bene cosa genera l'anomalia, secondo voi qual'è la via migliore per ovviare a questo problema?

    Che ne pensate?
    Grazie.
    Ciao.
     
  2. stefanoxjx

    stefanoxjx Active Member Licensed User

    In alternativa, chiedo se c'è modo di leggere il contenuto di una textarea riga per riga.
    Grazie.

    Stefano
     
  3. stefanoxjx

    stefanoxjx Active Member Licensed User

    Trovato, era banalmente textarea.text.
    Non legge proprio riga per riga, ma per quello mi posso arrangiare :)
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice