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

Debian - dziwne znaczki z odczytu portu ttyS0 / ttyUSB0

canda 01 Lip 2014 17:54 2175 10
REKLAMA
  • #1 13758854
    canda
    Poziom 12  
    Posty: 39
    Pomógł: 1
    Witam,
    Czytam dane z portu rs232 i jak uruchomię putty wszystko jest ok ale jak próbuje czytać z konsoli dostaje tylko dziwne znaczki "?"
    Kod: Bash
    Zaloguj się, aby zobaczyć kod
    [/code]
    dane wysyła atmega32 - o czym nie wiem czego nie umiem ustawić?
  • REKLAMA
  • REKLAMA
  • #3 13758907
    canda
    Poziom 12  
    Posty: 39
    Pomógł: 1
    Ustawiam w putty
    Szybkość 1200
    Data bits 8
    stop bit 1
    parity none
    flow control Xon/Xoff
    i putty działa w 100% a na konsoli odczyt tylko znaki zapytania:((((
  • REKLAMA
  • #4 13758923
    podly
    Poziom 16  
    Posty: 228
    Pomógł: 12
    Ocena: 45
    Masz podłączoną atmegę do ttyS0, tak?
    Atmega wysyła jakieś dane a Ty chcesz je odczytać, tak?
    Odczytujesz przez putty i działa OK, tak?
    Przerywasz i odczytujesz przez cat /dev/ttyS0 i nie działa, tak?

    Tyle zrozumiałem.
    Jeśli tak jest, to przed cat /dev/ttyS0 musisz skonfigurować ttyS0 tak jak napisałem wyżej.
    Chyba, że coś źle z powyższego zrozumiałem :)
  • #5 13758956
    canda
    Poziom 12  
    Posty: 39
    Pomógł: 1
    Konfiguruje jak wyżej i otrzymuje "�������" :((( To moje pierwsze kroki więc pewnie czegoś nie wiem:(
    W zasadzie korzystam z rs485 i nim się komunikuje ale jak w putty działa a tu nie więc chyba to nie ma wpływu)
  • #6 13758984
    podly
    Poziom 16  
    Posty: 228
    Pomógł: 12
    Ocena: 45
    czyli jak konfigurujesz?

    stty dla 1200 8n1 powinno wyglądać tak:

    stty -F /dev/ttyS0 raw speed 1200 -clocal cs8 -parenb -cstopb

    podaj odczyt z 'stty -F /dev/ttyS0' przed uruchomieniem cat'a.
  • #7 13759009
    canda
    Poziom 12  
    Posty: 39
    Pomógł: 1
    
    speed 1200 baud; line = 0;
    min = 1; time = 0;
    -brkint -icrnl -imaxbel
    -opost -onlcr
    -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
    

    to co otrzymałem z wydania komendy - dalej mam te znaki zapytania:(

    jak podłączyłem konwerter na usb na rs czyli ttyUSB1
    zastosowałem to co napisałeś i mam odpowiedź prawidłową:) ale różni się.
    
    speed 1200 baud; line = 0;
    min = 1; time = 0;
    -brkint -icrnl -imaxbel
    -opost -onlcr
    -isig -icanon -echo -echoe
    
  • REKLAMA
  • #8 13759088
    podly
    Poziom 16  
    Posty: 228
    Pomógł: 12
    Ocena: 45
    jakieś czary widać :-)

    może stty nie bardzo chce działać z Twoim portem COM.
    Możesz popróbować ustawień poprzez setserial
    setserial /dev/ttyS0 baud_base 1200
    setserial -gav /dev/ttyS
    dodatkowo możesz jeszcze sprawdzić: lsof /dev/ttyS0 - czy coś nie korzysta z ttyS0
  • #9 13759106
    canda
    Poziom 12  
    Posty: 39
    Pomógł: 1
    teraz korzystam z przejściówki usb-rs485 i dziwi mnie to że w putty ok a w terminalu cuda:(
    Będą kombinować jak coś jeszcze przyjdzie Tobie to łowy to poproszę - ja podzielę się jak się uda mi to rozwiązać.
  • #11 13759303
    canda
    Poziom 12  
    Posty: 39
    Pomógł: 1
    Udało mi się uruchomić ttyS0 i jest ok jak podłącze konwerter usb na rs485 nie działa a na putty tak. jak podłącze usb na rs232 który mam na płytce testowej z atmegą - działa:)

    Teraz przydało by mi się zapisać dane odebrane do bazy danych - najlepiej firebirdsql ale nie wiem czy z powłoki bash dam rade czy muszę zaprząc do tego python, perl lub php.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik ma problem z odczytem danych z portu RS232 (ttyS0) przy użyciu polecenia `cat`, które zwraca tylko znaki zapytania, podczas gdy program PuTTY działa poprawnie. W odpowiedziach zasugerowano, aby skonfigurować port szeregowy za pomocą `stty`, ustawiając odpowiednią prędkość, bity danych, bity stopu i parzystość. Użytkownik próbował różnych ustawień, w tym 1200 baud, ale nadal otrzymywał nieprawidłowe znaki. Po podłączeniu konwertera USB-RS485 problem nadal występował, podczas gdy konwerter USB-RS232 działał poprawnie. Użytkownik rozważa zapis danych do bazy danych FirebirdSQL, ale nie jest pewien, czy powinien użyć Basha, Pythona, Perla czy PHP.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA