Allora l'unico modo è passargli il numero scomposto in un array di unsigned char (byte) che poi il metodo write spedisce 1 ad 1 con la sintassi Serial.write(buf, len).
Si, il numero lo scomponi facilmente, e rapidamente, tramite una union e invii direttamente l'array definito in questa.
Esempio di codice, viene inviato sia il valore in formato ASCII, seguito da un 0x0D e 0x0A per via dell'uso di println, e i quattro byte che lo compongono (è un long int), lsb è il primo ( = S_LOINT.byte_s[0] )
union SCOMP_LOINT // union per scomporre un long int in byte
{
long int MyLong;
unsigned char byte_s[4];
} S_LOINT;
// S_LOINT.byte_s[n] // array equivalente al long int
// S_LOINT.MyLong // variabile long int
void setup()
{
Serial.begin(9600);
S_LOINT.MyLong = 123456;
Serial.println(S_LOINT.MyLong);
Serial.write(S_LOINT.byte_s,4);
}
void loop()
{
}