Разобрался всё же то что мне надо , а это 0 до 99 записывается в значение bih и bil , просто у меня не правильно было преобразование в 16 ричку.
def split_value_bcd(value): bcd_value = int(f"{value:02d}", 16) # Преобразуем в BCD # Раскладываем по байтам bh = 0 bl = 0 bih = (bcd_value >> 8) & 0xFF bil = bcd_value & 0xFF