последовательная связь с использованием c ++. в Linux

0

я могу отправить 1 байт данных типа символа поочередно. теперь я застреваю с отправкой данных типа float. вот мой код для отправки данных поочередно.

fd = open("/dev/ttyO1", O_RDWR | O_NOCTTY);
char byte_out[] = {0x47};
write(fd, byte_out, strlen(byte_out)+1);

как я могу писать (или отправлять) данные типа float серийно. Пожалуйста, помогите мне. заранее спасибо.

  • 0
    Вы должны определить протокол и двоичное (или текстовое) представление, которое вы отправляете (это может зависеть от другой стороны). Если возможно, выберите текстовое представление (возможно, JSON может вдохновить вас). И ваш код неверен: byte_out должен быть 0 завершен.
Теги:
serial-port

1 ответ

0

Ничего особенного.. и вам нужно поместить правильный размер типа float.

fd = open("/dev/ttyO1", O_RDWR | O_NOCTTY);
float float_out[] = {1.2342};
write(fd, (void *) float_out, sizeof(float));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню