Per risolvere il tuo problema, ti consiglio di provare con gli Stream.
La porta seriale e' essenzialmente uno stream, dove si puo' leggere e scrivere.
Prova a vedere se con un codice come questo riesci a farlo funzionare
C#
Codice:
SerialPort sp=new SerialPort(....);
BinaryWriter bw = new BinaryWriter(sp.BaseStream);
bw.Write(qualcosa)
Ci sono tantissimi prototipi della Write sul BinaryWriter, compreso quello che accetta un semplice intero.
Non ho modo di testare se funziona perche' non ho nulla da attaccare alla seriale. Ti direi di provare...