To forum używa plików cookies
To forum wykorzystuje pliki cookies do przechowywania informacji o Twoim logowaniu, jeśli jesteś zarejestrowany, oraz informacji o Twojej ostatniej wizycie, jeśli nie jesteś zalogowany. Pliki cookies to niewielkie pliki tekstowe zapisywane na Twoim komputerze; cookies ustawiane przez to forum mogą być używane wyłącznie na tej stronie i nie stanowią zagrożenia dla bezpieczeństwa. Cookies na tym forum śledzą również, które tematy zostały przez Ciebie przeczytane oraz kiedy miało to miejsce. Prosimy o potwierdzenie, czy akceptujesz, czy odrzucasz zapisywanie tych plików cookies.

Niezależnie od wyboru w Twojej przeglądarce zostanie zapisany plik cookie, aby zapobiec ponownemu zadawaniu tego pytania. W każdej chwili będziesz mógł zmienić ustawienia cookies, korzystając z linku w stopce strony.

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ARCP-590 Kenwood a ATMEGA
#21
Ja wiem co chce zrobić, ale najpierw trzeba wiedzieć, czy program cokolwiek wysyła i w jaki sposób, bo być może kol. niepotrzebnie szuka błędu u siebie w programie.
Zapętlenie to chodzi mi o to, aby puścić transmisję z jednego na drugiego com'a.
Cytuj
#22
Kolego free,
napisz sobie taką pętle i zobacz czy Ci coś wysyła procek.
Do
Print "A"
wait 1
Loop

Powinien Ci wysyłać znak "A" co sekundę
Cytuj
#23
Jest mały postęp z tą pętlą nawiązał połączenie ale program się zawiesza a na wyświetlaczu nic się nie dziej
Cytuj
#24
A z jaką szybkością chodzi ta twoja do odświeżania LCD pętla? Na LCD można pisać kilka razy na sekundę, bo tak to nic nie zobaczysz.
Cytuj
#25
(24-03-2014, 21:12)free napisał(a): Jest mały postęp z tą pętlą nawiązał połączenie ale program się zawiesza a na wyświetlaczu nic się nie dziej
O jakiej pętli kolega pisze? o tej do wysyłania ?

Cytuj
#26
Połączenie jest poprawne jeżeli mam zaznaczone w programie FT 817 linie DTR/RTS


Załączone pliki Miniatury
   
Cytuj
#27
(24-03-2014, 21:22)free napisał(a): Połączenie jest poprawne jeżeli mam zaznaczone w programie FT 817 linie DTR/RTS
Kod:
Do


   Input S


   Cls :
   Locate 1 , 1 : Lcd S

  Loop

ja się tam na bascomie nie znam, ale tu chyba nie ma nic do opóźnienia. Piszesz na LCD z pełną szybkością z jaką chodzi pętla Loop. Zmiany mogą być tak szybkie, ze nic na LCD nie zobaczysz. No chyba, że ja tu czegoś nie kumam.

Ale co rozumiesz przez poprawne połączenie, to co się wtedy dzieje, że jest poprawne.
Cytuj
#28
Fotka wyżej jak to wygląda
Cytuj
#29
No więc panie kolego z moich obserwacji wynika, że program ten przy próbie połączenia z radiem wysyła coś takiego (ramki po 5 bajtów):

0xFF 0xFF 0xFF 0xFF 0xFF (czyszczenie bufora)
0x00 0x00 0x00 0x00 0x0F ( Power ON)
0x00 0x00 0x00 0x00 0x03 (Read Frequency and mode)

więc pierwsze 0xFF które lecą mają zapewne za zadanie wyczyścić śmieci w buforze radia, później w następnej linijce radio zostaje włączone
a w następnej czyta częstotliwość i tryb pracy.

Jeśli teraz po tej 3-ciej ramce nie odpowiesz mu częstotliwością i trybem pracy
to się nie połączysz z programem. Program w wyniku braku odpowiedzi powtarza całą sekwencję 2 lub 3 razy (dokładnie nie wiem, bo więcej nie złapałem na analizatorze).

Więc teraz musisz to wszystko czytać, parsować i reagować w odpowiednim miejscu.
Zrób sobie bufor na 5 bajtów i do niego czytaj znaki, a potem sprawdzaj ostatni znak, jak będzie to coś z listy rozkazów, która cię interesuje to wykonasz polecenie, a jak nie to wyczyścisz bufor i będziesz czekał na następną ramkę.


Chyb więcej nie pomogę na tym etapie.
Cytuj
#30
Kolega SP9RQA ma racje, że nic nie zobaczysz na LCD jeśli będziesz go tak szybko odświeżał. Nie wiem też dlaczego używasz instrukcji CLS a za nią Locate 1,1, napisz tylko tak Locate 1, 1 a pod nią Lcd "" ; S ; " ". Nie znam instrukcji Input, ale przypuszczam że jak buforze RS nie będzie bajtu to instrukcja zwróci wartość zero.
Jeszcze jedna rzecz mnie zastanawia w swoim programie masz prędkość 9600 a w programie FT 817 widzę 38400, to coś tu nie gra.
Cytuj


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości