Cuprins:

Realizarea plăcilor bazate pe SAMD21 Port USB într-un port serial hardware !: 3 pași
Realizarea plăcilor bazate pe SAMD21 Port USB într-un port serial hardware !: 3 pași

Video: Realizarea plăcilor bazate pe SAMD21 Port USB într-un port serial hardware !: 3 pași

Video: Realizarea plăcilor bazate pe SAMD21 Port USB într-un port serial hardware !: 3 pași
Video: Mihai Scutaru - From bare-metal programming to Embedded Linux in IoT // Diamond Speaker Siemens 2024, Iulie
Anonim
Image
Image
Creați dispozitiv serial cu conector USB
Creați dispozitiv serial cu conector USB

În zilele noastre este standard să utilizați un port USB pentru placa Arduino (sau orice alt compatibil) ca port serial emulat. Acest lucru este foarte util pentru depanarea, trimiterea și primirea de date de la plăcile noastre adorabile.

Lucram la uChip când, trecând prin fișa tehnică a MCU-ului său (SAMD21), am observat că USB gpio PORTA 24 și 25 (care sunt respectiv D- / D +) poate fi folosit și ca SERCOM (PAD 2 și 3).

După ce am observat acest lucru în foaia tehnică, m-am gândit că ar fi destul de util uneori să atașați un dispozitiv serial hardware direct la portul USB, mai degrabă decât prin atașarea firelor zburătoare pe o placă de măsurare sau lipirea directă a acesteia pe placă.

Astfel, aici este un tutorial rapid care vă arată cum să setați placa astfel încât să puteți utiliza USB-ul său ca port serial hardware.

În acest tutorial specific, dispozitivul serial conectat este un adaptor serial Bluetooth HC-06. Cu toate acestea, puteți adapta codul la orice alt dispozitiv serial, atâta timp cât lipiți un adaptor de cablu USB la dispozitivul serial.

Proiect de lege de materiale

uChipx 1

adaptor micro-USB la USB / A x 1 (link)

Modulul HC-06 BT x 1

Cablu USB reciclat x 1

Baterie (3V3 <VBAT <5) x 1

Pasul 1: Creați dispozitiv serial cu conector USB

Desprindeți cablul USB și lipiți-i firele pe dispozitivul serial, așa cum se arată în schemă și scris mai jos.

- Cablu USB negru -> GND

- Cablu USB roșu -> VCC (alimentare)

- Cablu USB (D-) alb -> RX

- Cablu USB (D +) verde -> TX

Pasul 2: programați UChip

Program UChip
Program UChip

Conectați uChip la computer și încărcați schița „HWSerialUSB.ino” pe placă. Apoi, deconectați uChip pentru a continua cu pașii următori.

SFAT: Cum funcționează codul? De ce este portul meu USB diferit acum?

Aici este descris în rezumat trucul pe care îl fac în cod.

Practic, creez o nouă instanță „SerialUSB_HW” folosind GPIO care este în prezent atribuit să funcționeze ca D- și D +.

În Setup () activez funcționalitatea SERCOM pentru pinii USB, folosind funcția „pinPeripherial ()” dată în antetul „wiring_private.h” inclus la începutul codului.

Acum, pot folosi instanța „SerialUSB_HW”, de asemenea, Serial standard sau SerialUSB, primind și trimitând date către dispozitivul meu serial HC-06.

Pasul 3: Asamblați - Conectați - Experimentați

Asamblați - Conectați - Experimentați
Asamblați - Conectați - Experimentați

Conectați bateria la uChip

- pin_8 -> VBAT--

- pin_16 -> VBAT +

Introduceți adaptorul OTG și apoi dispozitivul Serial cu noul său port USB și … atât, hardware-ul este gata!

După asocierea cu modulul HC-06 (parola standard este 1234), conectați-vă la dispozitivul BT utilizând telefonul sau interfața BT. Ar trebui să primiți acum starea LED-ului de la bord.

Trimiteți caracterul „o” pentru a aprinde LED-ul sau orice alt caracter pentru a-l opri.

Experimentați și încercați alte dispozitive seriale. Acum știi cum să folosești portul USB ca port serial Hardware!

SFAT: Există un #define în cod, care vă permite să comutați între utilizarea portului USB ca serial emulat sau ca serial hardware. Experimentați și verificați dacă dispozitivul serial atașat (HC-06) nu comunică decât dacă forțăm USB-ul să funcționeze ca serial hardware!

Recomandat: