Skocz do zawartości

Przesył danych: LabView Teensy 3.6 HC-11


Anonim

Pomocna odpowiedź

Witam Wszystkich 🙂

Mam mały problem który jest zapewne banalny i nie raz bez problemu rozwiązywałem podobne, niestety tym razem poległem...

Mój problem polega na wysyłaniu danych z dwóch Teensy 3.6 za pomocą modułu HC-11 do modułu HC-11 podłączonego do komputera, a przez to do Labview. Algorytm jest taki: Labview wysyła "1" czeka przez 3 sekundy na dane, a później wysyła "2" i znowu czeka na dane. I tak cały czas w kółko. Jedno Teensy sprawdza czy jest "1" i wysyła dane, a drugie Teensy sprawdza czy jest "2" i wysyła dane. Mam nadzieję, że można się domyślić jak to działa.

Ubiegając pytania:

Wszystko działa z prędkością 57600

LabView wysyła dane, sprawdziłem podłączając jeden modem HC-11 do drugiego komputera i podejrzałem za pomocą CoolTerm

Sprawdziłem połączenie modułu z Teensy. Jest podłączony do Serial1

Program:

int d;
void setup() 
{
   Serial1.begin(57600); 
   analogReadResolution(13);
}
void loop() 
{
// część programu 

//Serial1.setTimeout(10000);  <-- To też próbowałem dawać
if (Serial1.available() > 0) 
        {
             d = Serial1.parseInt()
             if (d==1)
            {
             //Wysyła dane
            }
       }
}

Jakiekolwiek pomysły?

Link do komentarza
Share on other sites

Żeby te moduły widziały się wzajemnie, po stronie radiowej muszą mieć ustawione ten sam kanał częstotliwości i ten sam adres. Czy tak jest? Sprawdzałeś AT+RX?

Poza tym swoje rozróżnienie węzłów robisz na warstwie danych a to zły pomysł gdy nie wiesz nic o protokole na warstwie fizycznej. Dlaczego nie skorzystasz z możliwości adresowania wbudowanego w moduły? Ustawiając inny adres każdemu węzłowi slave (AT+A) masz zapewnione rozróżnianie ich już na najniższej warstwie. Wtedy wysyłasz do każdego to samo, ale wcześniej programujesz w masterze inny adres.

Teraz jesteś w kropce, bo każdy slave odbiera każdy komunikat mastera a nie wiesz co robi dalej w radiu. Być może wysyła potwierdzenie odebrania komunikatu a dwie ramki wysłane na raz z dwóch różnych transceiverów rozwalają komunikację.

Link do komentarza
Share on other sites

Moduły siebie widzą. Sprawdziłem adresy i kanały. Wszystko jest takie same.

Właśnie, najlepiej było by zrobić to master i dwa slavy, tylko w dokumentacji jest jak dla mnie mała nieścisłość. Jeżeli moduły mają siebie widzieć to adres i kanał musi być taki sam, a więc jak ustawić slavy?

Może jest tak, że Master ma mieć adres 000, Slave1 adres 001 oraz Slave2 adres 002. Tylko wtedy pytanie jest jak te adresy wysłać nie w bloku danych tylko w najniższej warstwie w LabView

Link do komentarza
Share on other sites

Ustawiając inny adres każdemu węzłowi slave (AT+A) masz zapewnione rozróżnianie ich już na najniższej warstwie. Wtedy wysyłasz do każdego to samo, ale wcześniej programujesz w masterze inny adres.

Co w tym jest niejasne? Jeden slave ma jeden adres, drugi slave ma drugi, a master przełącza się między nimi w zależności od tego do którego chce wysyłać.

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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.