Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В настоящее время стандартным является использование порта USB на плате Arduino (или любой другой совместимой) в качестве эмулируемого последовательного порта. Это очень полезно для отладки, отправки и получения данных с наших симпатичных досок.
Я работал над uChip, когда, просматривая техническое описание его MCU (SAMD21), я заметил, что USB gpio PORTA 24 и 25 (которые являются D- / D + соответственно) также могут использоваться как SERCOM (PAD 2 и 3).
Заметив это в таблице данных, я подумал, что иногда было бы весьма полезно подключать аппаратное последовательное устройство непосредственно к USB-порту, а не прикреплять отводные провода к макету или припаять его непосредственно к плате.
Таким образом, это краткое руководство, показывающее вам, как настроить вашу плату так, чтобы вы могли использовать ее USB в качестве аппаратного последовательного порта.
В этом конкретном руководстве подключенное последовательное устройство представляет собой последовательный адаптер Bluetooth HC-06. Однако вы можете адаптировать код к любому другому последовательному устройству, если вы припаяете адаптер USB-кабеля к последовательному устройству.
Ведомость материалов
uChipx 1
1 переходник с micro-USB на USB / A (ссылка)
Модуль HC-06 BT x 1
Переработанный USB-кабель x 1
Батарея (3V3 <VBAT <5) x 1
Шаг 1. Создайте последовательное устройство с USB-разъемом
Снимите USB-кабель и припаяйте его провода к последовательному устройству, как показано на схеме и написано ниже.
- Кабель USB черный -> GND
- USB-кабель красный -> VCC (Power)
- USB-кабель (D-) белый -> RX
- USB-кабель (D +) зеленый -> TX
Шаг 2: Запрограммируйте UChip
Подключите uChip к компьютеру и загрузите скетч «HWSerialUSB.ino» в плату. Затем отключите uChip, чтобы продолжить следующие шаги.
СОВЕТ: Как работает код? Почему мой USB-порт теперь другой?
Здесь вкратце описан трюк, который я выполняю в коде.
По сути, я создаю новый экземпляр «SerialUSB_HW», используя GPIO, которые в настоящее время назначены для работы как D- и D +.
В Setup () я включаю функцию SERCOM для контактов USB, используя функцию «pinPeripherial ()», указанную в заголовке «wiring_private.h», включенном в начало кода.
Теперь я могу использовать экземпляр «SerialUSB_HW» аналогично стандартному Serial или SerialUSB, получая и отправляя данные на мое последовательное устройство HC-06.
Шаг 3. Соберите - Подключите - Экспериментируйте
Подключаем аккумулятор к uChip
- pin_8 -> VBAT--
- pin_16 -> VBAT +
Вставьте адаптер OTG, а затем последовательное устройство с новым USB-портом и… все, оборудование готово!
После сопряжения с модулем HC-06 (стандартный пароль 1234) подключитесь к устройству BT с помощью телефона или интерфейса BT. Теперь вы должны увидеть состояние встроенного светодиода.
Отправьте символ «o», чтобы включить светодиод, или любой другой символ, чтобы его выключить.
Поэкспериментируйте и попробуйте другие последовательные устройства. Теперь вы знаете, как использовать порт USB в качестве аппаратного последовательного порта!
СОВЕТ: В коде есть #define, который позволяет переключаться между использованием порта USB в качестве эмулируемого последовательного порта или аппаратного последовательного порта. Поэкспериментируйте и убедитесь, что подключенное последовательное устройство (HC-06) не обменивается данными, пока мы не заставим USB работать как аппаратный последовательный!