Ho una domanda stupida ma premetto che sono una rapa su tante cose e questa è una di quelle. Sto usando una libreria il cui link è in calce, ed è con quella che ho il problema.
Lo scopo è quello di acquisire una serie di valori numerici convertiti in binario, tramite apposito banale protocollo che ho scritto, e poi riconvertili in decimale per la stampa.
La funzione che mi dà problemi è proprio quella cardine, la lettura di un buffer; tra i suoi argomenti vuole il carattere di terminazione e uso quello dell'esempio che è il classico '\n'.
Il problema è che quando uno dei bytes ha il valore 10 probabilmente lo interpreta in qualche modo come fine buffer o peggio è seguito da 13 e prende la squenza anche stavolta come fine buffer. I miei tentativi di stampare l'array per vedere cosa succede sono frustrati dal fatto che per quanto io cerchi di stampare tutta la lunghezza del buffer allocato da me, è la funzione che a un certo punto non legge più caratteri o comunque non me li presenta e oltre un certo indice vedo solo gli zeri dell'inizializzazione. Il classico serpente che si morde la coda versione informatica

Ora non so come uscire da questo problema. Non penso sia possibile stabilire restrizioni di qualche genere: un numero una volta convertito potrebbe contenere la sequenza 10,13 o a quanto pare anche solo 10, e la lettura si fermerebbe. Potrei usare un carattere di terminazione diverso da passare alla funzione ma quello che non so è se esiste la dimostrazione che i bytes di un numero intero convertito hanno valore compreso in un certo range; se fosse così sarebbe facile perché mi basterebbe usare un carattere che non sia compreso, ma non credo sia questa la soluzione anche perché potrebbe dipendere dalla rappresentazione in binario nella macchina. Non solo, ma usare un carattere di terminazione non tipico come '\n' o '\0' o loro combinazione, mi pare un azzardo.
Se masticassi di quel livello inferiore (ma concettualmente tutt'altro che inferiore) tra l'hardware e il software potrei studiarmi quella libreria ma non riesco a capire minimamente come funzioni. Non so come uscire da questa piccola trappola che peraltro credo sia abbastanza comune, ma che non trovo in rete come affrontare. Qualcuno potrebbe darmi una mano? Grazie mille :)
https://lucidar.me/en/serialib/cross-plateform-rs232-serial-library/