Se Arduino è connesso al computer e ha aperto Serial Monitor, i pin Tx e Rx funzioneranno ancora?

Supponiamo che una abbia collegato due delle schede Arduino Uno tramite i pin Rx e Tx. Quindi, se una o entrambe le schede Arduino fossero collegate al computer e possibilmente aprissero i monitor seriali, i pin Tx e Rx funzioneranno ancora? ad esempio, Arduino comunicherà ancora tramite i pin Rx e Tx quando comunica con il computer? Se non come farli funzionare durante la connessione al computer?

Commenti

  • Il chip USB FTDI è collegato ai pin TX / RX. Quindi seriale potrebbe non funzionare come previsto.

Risposta

Supponi che una abbia collegato due delle schede Arduino Uno tramite pin Rx e Tx.

Presumo che collegherai il TX di un Arduino allRX dellaltro e viceversa, che è il modo giusto per collegarli. Come ha spiegato theSealion nella sua risposta, non dovresti collegare due TX Pin insieme.

se una o entrambe le schede Arduino erano collegate al computer e possibilmente aprivano i monitor seriali

Se lo fai, Arduino non se ne accorgerà nemmeno.

Bene, per essere più precisi … cè un piccolo chip su Uno, nea r il connettore USB, etichettato “MEGA16U2”. Questo chip è usato come convertitore USB / seriale e noterà quando colleghi il collegamento USB e quando apri la porta. Tuttavia, il chip principale (il grande PDIP28), che è il microcontrollore che esegue il tuo sketch, non lo saprà né si preoccuperà.

Tx e Rx pin funziona ancora?

Assolutamente.

Arduino comunicherà ancora tramite Rx e il pin Tx quando comunica con il computer?

LRX non comunicherà con il computer. Quello che succederà è:

  • Tutto ciò che il tuo Arduino scrive sulla sua porta seriale verrà ricevuto sia dallaltro Arduino che dal monitor seriale.
  • Tutto ciò che invii tramite il monitor seriale andrà perso.
  • Quando Serial.read(), otterrai tutto ciò che è stato impostato dallaltro Arduino.

Il motivo di questo comportamento è un 1   resistenza kΩ che si trova tra il TX del Mega16U2″ e lRX del microcontrollore principale. Quando si collega questo RX al TX dellaltro Arduino, che è a bassa impedenza (≈ 2 5   Ω), quel TX “vincerà”: unuscita a bassa impedenza supera quella ad alta impedenza.

Risposta

come far funzionare [due Arduino che comunicano tra loro] durante la connessione al computer?

Esistono diversi modi in cui 2 Arduino possono comunicare direttamente tra loro mentre uno o entrambi comunicano con il monitor seriale di un computer laptop tramite USB.

  • Usa un UART per gli Arduino per comunicare che è indipendente dalla connessione USB. (Vedi https://www.arduino.cc/reference/en/language/functions/communication/serial/ )

    • Diverse schede compatibili con Arduino come Arduino Mega 2560, Arduino Due, Arduino Uno Wifi Rev.2, ecc. Hanno 4 UART hardware; i pin di Serial1 (notare “1”) potrebbero essere usati per comunicare con un altro Arduino senza interferire con la comunicazione UART seriale (senza un “1”) tramite USB a un laptop. (Ahimè, Arduino Uno ha solo 1 UART hardware).
    • Arduino Micro basato su ATmega32u4 e Arduino Leonardo e derivati Arduino basati su ATmega32u4 come FLORA e molti dei derivati di Arduino basati su ARM come la serie Teensy hanno uninterfaccia USB che non utilizza alcuna dei pin UART; quindi i pin di Serial1 (notare “1”) potrebbero essere usati per comunicare con un altro Arduino senza interferire con la comunicazione seriale (senza un “1”) non UART tramite USB a un laptop. (Ahimè , Arduino Uno ha uninterfaccia USB che usa i suoi unici pin UART hardware).
    • Anche Arduino Uno, che ha solo 1 UART hardware i cui pin sono cablati il chip dellinterfaccia USB, può eseguire il bit-bang una simulazione lenta di un UART su altri pin. Vedi Qual è ' la differenza tra tutti le librerie di serie del software? Quale è compatibile con Arduino Nano? .
  • Invece di provare a simulare un UART nel software (la tempistica è un po complicata), potrebbe essere più facile / veloce usarne altri meno sensibili al tempo modalità di comunicazione tra Arduino Unos o altri Arduino, come

Risposta

Ho esattamente lo stesso problema! Stavo usando la scheda Arduino Uno con un mkii Jtag ICE per il debug che funzionava bene. Quando ho iniziato a usare lUART, è stato un gran casino. La trasmissione da Arduino a un adattatore TTL-USB esterno funzionava ma non nellaltra direzione. Ho giocato ore prima di vedere questo thread e questo mi ha dato lidea di esaminare la shematic – > Bang! Ho visto le due resistenze. Lezione appresa: non utilizzare lhardware Arduino senza il resto degli strumenti! Ho pensato che fosse una buona idea usare lhardware per uno sviluppo rapido. Ora mi costa più tempo di quanto pensassi …

Risposta

Non dovresti “collegare due TX Pin insieme. Il Arduino ha alcune resistenze di protezione ma anche se non è consigliabile collegare due pin di uscita.

Lunico modo per salvare direttamente i pin RX / TX è rimuovere le resistenze di protezione (RN4A e RN4B nel progetto di riferimento ) o almeno lRN4A e utilizzare solo una connessione alla volta. Non aiuta se non si utilizza la connessione al PC o non si apre il monitor seriale poiché i pin sono ancora unuscita.

(Più pin RX non sono un problema poiché sono ingressi)

(E ovviamente so che potrebbe funzionare con più pin TX insieme la maggior parte del tempo, ma lo consiglierei)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *