Форум сайта python.su
0
Доброго Всем дня.
На C у меня такая конструкция:
union
{
float val;
struct
{
uint8_t b7_0;
uint8_t b15_8;
uint8_t b23_16;
uint8_t b31_24;
};
} num;
Выполнив вычисления и загрузив результат в val я спокойно передаю результат по RS485 побайтно:
– – –
– – –
А как мне организовать это на pyton?!
Сейчас делаю так (хотя это не совсем та последовательность):
outstring = struct.pack('>f', num),
далее передаю строку serial.write(outstring).
Спасибо Всем за помощь.
Офлайн
88
Что означает не совсем та? Пакуйте ту последовательность какая нужна.
Офлайн
0
Прошу прощения, только что увидел, что часть (важная) текста потеряна. В C передается следующая последовательность байт:
b15_8 – b7_0 – b31_24 – b23_16
Отсюда и вопрос.
Офлайн
88
DGWЭто на котором этапе передачи, и какой архитектуре?
В C передается следующая последовательность байт:
b15_8 – b7_0 – b31_24 – b23_16
Офлайн
857
>>> import struct >>> >>> b = struct.pack('f', 1.5) >>> b b'\x00\x00\xc0?' >>> out = bytes([b[1], b[0], b[3], b[2]]) >>> out b'\x00\x00?\xc0' >>>
Отредактировано py.user.next (Сен. 19, 2015 03:36:19)
Офлайн
0
Спасибо!
Офлайн