Подключая Arduino и обработку, как узнать, какой COM читать?
Я использую обработку для чтения данных из последовательного порта, которые отправляет Arduino. Когда я захожу в диспетчер устройств, он показывает, что Arduino находится в COM 4, но для того, чтобы обработка могла читать из Arduino, мне нужно ввести COM, равный 2:
String portName = Serial.list()[2]
Почему числа не совпадают?
Спасибо!
@, 👍0
1 ответ
Потому что эти два числа — совершенно разные типы чисел.
Цифра 4 для COM4 означает, что это четвертый последовательный коммуникационный порт, как определено, по которому порты ввода/вывода используются для связи с реальным оборудованием. То есть у вас будет COM1, COM2, COM3 и так далее. Неважно, есть ли там оборудование на самом деле или что-то подключено — названия одинаковы.
Число 2 в Serial.list()[2] означает, что вы выбираете третий (!) элемент массива, возвращаемого Serial.list(). Т.е. в этом случае мы считаем с 0 вместо 1.
В дополнение к этому, Serial.list() возвращает только доступные порты. То есть, если оборудование для COM3 не установлено физически, оно не будет возвращено Serial.list(). Также не гарантируется, что список будет отсортирован в каком-либо определенном порядке.
Вам нужно будет распечатать содержимое массива, возвращаемого Serial.list(), и позволить пользователю выбрать, какой из портов он хочет использовать.
- Счетчик импульсов для измерения расхода: 0 Проблемы с импульсами
- Двигатель не вращается при использовании контроллера двигателя L298N.
- Серийный номер аппаратного/программного обеспечения для HC-05
- Сброс Arduino Uno в коде
- Как сбросить или отформатировать Arduino?
- Разница между этими двумя платами NodeMCU?
- Управление дисководом гибких дисков с помощью Arduino
- Как вызвать функции C из скетча ардуино?