#io #header #driver #device #payload
Вопрос:
В настоящее время я разрабатываю драйвер и использую файл устройства для связи. Поэтому я отправляю 12-байтовую команду на устройство и получаю ответ от устройства с заголовком ответа (полезной нагрузкой).
Мне было интересно, как я могу распечатать полезную нагрузку ?
В настоящее время я использую следующий метод:
char bytes[12] uint8_t cmd[] = {...}; write(fd, cmd, sizeof(cmd)) read(fd, bytes, sizeof(bytes))
Длина команды составляет 12 байт, поэтому логично, что когда я использую байт, я получаю 12 байт, но я знаю, что после этого есть полезная нагрузка длиной x байт. Как я могу приблизиться к получению полезной нагрузки, на которую отвечают данные? Я знаю , что могу byte[12]
byte[64]
, например, подстроиться, но это не очень хороший подход.
Есть идеи?