Hola:
En string recibidos ""; en vez de usar un string. ¿Mejor bytes[]?
Eso haré.
He estado mirando este enlace
CodePagesEncodingProvider.
He probado este y parece que todo bien.
Código:
serialPort1.Encoding = Encoding.GetEncoding("ISO-8859-1");
Aún así. Si uso el puerto serie puro y duro, funciona bien.
Si uso un cable de USB / DB9, hace cosas raras, parece que tiene que ver con el tipo de invoke.
Mejor me replanteo hacer el código desde cero para hacerlo lo mejor posible, ahora estoy como si este programa fuera de pruebas hasta conseguir buenos resultados.
Gracias por la ayuda, sigo con él.