Различные значения pid и vid в boards.txt
Давайте посмотрим раздел Леонардо
в boards.txt
:
leonardo.name=Arduino Leonardo
leonardo.vid.0=0x2341
leonardo.pid.0=0x0036
leonardo.vid.1=0x2341
leonardo.pid.1=0x8036
leonardo.vid.2=0x2A03
leonardo.pid.2=0x0036
leonardo.vid.3=0x2A03
leonardo.pid.3=0x8036
leonardo.upload.tool=avrdude
leonardo.upload.protocol=avr109
leonardo.upload.maximum_size=28672
leonardo.upload.maximum_data_size=2560
leonardo.upload.speed=57600
leonardo.upload.disable_flushing=true
leonardo.upload.use_1200bps_touch=true
leonardo.upload.wait_for_upload_port=true
leonardo.bootloader.tool=avrdude
leonardo.bootloader.low_fuses=0xff
leonardo.bootloader.high_fuses=0xd8
leonardo.bootloader.extended_fuses=0xcb
leonardo.bootloader.file=caterina/Caterina-Leonardo.hex
leonardo.bootloader.unlock_bits=0x3F
leonardo.bootloader.lock_bits=0x2F
leonardo.build.mcu=atmega32u4
leonardo.build.f_cpu=16000000L
leonardo.build.vid=0x2341
leonardo.build.pid=0x8036
leonardo.build.usb_product="Arduino Leonardo"
leonardo.build.board=AVR_LEONARDO
leonardo.build.core=arduino
leonardo.build.variant=leonardo
leonardo.build.extra_flags={build.usb_flags}
Каковы значения leonardo.vid|pid.*
и leonardo.build.vid|pid
?
Возможно, первые предназначены для последовательного USB-устройства во время выполнения, а вторые - для загрузчика?
@Mark, 👍0
1 ответ
▲ 1
Сборки используются при компиляции ядра Arduino. Остальные используются для идентификации платы при ее перезагрузке в загрузчике, чтобы она могла найти подходящий com-порт для загрузки
,
@Majenko
Смотрите также:
- Может ли Arduino Leonardo одновременно использовать USB-порт и последовательные контакты RX TX?
- Mac не обнаруживает последовательный порт для Леонардо
- Сквозной порт для USB-мыши
- Keyboard.print() пропускает клавиши
- Существует ли плата, которая может выступать как USB-хостом, так и клиентом для HID -устройств?
- Восстановление после потери USB-подключения (от Leonardo к Raspberry Pi)
- Библиотека джойстиков Arduino не распознается играми (Steam)
- Изменить USB VID и PID (Леонардо)
Хорошо, но проблема в том, что pid / vid во время выполнения
2341:8036
. Если первый набор используется для идентификации, загрузчик не должен содержать этих значений, иначе его невозможно обнаружить!, @Mark@Отметить время выполнения может быть любым, каким вам нравится. IDE открывает (вручную) выбранный COM-порт со скоростью 1200 бод, который сбрасывает плату в загрузчик. Затем он ожидает появления нового устройства, соответствующего одной из пар VID / PID загрузчика (подойдет любая), после чего он записывает COM-порт и передает его в
avrdude
для загрузки программы., @MajenkoЭто именно то, что я делаю прямо сейчас. Но поскольку даже пары VID / PID во время выполнения по умолчанию для Leonardo находятся в этом наборе, я не могу быть уверен, является ли это загрузчиком или нет! Пример: если сброс не работает, я предполагаю, что есть загрузчик, пока он все еще является последовательным каналом приложения., @Mark
@Отметьте, если перезагрузка не сработала, то нового устройства не будет., @Majenko