INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Dit is deesdae standaard om 'n Arduino (of enige ander versoenbare) USB -poort as 'n nagemaakte seriële poort te gebruik. Dit is baie handig vir die ontfouting, stuur en ontvang van data van ons lieflike borde.
Ek het aan uChip gewerk toe ek deur die datablad van sy MCU (SAMD21) gegaan het, het ek opgemerk dat die USB gpio PORTA 24 en 25 (wat onderskeidelik D-/D+ is) ook as SERCOM (PAD 2 en 3) gebruik kan word.
Nadat ek dit in die datablad opgemerk het, het ek gedink dat dit soms baie handig sou wees om 'n hardeware -seriële toestel direk aan die USB -poort te koppel, eerder as om vlieënde drade op 'n broodbord te heg of dit direk aan die bord te soldeer.
Hier is 'n vinnige handleiding wat u wys hoe u u bord kan instel sodat u die USB as 'n hardeware -seriële poort kan gebruik.
In hierdie spesifieke tutoriaal is die seriële toestel wat gekoppel is, 'n Bluetooth HC-06 seriële adapter. U kan die kode egter aanpas by enige ander reeks toestelle, solank u 'n USB -kabeladapter aan die seriële toestel soldeer.
Materiaallêer
uChipx 1
mikro-USB na USB/A-adapter x 1 (skakel)
HC-06 BT-module x 1
Herwinde USB -kabel x 1
Battery (3V3 <VBAT <5) x 1
Stap 1: Skep 'n seriële toestel met 'n USB -aansluiting
Trek die USB -kabel af en soldeer sy drade aan die seriële toestel, soos getoon in die skema en hieronder geskryf is.
- USB -kabel swart -> GND
- USB -kabel rooi -> VCC (krag)
-USB -kabel (D-) wit -> RX
- USB -kabel (D+) groen -> TX
Stap 2: Program UChip
Koppel uChip aan op u rekenaar en laai die skets “HWSerialUSB.ino” in die bord. Ontkoppel dan uChip om voort te gaan met die volgende stappe.
WENK: Hoe werk die kode? Waarom is my USB -poort nou anders?
Hier word die truuk wat ek in die kode doen, kortliks beskryf.
Eintlik skep ek 'n nuwe 'SerialUSB_HW'-instansie met behulp van die GPIO wat tans toegewys is om as D- en D+te werk.
In die Setup () aktiveer ek die SERCOM -funksionaliteit vir die USB -penne, met behulp van die funksie "pinPeripherial ()" in die kop "wiring_private.h" wat aan die begin van die kode ingesluit is.
Nou kan ek 'SerialUSB_HW'-instansie ook die standaard Serial of SerialUSB gebruik, en data na my HC-06-reeksapparaat ontvang en stuur.
Stap 3: Monteer - verbind - eksperimenteer
Koppel die battery aan uChip
-pin_8-> VBAT--
- pin_16 -> VBAT+
Plaas die OTG -adapter en dan die seriële toestel met sy splinternuwe USB -poort en … dit is alles, die hardeware is gereed!
Nadat u met die HC-06-module gekoppel is (standaard wagwoord is 1234), kan u met u telefoon of BT-koppelvlak aan die BT-toestel koppel. U behoort nou die status van die ingeboude LED te ontvang.
Stuur die char 'o' om die LED aan te skakel, of enige ander char om dit uit te skakel.
Eksperimenteer en probeer ander reeks toestelle. Nou weet u hoe u die USB -poort as 'n hardeware -seriële poort moet gebruik!
WENK: Daar is 'n #define in die kode waarmee u kan wissel tussen die gebruik van die USB -poort as Emulated serial of as Hardware serial. Eksperimenteer en verifieer dat die aangeslote seriële toestel (HC-06) nie kommunikeer nie, tensy ons die USB dwing om as hardeware-reeks te werk!