Skocz do zawartości

Podłączenie dwóch modułów gsm i ethernet wykorzystujacych tx i rx pod jedno arduino


max-in

Pomocna odpowiedź

Możesz wykorzystać bibliotekę SoftwareSerial.

Wchodzisz w przykłady, zakładka przykłady dla arduino uno i tam masz software serial. Na podstawie tego przykładu można to spokojnie ogarnąć.

Mam nadzieję, że pomogłem 🙂

Link do komentarza
Share on other sites

uzywam tej biblioteki dla modułu gsm tylko czy moduł gsm nie pogryzie się z modułem ethernet .tzn czy dane tx rx będą rozpoznawane przez arduino .

właściwie jesli arduino wyśle komendę poprzez tx rx dla modułu gsm to moduł ethernet jej po prostu niewykona pomimo że też będzie podłączony do tx rx .czy dobrze myślę ?

Link do komentarza
Share on other sites

Dlaczego miałby jej nie wykonać? Przecież jeśli wysyłasz po tych samym drucie to samo do obu, to oba urządzenia odbierają to samo. I dlatego potrzebujesz drugiego, osobnego UARTa z osobnymi Rx i Tx. I dlatego musisz użyć jakiejś biblioteki, tworzącej taki drugi, robiony całkowicie programowo UART. Tworzysz wtedy drugi "kanał" komunikacyjny przez który rozmawiasz z drugim urządzeniem. Wtedy jedno o drugim nic nie wie i to działa. Procesor za to musi wysyłać raz przez normalny Serial (i podstawową parę Tx/Rx):

Serial.print("A kuku");

a raz przez to nowe coś (i nową parę Tx/Rx - to Ty wskazujesz które piny to mają być), dla przykładu nazwane Serial2:

Serial2.print("Hej_ho!");

Pamiętaj, że taki programowy UART zżera czas procesora, bo trzeba programem udawać kawałek sprzętu. Dlatego przez ten nowy kanał podłącz coś wolnego, najlepiej nieprzekraczającego prędkości 9600.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Tak się teraz zastanawiam, czy rzeczywiście potrzebujesz drugiego UARTa do komunikacji z modułem Ethernet? Te najbardziej popularne (na scalaku 28J60) działają przez o wiele szybsze SPI więc nie byłoby problemu z równoległa pracą modemu GSM. Na łączu asynchronicznym Tx/Rx znam tylko te z serii WIZZ, ale to stosunkowo drogie rzeczy. Czego używasz do LANu?

A do robienia programowego UARTa używałem kiedyś biblioteki AltSoftSerial. O ile pamiętam używa timera 1 (ze wszystkimi tego konsekwencjami typu zniknięcie 2 sprzętowych wyjść PWM) i ma ustalone dwa piny Tx/Rx, ale za to praktycznie wcale nie zjada czasu procesora i pracuje w pełnym duplexie (jednoczesne nadawanie i odbiór) do znacznie większych prędkości.

https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html

https://github.com/PaulStoffregen/AltSoftSerial

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.