Skocz do zawartości

program do komunikacji modułów (prosze o sprawdzenie kodu)


kaspeer

Pomocna odpowiedź

Prosiłbym o pomoc do w napisaniu programu do komunikacji radiowej dwóch modułów poprzez UART

http://www.mobot.pl/index.php?site=products&type=853&details=7771

chodzi mi o to aby jeden z modułów wysyłał przykładową wartość a drugi ją odbierał

chciałbym aby ten program był napisany w bascomie (od razu mówię ze mam książkę przeczytałem już pare kursów ale nic w nich nie znalazłem, ponieważ opisana jest tam komunikacja UART ale z komputerem)

Link do komentarza
Share on other sites

kaspeer, to wyobraź sobie że to tak samo jak pomiędzy prockiem z modułem radiowym, a komputerem. Jeżeli wiesz jak przesyłać i odbierać dane to samo robisz na 2 procku łączysz i działa ...

Link do komentarza
Share on other sites

ok juz cos bardziej sie rozjasnia sproboje cos sam napisac i po prostu wkleje tu kod programu

[ Dodano: 21 Lip 10 01:08 ]

Program do nadajnika

$regfile = "m16def.dat"

$crystal = 8000000

$baud = 9600

Dim I As Byte

I = 15

Do

Print ; I

Waitms 500

Loop

End

chodzi mi o to aby caly czas wysylal wartosc 15

program do odbiornika

$regfile = "m16def.dat" ' typ microprocesora

$crystal = 8000000 ' czestotliwosc oscylatora

$baud = 9600

Config Lcd = 16 * 2

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6

Dim I As Byte

Do

I = Waitkey()

If I = 15 Then

Gosub Wys

End If

Loop

End

Wys:

Cls

Lcd "Przeslana wartosc"

Lowerline

Lcd "To 15"

Wait 1

Return

odbiornik ma czekac na dane a w momencie gdy odbierze 15 wyswietnic na lcd

od razu mowie ze ja sie dopiero uczę pisac programy a tym bardziej do modułów radiowych

bo na polibudzie tego nie ucza a przydalo by sie 😤

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

A kolega to fuse bity w procku przeprogramował? Przypominam tylko, że każda ATmega jest sprzedawana z zaprogramowanym wewnętrznym oscylatorem 1Mhz, do tego czasami jest zaprogramowany bit clock div by 8.

Link do komentarza
Share on other sites

Przypominam tylko, że każda ATmega jest sprzedawana z zaprogramowanym wewnętrznym oscylatorem 1Mhz, do tego czasami jest zaprogramowany bit clock div by 8.

To co napisałeś jest jednoznaczne, włączone jest zawsze dzielenie przez 8, przez co mikrokontroler taktowany jest częstotliwością 1MHz.

Link do komentarza
Share on other sites

GruX napisał/a:

Przypominam tylko, że każda ATmega jest sprzedawana z zaprogramowanym wewnętrznym oscylatorem 1Mhz, do tego czasami jest zaprogramowany bit clock div by 8.

To co napisałeś jest jednoznaczne, włączone jest zawsze dzielenie przez 8, przez co mikrokontroler taktowany jest częstotliwością 1MHz.

To są dwa różne fusebity!

Link do komentarza
Share on other sites

Wewnętrzny oscylator i dzielenie przez 8 tak, zgadzam się, są różne fusebity, ale ty napisałeś to tak jakby mega miała wewnętrzny oscylator 1MHz plus dodatkowo jeszcze możliwość podzielenia tego 1MHz przez 8 (tak może być również, ale nie jest tak gdy kupujemy nową).

W rzeczywistości jest tak, że ten 1MHz jest następstwem tego, że wewnętrzny oscylator o częstotliwości 8MHz jest dzielony przez 8 poprzez włączenie dzielnika innym fusebitem.

Link do komentarza
Share on other sites

ciesze sie ze Sabre, i GruX, przypomnieli mi o fusebitach ale tylko Elvis, odpowiedzial na moj post, chodziło mi głownie aby ktos znający bascoma sprawdzil poprawnosc kodu

Link do komentarza
Share on other sites

Nie wszystkie obsługują. Najszybsze jakie testowałem to CC1100 - prędkość do 500kbps.

Natomiast tanie/proste moduły pracuję tylko z niskimi prędkościami. Nie jest to duży problem, bo takie moduły nie służą do przesyłania plików (np. filmów), do tego lepiej wykorzystać wifi.

Mają za to mały pobór prądu i niską cenę. Jeśli przesyłamy niewiele danych (np. odczytujemy stan czujników, albo wysyłamy komendę dla robota), to nawet 1200bps wystarczy.

[ Dodano: 24 Lip 10 09:19 ]

Według noty producenta moduły HM-T obsługują do 4800bps (9600 max).

Link do komentarza
Share on other sites

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.