Pobieranie śmieci wejściowych i wyjściowych przez połączenie szeregowe z mikrokontrolerem

0

Próbuję połączyć się z płytą MicroZed przez port szeregowy USB z teraterm w systemie Windows 7 i mam problemy. Byłem w stanie połączyć się z tą dokładną płytą za pomocą minicom w Linuksie, ale nie mogę zmusić jej do pracy z Windows. Nie musiałem też niczego konfigurować z Linuksem, użyłem tylko minicom -D / dev / ttyUSB0. Co spowodowałoby ten problem z połączeniem w systemie Windows?

Załączony zrzut ekranu polega na tym, że gdy jestem połączony, piszę „ls”. Więc łączy się dobrze, ale dane wyjściowe i wejściowe są zniekształcone. (zobacz, co napisałem po czerwonej części to „ls”)

Zdjęcie śmieci

SwimBikeRun
źródło
2
Czy ustawienia są prawidłowe? Zwłaszcza szybkość transmisji ... Gdybym musiał zgadywać, spróbowałbym ustawić ją na 9600.
ppeterka
9600 powoduje również śmieci. Jednak w przypadku 9600 nie mogę już wpisać polecenia „ls” i zwrócić mu coś (choć zniekształcone).
SwimBikeRun
Hmm, właśnie googlowałem i stwierdziłem, że rzeczywiście 115200,8, n, 1, n jest zalecanym ustawieniem. Ponadto, patrząc lepiej, widzę tam plik README: ta nazwa pliku wydaje się być w porządku. Wydaje się, że terminal był w niewłaściwym trybie emulacji ... Niektóre znaki mają rację, inni nie ...
ppeterka
Wydaje się, że dane wejściowe nie są zniekształcone; to echo, które jest niszczone. Zamiast polecenia „ls” spróbuj wpisać polecenia z przewidywalnym wynikiem, takim jak „echo ABCabc123”. Czy zamiast bootowania do systemu operacyjnego tej płyty (Linux?) Istnieje bootloader taki jak U-Boot?
trociny
Mogą występować dwie kwestie. (1) Niektóre postacie są dwie małe litery, jak LF, VTi FF. VDTs miał tryb monitora , który spowodował kody sterujące ASCII (takich jak Line Feed, Vertical Tabi Form Feed) który ma być wyświetlany jako podobnych znaków widocznych zamiast wykonywania działań na kursora. Ale chociaż takie znaki są w twoich wynikach, nadal trwa faktyczna kontrola kursora. (2) Niektóre małe litery alfa (ASCII 0x61: 0x7A) wydają się być odwzorowane na znaki rysowania linii, których zakres od 0x81 do 0xDF w kodach wyświetlanych na komputerach IBM.
trociny

Odpowiedzi:

-2

To samo mi się przydarzyło, a zamknięcie i ponowne otwarcie TeraTerm rozwiązało problem. Nie musiałem resetować MicroZed.

Podejrzewam, że TeraTerm może albo zsynchronizować się, albo automatycznie zmienić kodowanie znaków w locie. Podejrzewam, że to dlatego, że rozpocząłem komunikację w porządku. Następnie przechwyciłem plik binarny, który natychmiast spowodował problem, który widzisz. W tym stanie nie mogłem się z tego wydostać, dopóki nie zamknę TeraTerm.

BenOcc
źródło