Jos Arduino on kytketty tietokoneeseen ja avannut Serial Monitorin, toimivatko Tx ja Rx pin edelleen?

Oletetaan, että yksi liitti kaksi Arduino Uno -levyä Rx- ja Tx-nastojen kautta. Sitten, jos yksi tai molemmat Arduino-kortit on kytketty tietokoneeseen ja mahdollisesti avaaneet sarjamonitorit, toimivatko Tx ja Rx pin edelleen? ts. kommunikoiko Arduino edelleen Rx: n ja Tx: n kautta, kun se on yhteydessä tietokoneeseen? Jos ei, miten saada ne toimimaan samalla kun muodostat yhteyden tietokoneeseen?

Kommentit

  • USB FTDI -piiri on kytketty TX / RX-nastoihin. Sarja ei siis välttämättä toimi odotetulla tavalla.

Vastaa

Oletetaan, että toinen on liittänyt kaksi Arduino Uno -levyä Rx- ja Tx-nastojen kautta.

Oletan, että yhdistät yhden Arduinon TX: n toisen RX: hen ja päinvastoin, mikä on oikea tapa yhdistää ne. Kuten theSealion selitti vastauksessaan, sinun ei pitäisi yhdistää kahta TX-nastaa yhteen.

jos yksi tai molemmat Arduino-kortit on kytketty tietokoneeseen ja mahdollisesti avanneet sarjamonitorit

Jos teet niin, Arduino ei edes huomaa.

No, tarkemmin sanottuna … Unossa on pieni siru, nea r USB-liitin, jonka otsikko on ”MEGA16U2”. Tätä sirua käytetään USB / sarjamuuntimena, ja se huomaa kun liität USB-linkin ja avaat portin. Pääpiiri (iso PDIP28), joka on luonnostasi ajava mikro-ohjain, ei kuitenkaan tiedä eikä välitä.

Tx ja Rx kiinnittävät toimiiko edelleen?

Ehdottomasti.

kommunikoi Arduino edelleen Rx: n kautta ja Tx-pin, kun se on yhteydessä tietokoneeseen?

RX ei ole yhteydessä tietokoneeseen. Mitä tapahtuu, on:

  • Mitä Arduino kirjoittaa sarjaporttiinsa, vastaanottaa sekä toinen Arduino että sarjavalvoja.
  • Kaikki, mitä lähetät sarjakuvan kautta, menetetään.
  • Kun Serial.read(), saat mitä tahansa toisen Arduinon asettamaa.

Tämän käyttäytymisen syy on 1   kΩ vastus, joka sijaitsee Mega16U2″ TX: n ja päämikrokontrollerin RX: n välillä. Kun liität tämän RX: n toiseen Arduinon TX: ään, jonka impedanssi on matala (≈ 2 5   Ω), että TX ”voittaa”: matalan impedanssin lähtö ylittää korkean impedanssin.

Vastaa

miten saada [kaksi keskenään kommunikoivaa Arduinoa] toimimaan samalla kun muodostat yhteyden tietokoneeseen?

Kahdella Arduinolla on useita tapoja kommunikoida suoraan keskenään, kun toinen tai molemmat kommunikoivat kannettavan tietokoneen sarjakuvan kanssa USB: n kautta.

  • Käytä USB-yhteydestä riippumatonta kommunikointia varten Arduinosin UART-protokollaa. (Katso https://www.arduino.cc/reference/en/language/functions/communication/serial/ )

    • Useat Arduino-yhteensopivat levyt, kuten Arduino Mega 2560, Arduino Due, Arduino Uno Wifi Rev.2 jne. Sisältää 4 laitteiston UART-laitetta; Serial1: n nastoja (huomaa ”1”) voitiin käyttää kommunikointiin toisen Arduinon kanssa häiritsemättä Serial (ilman ”1”) UART-viestintää USB: n kautta kannettavaan tietokoneeseen. (Valitettavasti Arduino Unolla on vain yksi laitteiston UART).
    • ATmega32u4 -pohjaiset Arduino Micro- ja Arduino Leonardo- sekä ATmega32u4-pohjaiset Arduino-johdannaiset, kuten FLORA ja monilla ARM-pohjaisilla Arduino-johdannaisilla, kuten Teensy -sarjalla , on USB-liitäntä, joka ei käytä mitään UART-nastoista; joten Serial1: n nastoja (huomaa ”1”) voidaan käyttää kommunikointiin toisen Arduinon kanssa häiritsemättä sarjakuvaa (ilman ”1”) ei-UART-tiedonsiirtoa USB: n kautta kannettavaan tietokoneeseen. (Valitettavasti , Arduino Unolla on USB-liitäntä, joka käyttää ainoat laitteiston UART-nastat).
    • Jopa Arduino Uno, jolla on vain yksi laitteiston UART, jonka nastat on kytketty kiinteästi USB-liitäntäsiru, voi bittiräjähtää UART: n hitaan simuloinnin muilla nastoilla. Katso Mikä ' on kaikkien ero ohjelmistosarjakirjastot? Mikä on Arduino Nano -yhteensopiva? .
  • Sen sijaan, että yrität simuloida UART: ta ohjelmistossa (ajoitus on tavallaan hankala), voi olla helpompaa / nopeampi käyttää muita vähemmän aikaa herkkiä tapoja kommunikoida Arduino Unosin tai muiden Arduinojen välillä, kuten

Vastaus

Minulla on täsmälleen sama ongelma! Käytin Arduino Uno -levyä Jtag ICE mkii: n kanssa virheenkorjaukseen, joka toimi hienosti. Kun aloin käyttää UART: ta, se oli raskas sotku. Lähetys Arduinosta ulkoiseen TTL-USB-sovittimeen toimi, mutta ei toiseen suuntaan. Pelasin tunteja ennen kuin näin tämän säikeen ja se antoi minulle ajatuksen tarkastella shemaattista – > Bang! Näin kaksi vastusta. Oppitunti: Älä käytä Arduino-laitteistoa ilman muita työkaluja! Luulin, että oli hyvä käyttää laitteistoa nopeaan kehitykseen. Nyt se maksaa minulle enemmän aikaa kuin ajattelin …

Vastaa

Älä yhdistä kahta TX-nastaa yhteen. Arduinolla on joitain suojavastuksia, mutta kahden lähtöliittimen liittämistä ei myöskään suositella.

Ainoa säästötapa käyttää RX / TX-nastoja suoraan on poistaa suojavastukset (RN4A ja RN4B vertailurakenteessa ) tai ainakin RN4A: ta ja käytä vain yhtä yhteyttä kerrallaan. Se ei auta, jos et käytä PC-yhteyttä tai et avaa Serial Monitoria, koska nastat ovat edelleen lähtö.

(Useita RX-nastoja ei ole ongelma, koska ne ovat syötteitä)

(Ja tietysti tiedän, että se voisi toimia useiden TX-nastojen kanssa suurimman osan ajasta, mutta suosittelisin sitä)

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *