Hi,
Please understand:
* common serial interfaces are: UART, SPI, I2C....
* all of them work byte-wise.
* none of these interfaces cares about how you code the bytes
BCD is just a coding scheme.
It is only 4 bits wide.
You are free to transfer one or two BCD nibbles in a byte. (as payload)
HEX is also a 4 bits wide coding scheme, thus it makes no difference whether you transfer a HEX nibbke or a BCD nibble.
As a simple solution to transfer the decimal value of 987:
* code them as three BCD nibbles: "9", "8", "7"
* add a "frame identifier" (not "0"..."9", let"s use HEX "F"
* then you have four HEX (4 bit) nibbles: "F", "9", "8", "7"
* pack them in two bytes: 0xF9, 0x87
* transmit the two bytes
Klaus