Оглавление:

Превращение USB-порта плат на базе SAMD21 в аппаратный последовательный порт !: 3 шага
Превращение USB-порта плат на базе SAMD21 в аппаратный последовательный порт !: 3 шага

Видео: Превращение USB-порта плат на базе SAMD21 в аппаратный последовательный порт !: 3 шага

Видео: Превращение USB-порта плат на базе SAMD21 в аппаратный последовательный порт !: 3 шага
Видео: Что означает пометка «SS» на USB? 2024, Июль
Anonim
Image
Image
Создание последовательного устройства с USB-разъемом
Создание последовательного устройства с USB-разъемом

В настоящее время стандартным является использование порта 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
Программа 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 работать как аппаратный последовательный!

Рекомендуемые: