Mam problem z systemem mikroprocesorowym 51 mam go podlaczony przez MAX 232 do portu Com PC-ta i uzyam terminala do przesylania danych do sytemu z predk. 19200 wszystko jest ok jesli przesylam pojedyncze znaki z klawiatury i te zostaja wyswietlone na LCD systemu ale jesli w terminalu wylse plik tekstowy to juz mam rozne znaczki na wyswietlaczu bufor RS232 systemu 51 jednak nie zostaje przepelniony a wyswietlanie nastepuje w petli programu glownego a nie z przerwania lacza szeregowego Poza tym gdy ustawie w terminalu wysylanie znakow co 1ms i znaku kolejnej lini tez co 1 ms to wszystko jest OK poza tym ze za znakiem kolejnej lini jest przesylany jeszcze jakis znak dodatkowy a transmisja wiekszych plikow trwa wiecznosc Prosze o pomoc GG 3154862 lub emali krzlison@poczta.onet.pl
problem znakow wystepuje tylko jezeli uzywam DOS funckju copy do Com lub pod terminalem wysylany jest plik bez przerw czasowych tzn odstepy miedzy kolejnymi znakami i znakiem konca lini ustawiony jest w terminalu w opcjach na 0
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ęRS232C i 89C51
Moderatorzy:Jacek Bogusz, procesorowiec, robertw, tomasz_jablonski, r-mik, Moderatorzy
Ostatnio zmieniony 7 cze 2004, o 14:53 przez 35888, łącznie zmieniany 2 razy.
no wiec tak:
co do tych znakow konca linii to windows w plikach tekstowych po znaki konca linii (chyba kod ascii 10) wstawia sobie znak poczatku (nowej) linii (chyba ascii 13) - z plikiem tekstowym utworzonym np. w systemie linux nie mial bys tego problemu
a co do przesylania calych plikow to niewiele ci moge pomoc, moze napisz cos wiecej o tym systemie i programie w nim, a swoja droga sprobuj moze mniejsza predkosc ustawic (zarowno w kompie jak i w systemi oczywiscie) moze to pomoze
co do tych znakow konca linii to windows w plikach tekstowych po znaki konca linii (chyba kod ascii 10) wstawia sobie znak poczatku (nowej) linii (chyba ascii 13) - z plikiem tekstowym utworzonym np. w systemie linux nie mial bys tego problemu
a co do przesylania calych plikow to niewiele ci moge pomoc, moze napisz cos wiecej o tym systemie i programie w nim, a swoja droga sprobuj moze mniejsza predkosc ustawic (zarowno w kompie jak i w systemi oczywiscie) moze to pomoze
W środowisku DOS i WINDOWS jako koniec linii jest traktowane wystąpienie dwóch znaków <CR> i <LF> (znaki o kodach 0D hex i 0A hex). Znaki te to:
CR - powrót karetki na początek wiersze
LF - przejście do następnego wiersza.
W UNIX i LINUX jako koniec wiersza jest znak LF (jako przejście do noewgo wiersza). Nie ma znaków końca i początku wiersza.
35888, jeżeli będziesz te znako wpychał do wyświetlacza LCD, to dostaniesz jakieś krzaczki w miejscach tych znaków. Musisz analizować strumień znaków do wyświetlenia i po napotkaniu pewnych znaków realizować funkcjonalność związaną z tymi znakami a nie pakować wszystko na wyświetlacz. W plikach przygotowanych pod DOS/WINDOWS możesz napotkać jeszcze znak Ctrl-Z jako znak końca pliku.
CR - powrót karetki na początek wiersze
LF - przejście do następnego wiersza.
W UNIX i LINUX jako koniec wiersza jest znak LF (jako przejście do noewgo wiersza). Nie ma znaków końca i początku wiersza.
35888, jeżeli będziesz te znako wpychał do wyświetlacza LCD, to dostaniesz jakieś krzaczki w miejscach tych znaków. Musisz analizować strumień znaków do wyświetlenia i po napotkaniu pewnych znaków realizować funkcjonalność związaną z tymi znakami a nie pakować wszystko na wyświetlacz. W plikach przygotowanych pod DOS/WINDOWS możesz napotkać jeszcze znak Ctrl-Z jako znak końca pliku.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości