Последовательный порт правильно принимает повторяющиеся значения (в шестнадцатеричном формате) 0x0c, 0xda, 0x0c, 0xda и т. Д.
Поскольку у вас есть myPort.on('data', readSerialData);
, а readSerialData выводит напрямую на консоль, он выглядит как <Buffer 0c da>
, потому что это то, что принимается, и эта строка - то, как обрабатывается объект Buffer при его печати.
Существуют встроенные парсеры , которые будут обрабатывать различные входящие форматы (например, только отправлять данные при получении символа новой строки или после определенного количества определенных байтов).
В зависимости от того, что вы хотите сделать, вы можете использовать один из этих синтаксических анализаторов или, если они не соответствуют вашим потребностям, просто продолжать помещать данные в новый массив, буфер или другой объект для последующей обработки.
Если вы хотите что-то сделать с этими шестнадцатеричными значениями, уже есть много вопросов, таких как преобразование буфера в массив и сама документация по Node, которые очень удобны.