Indholdsfortegnelse:

Gør SAMD21-baserede plader USB-port til en hardware-seriel port !: 3 trin
Gør SAMD21-baserede plader USB-port til en hardware-seriel port !: 3 trin

Video: Gør SAMD21-baserede plader USB-port til en hardware-seriel port !: 3 trin

Video: Gør SAMD21-baserede plader USB-port til en hardware-seriel port !: 3 trin
Video: BAM, BUILDERS OF THE ANCIENT MYSTERIES - 4K CINEMA VERSION FULL MOVIE 2024, Juli
Anonim
Image
Image
Opret seriel enhed med USB -stik
Opret seriel enhed med USB -stik

Det er i dag standard at bruge en Arduino (eller en hvilken som helst anden kompatibel) USB -port som en emuleret seriel port. Dette er meget nyttigt til fejlfinding, afsendelse og modtagelse af data fra vores elskelige tavler.

Jeg arbejdede på uChip, da jeg gik igennem databladet for dets MCU (SAMD21), bemærkede jeg, at USB gpio PORTA 24 og 25 (som er henholdsvis D-/D+) også kan bruges som SERCOM (PAD 2 og 3).

Efter at have bemærket dette i databladet, tænkte jeg, at det nogle gange ville være ganske nyttigt at tilslutte en hardware -seriel enhed direkte til USB -porten frem for ved at fastgøre flyvende ledninger på et brødbræt eller lodde det direkte på brættet.

Her er det således en hurtig vejledning, der viser dig, hvordan du indstiller dit bord, så du kan bruge dets USB som en hardware -seriel port.

I denne specifikke vejledning er den tilsluttede serielle enhed en Bluetooth HC-06 seriel adapter. Du kan dog tilpasse koden til enhver anden seriel enhed, så længe du lodder et USB -kabeladapter til den serielle enhed.

Materialeliste

uChipx 1

mikro-USB til USB/A adapter x 1 (link)

HC-06 BT-modul x 1

Genbrugt USB -kabel x 1

Batteri (3V3 <VBAT <5) x 1

Trin 1: Opret en seriel enhed med USB -stik

Fjern USB -kablet, og lod dets ledninger til den serielle enhed som vist i skematisk og skrevet nedenfor.

- USB -kabel sort -> GND

- USB -kabel rød -> VCC (strøm)

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

- USB -kabel (D+) grøn -> TX

Trin 2: Program UChip

Program UChip
Program UChip

Tilslut uChip til din computer, og indlæs skitsen “HWSerialUSB.ino” i tavlen. Afbryd derefter uChip for at fortsætte med de næste trin.

TIP: Hvordan fungerer koden? Hvorfor er min USB -port anderledes nu?

Her er kort beskrevet det trick, jeg laver i koden.

Grundlæggende opretter jeg en ny "SerialUSB_HW" -forekomst ved hjælp af GPIO, der i øjeblikket er tildelt til at fungere som D- og D+.

I Setup () aktiverer jeg SERCOM -funktionaliteten for USB -benene ved hjælp af funktionen "pinPeripherial ()", der er angivet i "wiring_private.h" -hovedet, der er inkluderet i begyndelsen af koden.

Nu kan jeg bruge “SerialUSB_HW” forekomst på samme måde som standard Serial eller SerialUSB, modtage og sende data til min HC-06 serielle enhed.

Trin 3: Saml - Tilslut - Eksperiment

Saml - Tilslut - Eksperiment
Saml - Tilslut - Eksperiment

Tilslut batteriet til uChip

-pin_8-> VBAT--

- pin_16 -> VBAT+

Indsæt OTG -adapteren og derefter den serielle enhed med sin helt nye USB -port og … det er alt, hardwaren er klar!

Efter parring med HC-06-modulet (standardadgangskoden er 1234), skal du oprette forbindelse til BT-enheden ved hjælp af din telefon eller BT-grænseflade. Du skal nu modtage status for den indbyggede LED.

Send tegnet 'o' for at tænde LED'en, eller en anden forkullelse for at slukke den.

Eksperimenter og prøv andre serielle enheder. Nu ved du, hvordan du bruger USB -porten som en hardware seriel port!

TIP: Der er en #define i koden, som giver dig mulighed for at skifte mellem at bruge USB -porten som emuleret seriel eller som hardware -serie. Eksperimenter og kontroller, at den tilsluttede serielle enhed (HC-06) ikke kommunikerer, medmindre vi tvinger USB'en til at fungere som hardware-serie!

Anbefalede: