Ho provato a utilizzare Readline() e i dati vengono eliminati, ho provato a utilizzare Read() ma non sono sicuro di come avere un metodo di prova degli errori, dato che potrei ottenere diversi pacchetti uno dopo l'altro e non ho modo di sapere che ci sarà un altro pacchetto in arrivo. Tra i pacchetti BytesToRead è 0, quindi non posso usarlo. Quando leggi dati nel buffer hai un timer o metti il thread in stop per consentire l'arrivo di tutti i pacchetti?Lettura dalla porta seriale in C#
Sono perso. Non so cosa provare dopo.
Devo dire che non ho alcuna garanzia che la stringa proveniente dalla porta seriale venga terminata con \ n o \ r o \ r \ n. Ho semplicemente bisogno di un modo stupido per leggere TUTTI i pacchetti che arriveranno dalla bilancia quando l'utente preme su PRINT.
Qualcuno ha risposto qui con l'idea che mi piaceva - in attesa di un certo periodo di tempo per tutti i pacchetti, ma hanno cancellato la loro risposta. Qualche possibilità che potresti ri-postare?
Non v'è alcuna garanzia che i dati effettivamente letto sulla porta seriale è serialPort.BytesToRead. Suggerirei di verificare il valore di ritorno di serialPort.Read. – Roger