Scusate la seconda intromissione...
Forse ho capito male i discorsi, o forse non ho spiegato meglio il concetto...
Quando si parla di stringhe, queste, oltre ad essere particolari oggetti, hanno comunque una rappresentazione binaria interna di ogni singolo carattere ivi contenuto. Questo per dire che se noi inseriamo "012" (zero,uno,due) all'interno di una stringa, non facciamo altro che inserire una sequenza di byte che rappresentano i corrispondenti valiori ascii di ogni singolo carattere, ad esempio: 48,49 e 50 (corrispondenti al codice ascii di 0, 1 e 2).
Se è necessario, e credo sia il caso di arduino, passare il valore binario di "255", non bisogna prendere i singoli cbyte contenuti nella stringa, bensì il corrispondente valore binario, opportunamente convertito nel valore in bit, ovvero "255" è uguale 0xFF esadecimale, ovvero &h255 con Gambas. Dato che, presumo, il valore viene passato, senza accorgimenti, da gambas come singolo carattere, la stringa "255" viene effettivamente inviata con singoli tre byte, che corrispondono ai valori "2" (50 decimale), "5" (53 decimale) e "5" (53 decimale), che risultano prorpio tre singoli valori binari. Non sò adesso cosa faccia arduino, anche perchè non sò neppure cosa sia, ma presumo che al primo 50 (decimale) che gli arriva, attivi un clock con tale frequenza (in Hz).
Io spero che quello che ho scritto sia chiaro, e che possa chiarire il perchè delle anomalie riscontrate.