Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Kurs: programowanie portu szeregowego EP - błędna transmisja

MES Mariusz
-
-
Posty:91
Rejestracja:17 lut 2005, o 12:02
Lokalizacja:Wrocław
Kontaktowanie:
Kurs: programowanie portu szeregowego EP - błędna transmisja

Postautor: MES Mariusz » 29 sie 2009, o 19:54

Witam.

Połączyłem dwa komputery kablem Null Modem. Na obu Ubuntu 8.10.

- Na pierwszym w konsoli uruchomiłem skompilowany mail.c
- Na drugim program terminala GtkTerm i ustawiam odpowiednie parametry: Baudrate 19200, Parity none, Databits 8, Stopbits 1


Na pierwszym komputerze uruchamiam skompilowany main.c. Gdy na zachętę Type 0...9 (q-quit): wpisuję np. 1, na drugim komputerze w terminalu obserwuję, że kursor przesunął się jedną pozycję do przodu i nic więcej (jedynka nie dotarła - nie pojawiła się w terminalu).

W tym samym czasie na klawiaturze drugiego komputera piszę cokolwiek, i odpowiedź dociera prawidłowo:

************** RESPONSE **************
Response ASCII: ytrytry
Response's bytes: 121 116 114 121 116 114 121
InQue: 7
BytesRead: 7
*********** END OF RESPONSE ***********


Czyli transmisja przebiega prawidłowo, ale tylko w drugą stronę.

Pomyślałem, że to może jakaś przypadłość GtkTerm. Na drugim komputerze uruchomiłem więc Windows i Bascomowy terminal. Efekt podobny, tyle, że poza przesunięciem kursora w oknie terminala otrzymuję pojedynczy "krzak".

Ktoś ma jakieś podejrzenia, co się może dziać niedobrego w przypadku transmisji w "pierwszą stronę" ?

Pliczki znajdują się w załączniku.
Załączniki
rs232.rar
(12.91KiB)Pobrany 548 razy

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 29 sie 2009, o 22:29

Nie przyglądałem się dokładnie temu kodowi, może trochę dziwnie napisany ale nieważne.

Spróbuj na obu maszynach (pod Linuxem) odpalić taki programik (załącznik), zobaczysz czy to problem systemu/kabla/portu. A ja się jeszcze przyjrzę temu z Twojego załącznika, ale dopiero w nast. tygodniu. No chyba że autor (czy ktoś inny) wcześniej rozwiąże Twój problem.
Załączniki
a.rar
(4.39KiB)Pobrany 562 razy

MES Mariusz
-
-
Posty:91
Rejestracja:17 lut 2005, o 12:02
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: MES Mariusz » 29 sie 2009, o 23:13

Nie przyglądałem się dokładnie temu kodowi, może trochę dziwnie napisany ale nieważne.

Spróbuj na obu maszynach (pod Linuxem) odpalić taki programik (załącznik), zobaczysz czy to problem systemu/kabla/portu. A ja się jeszcze przyjrzę temu z Twojego załącznika, ale dopiero w nast. tygodniu. No chyba że autor (czy ktoś inny) wcześniej rozwiąże Twój problem.
Gdy na obu maszynach uruchomię terminale (GtkTerm) transmisja odbywa się prawidłowo w obie strony. Wyklucza to winę kabla, systemu, terminala słowem czegokolwiek poza skompilowanym softem (?).

Jakieś pomysły?

MES Mariusz
-
-
Posty:91
Rejestracja:17 lut 2005, o 12:02
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: MES Mariusz » 30 sie 2009, o 19:30

Problem rozwiązany. Nie przyglądnąłem się kodowi, a autor wstawił byte=(unsigned char)digit-0x30;. Tego -0x30 się tam nie spodziewałem ;-)

a_antoniak
-
-
Posty:651
Rejestracja:13 sty 2005, o 18:38
Lokalizacja:Krasnystaw
Kontaktowanie:

Postautor: a_antoniak » 5 wrz 2009, o 22:26

Nie przyglądałem się dokładnie temu kodowi, może trochę dziwnie napisany ale nieważne.
A co tam dziwnego się zalęgło? :)

Pzdr

MES Mariusz
-
-
Posty:91
Rejestracja:17 lut 2005, o 12:02
Lokalizacja:Wrocław
Kontaktowanie:

Re: Kurs: programowanie portu szeregowego EP - błędna transm

Postautor: MES Mariusz » 22 cze 2011, o 10:30

Czy da się w prosty sposób skompilować kod z załącznika rs232.rar powyżej w systemie Windows?

Kompilator informuje o braku pliku sys/ioctl.h oraz termios.h

Wróć do „PLD/FPGA i inne zagadnienia techniki cyfrowej”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 16 gości