Mehr als 255 passen nun mal in ein Byte nicht rein.
Nimm also ein uint16_t in der Definition.