logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

RS232 - i jakby przepełnianie bufora

bisz 15 Lis 2010 08:43 2079 15
REKLAMA
  • #1 8745706
    bisz
    Poziom 18  
    Witam. Borykam się z takim oto problemem. Zbudowałem sobie układ na mikrokontrolerze AVR który wysyła mi różnorakie dane na port szeregowy do komputera (prędkość 9600, 2 bity stopu, bez bitu parzystości). Port realizuje przejściówką na usb, gdyż używam na co dzień laptopa. Całość działa rewelacyjnie na stacjonarnym komputerze w pracy (jakis 4-rdzeniowy komputer z górnej półki). Natomiast na domowym laptopie mam taki problem, że terminal (używam do tego terminala br@y++) odbiera jakieś 4 linijki, lub określoną ilość znaków i odmawia dalszego odbierania. Gdzie leży problem ? Czy przepełniam jakiś bufor czy co ?
  • REKLAMA
  • #3 8753936
    arturt134
    Poziom 27  
    Ściągnij najnowsze sterowniki do przejściówki - miałem ten sam problem, pomogło. A Realterm jest chyba jednym z lepszych terminali, sam go używam.
  • REKLAMA
  • #4 8782252
    bisz
    Poziom 18  
    Przy zainstalowaniu innego sterownika pod windowsem, jest TROSZKĘ lepiej. Terminal wyświetla już cokolwiek, ale po odebraniu jakiejś ilości danych i tak odmawia posłuszeństwa i niezbędne jest rozłączenie i podłączenie ponowne... Na linuksie jest totalna padaczka. Mogę coś tam wysyłać składnią echo coś >> /dev/ttyUSB0 i na wysyłanie sam układ reaguje bezbłędnie - mruga konkretnymi lampkami na znak ze rozpoznał dany ciąg znaków,niestety odbieranie tego co mi układ wysyła przez składnię choćby cat /dev/ttyUSB0 jest bardzo losowe, przypadkowe wg, widzimisię laptopa.
    Dla przykładu terminal - gtkterm, otrzymać powinien tablicę 8 na 8 drukowaną 8-mioma wierszami, w efekcie wczytuje tylko pierwszy wiersz z kawałkiem drugiego, i ten ciąg znaków wyświetla powtarzając go ok kilka razy. Z tego co czytałem na różnych forach ludzie mają z tą przejściowką na linuksach podobne problemy... Czy nie ma innej alternatywy niż Prolific PL2303 ?
  • #5 8782373
    mirekk36
    Poziom 42  
    Pewnie że jest alternatywa i to działająca ZAWSZE , w 100% i w 1000% z każdym systemem ;)

    oczywiście to:

    FT232RL

    Dodano po 1 [minuty]:

    aha a zamiast tych różnych dziwnych terminali - ja od dawna używam znanego chyba na całym świecie programu

    Putty

    Podejrzewam, że tobie też jest znany ;) ... tylko musi być w miarę świeża wersja żeby miała obsługę także SERIAL .... działa zawsze wyśmienicie i żadnych problemów - polecam przynajmniej sprawdzić
  • #6 8783240
    bisz
    Poziom 18  
    Widzę że jest o niebo droższa... już domyślam się dlaczego to moje było takie tanie... że tak jeszcze zapytam, te przejściówki na wyjściu mają już sygnały na poziomie TTL ? Bo widzę symbole TXD i mnie to zastanawia...
  • #7 8807652
    bisz
    Poziom 18  
    Zadam jeszcze jedno pytanie. Czy karty PCMCIA sprawdzą się w tym przypadku ? Jako bardziej 'sprzętowe' ?:)
  • REKLAMA
  • #9 8807941
    arrevalk
    Poziom 25  
    Skoro Ci się coś dzieje dziwnego pod linuxem, to podaj zrzut dmesg po tym jak Ci się terminal powiesi w trakcie transmisji. Druga sprawa to zakończenia linii, na linuksie standard to <LF> natomiast w win to <CR><LF>.
    Co do samej przejściówki to sam od lat korzystam z rozwiązań opartych na kościach Profilic jak i FTDI i nie ma z nimi większych problemów.
  • REKLAMA
  • #10 8808141
    bisz
    Poziom 18  
    Czyli jaki znak powinienem stosować na końcu każdej linii ?
  • #11 8808933
    arrevalk
    Poziom 25  
    To już od ciebie zależy, ważne żeby na obu końcach koniec linii był identyfikowany w ten sam sposób. W dobrych terminalach da się takie rzeczy ustawić w ustawieniach transmisji.
  • #12 8809291
    bisz
    Poziom 18  
    Dmesg nie mówi nic sensownego... Ogólnie program gtkterm zachowuje się tak:
    Procek wysyła mi na port jakiś ciąg znaków.
    a Terminal zanim się zawiesi, wyświetla ten ciąg znaków powtórzony po enterach chyba ze 30 razy... mimo że dostał go tylko raz.
  • #13 8810184
    arrevalk
    Poziom 25  
    No to sprawdź czy na pewno (a potem jeszcze raz sprawdź) czy to przypadkiem nie wina oprogramowania na uC.
  • #14 8815094
    bisz
    Poziom 18  
    Nie, gdyż ta przejściówka na każdym stacjonarnym komputerze chodzi bez zarzutów i procek wysyła a terminal odbiera wszystko zgodnie z moimi życzeniami.
  • #15 9936239
    mikandrzej12321
    Poziom 12  
    Witam. Odświeżam temat, gdyż mam taki sam problem! Czasami działa (przez chwile) ok; a czasami odbiera milion razy ostatnio odebrany znak. Mam przejściówkę z poziomami TTL, do transmisji korzystam z układu tranzystorów na płytce zl11avr . Co robię nie tak?
  • #16 9949225
    bisz
    Poziom 18  
    U mnie problem zniknął jak zaopatrzyłem się w przejsciówkę opartą na układzie FT232RL. Te na układzie PL radzę omijać z daleka.
REKLAMA