Что будет передавать массив с одним целым числом в Uint8Array с передаваемым ему содержимым? - PullRequest
0 голосов
/ 19 апреля 2020

Я экспериментирую с Web Serial API (https://codelabs.developers.google.com/codelabs/web-serial/#3) для чтения и записи данных на процессор Arduino (atmega 328p). Я не мог понять, почему сообщение, отправляемое на доску, проходит через Uint8Array в примере, который я нашел:

const sendToBoard(command) {
      let message = new Uint8Array([command])
      const writer = outputStream.getWriter();
      writer.write(message);
      writer.releaseLock();
}

Что будет делать передача массива с целым числом, переданным в Uint8Array, и какова его актуальность при отправке через последовательный порт на плату? Можно ли это сделать без этого?

1 Ответ

1 голос
/ 19 апреля 2020

Если вы имеете в виду пример с матрицей светодиодов, то объяснено, почему они используют массив, они хранят значения отдельных светодиодов в матрице таким образом

arr.push(cb.checked === true ? 1 : 0);

, и это, вероятно, причина. Таким образом, вы, конечно, можете отправлять отдельные значения по последовательному каналу, но в этом сценарии эффективнее делать пакеты данных вместо отдельных значений (MatrixLED)
EDIT
Uint8Array () * Конструктор 1009 * создает типизированный массив 8-разрядных целых чисел без знака. Содержимое инициализируется равным 0. После создания вы можете ссылаться на элементы в массиве, используя методы объекта или используя стандартный синтаксис индекса массива.
Подробнее читайте здесь и подробное чтение
Почему разработчик решил использовать именно этот метод - вы должны написать электронное письмо автору программы.

...