Inhoudsopgave:

Het maken van op SAMD21 gebaseerde boards USB-poort in een hardware seriële poort! - Ajarnpa
Het maken van op SAMD21 gebaseerde boards USB-poort in een hardware seriële poort! - Ajarnpa

Video: Het maken van op SAMD21 gebaseerde boards USB-poort in een hardware seriële poort! - Ajarnpa

Video: Het maken van op SAMD21 gebaseerde boards USB-poort in een hardware seriële poort! - Ajarnpa
Video: DIY: Arduino Spam Can Synth 2024, Juli-
Anonim
Image
Image
Serieel apparaat maken met USB-connector
Serieel apparaat maken met USB-connector

Het is tegenwoordig standaard om een Arduino (of een andere compatibele) kaart USB-poort te gebruiken als een geëmuleerde seriële poort. Dit is erg handig voor het debuggen, verzenden en ontvangen van gegevens van onze lieve borden.

Ik werkte aan uChip toen ik de datasheet van zijn MCU (SAMD21) doornam, merkte ik dat de USB gpio PORTA 24 en 25 (die respectievelijk D-/D+ zijn) ook kunnen worden gebruikt als SERCOM (PAD 2 en 3).

Nadat ik dit in de datasheet had opgemerkt, dacht ik dat het soms best handig zou zijn om een hardware-serieel apparaat rechtstreeks op de USB-poort aan te sluiten in plaats van door vliegende draden op een breadboard te bevestigen of het rechtstreeks op het bord te solderen.

Hier is dus een korte tutorial die je laat zien hoe je je board zo kunt instellen dat je de USB als een hardware seriële poort kunt gebruiken.

In deze specifieke tutorial is het aangesloten seriële apparaat een Bluetooth HC-06 seriële adapter. U kunt de code echter aanpassen aan elk ander serieel apparaat, zolang u maar een USB-kabeladapter op het serieel apparaat soldeert.

Stuklijst

uChipx 1

micro-USB naar USB/A-adapter x 1 (link)

HC-06 BT-module x 1

Gerecycleerde USB-kabel x 1"

Batterij (3V3 < VBAT < 5) x 1

Stap 1: maak een serieel apparaat met USB-connector

Trek de USB-kabel los en soldeer de draden aan het seriële apparaat zoals weergegeven in het schema en hieronder beschreven.

- USB-kabel zwart -> GND

- USB kabel rood -> VCC (Power)

- USB-kabel (D-) wit -> RX

- USB-kabel (D+) groen -> TX

Stap 2: Programmeer UChip

Programma UChip
Programma UChip

Sluit uChip aan op uw computer en laad de schets "HWSerialUSB.ino" in het bord. Koppel vervolgens de uChip los om door te gaan met de volgende stappen.

TIP: Hoe werkt de code? Waarom is mijn USB-poort nu anders?

Hier wordt in het kort de truc beschreven die ik in de code aan het doen ben.

Kortom, ik maak een nieuwe " SerialUSB_HW "-instantie met behulp van de GPIO die momenteel is toegewezen om te werken als D- en D+.

In de Setup () schakel ik de SERCOM-functionaliteit voor de USB-pinnen in, met behulp van de functie " pinPeripherial () " gegeven in de " wire_private.h " -header die aan het begin van de code is opgenomen.

Nu kan ik de " SerialUSB_HW "-instantie gebruiken, evenals de standaard Serial of SerialUSB, en gegevens ontvangen en verzenden naar mijn HC-06 seriële apparaat.

Stap 3: Monteren - Verbinden - Experimenteren

Monteren - Verbinden - Experimenteren
Monteren - Verbinden - Experimenteren

Sluit de batterij aan op uChip

-pin_8 -> VBAT--

- pin_16 -> VBAT+

Plaats de OTG-adapter en vervolgens het seriële apparaat met zijn gloednieuwe USB-poort en … dat is alles, de hardware is klaar!

Na het koppelen met de HC-06-module (standaardwachtwoord is 1234), maakt u verbinding met het BT-apparaat via uw telefoon of BT-interface. U zou nu de status van de ingebouwde LED moeten ontvangen.

Stuur de char 'o' om de LED in te schakelen, of een andere char om hem uit te schakelen.

Experimenteer en probeer andere seriële apparaten. Nu weet u hoe u de USB-poort als een hardware-seriële poort moet gebruiken!

TIP: Er is een #define in de code, waarmee u kunt schakelen tussen het gebruik van de USB-poort als geëmuleerd serieel of als hardware serieel. Experimenteer en controleer of het aangesloten seriële apparaat (HC-06) niet communiceert, tenzij we de USB dwingen om als seriële hardware te werken!

Aanbevolen: