f
Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/sessions.php on line 548

Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/sessions.php on line 549

Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/page_header.php on line 343
And-Tech :: Zobacz temat - RS 232

Strona korzysta z plików cookie w celu realizacji usług zgodnie z Politykš prywatnoœci.

Możesz okreœlić warunki przechowywania lub dostępu do cookie w Twojej przeglšdarce lub konfiguracji usługi.

And-Tech Strona Główna And-Tech
Forum firmy And-Tech

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  AlbumAlbum  DownloadDownload

Poprzedni temat «» Następny temat
RS 232
Autor Wiadomość
grzeniu 73 

Dołączył: 11 Mar 2012
Posty: 39
Skąd: Dania
Wysłany: Sob Cze 08, 2013 1:01 pm   RS 232

Witam!
Pojawiam sie z kolejnym problemem :grin:
Zacząłem sie bawić terminalem i transmisja UART. Znalazłem w sieci przykłady w C jak korzystać z terminala z emulacja VT100. Nauczyłem sie obsługiwać go w Bascomie ,tylko nie mogę sobie poradzić z ustawianiem kolorów.Zależy mi na tym ,bo fajnie zastępuje wyświetlacze, a zwłaszcza jeżeli chcemy mieć dane na komputerze ,a nie umiemy pisać programów na PC. Umie Ktoś ustawiać kolory w terminalu?
 
     
piotr94 
Site Admin

Dołączył: 02 Lut 2010
Posty: 606
Skąd: Kraków
Wysłany: Pon Cze 10, 2013 8:08 am   

Ale o ustawienie jakich kolorów chodzi?
Z tego co czytałem wiadomości o tym terminalu to są do tego specjalne komendy wysyłane przez urządzenie nadające, znalazłem taką oto listę: http://www.termsys.demon.co.uk/vtansi.htm - na końcu jest podana komenda ustawiająca kolory.
Bylibyśmy wdzięczni, gdybyś mógł udostępnić swoje kody (opatrzone Twoim podpisem oczywiście) - zapewne inni użytkownicy będą nimi zainteresowani
_________________
http://www.piotr94.net21.pl/
 
     
grzeniu 73 

Dołączył: 11 Mar 2012
Posty: 39
Skąd: Dania
Wysłany: Pon Cze 10, 2013 6:15 pm   

No właśnie tez z tej strony sie posiłkuje,tylko z tym ustawianiem kolorów czcionki nie mogę zrozumieć. Reszta jest prosta . W bascomowym terminalu trzeba ustawić emulacje vt100.
I np:odpowiednik locate to:
Kod:
 Print Chr(27) ; "[10;10f" ; tu wpisujemy co chcemy wyświetlić na pozycji 10,10
ukryj kursor
Kod:
Print Chr(27) ; "[?25l"

Kasuj
Kod:
Print Chr(27) ; "[2J"
.
Ja porobiłem sobie stale np:
Kod:
Const Kasuj = "[2J" 
,a później w programie
Kod:
Print Chr(27) ; Kasuj
.
Kod:
Const Show = "[?25h"                                      'pokaz kursor
Inne kody wpisuje sie analogicznie. W ten sposób można korzystać prawie jak z wyświetlacza graficznego czy alfanumerycznego. Nie można jednak wpisać zmiennej w locate do ustawienia pozycji musi byc konkretna pozycja ustawiona.Ukryj /pokaz kursor w bascomowym terminalu nie działa.Ściągnąłem sobie putty terminal. Dla tych co piszą w C jest poradnik w video w necie i bardzo dobrze jest to pokazane. Dla bascoma nie znalazłem nic.
 
     
grzeniu 73 

Dołączył: 11 Mar 2012
Posty: 39
Skąd: Dania
Wysłany: Pią Cze 14, 2013 2:05 pm   

Zainteresowany ktos tematem? To proszę, doszedłem jak sie kolory zmienia. Tu Kody ANSI sa podane kody dzieki ,ktorym uzyskuje sie potrzebne efekty.
Aby korzystac z tego w Bascom wpisuje sie to tak:
Kod:
 Print Chr(27) ; "[45;33;5m" ; "cos tam"     'zmieniamy tlo i czcionkę i wyróżnienie samego wpisu,mozna podać ,tylko jeden parametr

to zminie kolory w calym terminalu. Jezeli chcemy zmienic konkretna linie kończymy ciąg kodem
Kod:
Print Chr(27) ; "[0m"

Przykład:
Kod:
Print Chr(27) ; "[33m" ; Chr(27) ; "[2;15f" ; "Temperatura " ; S ; "   " ; Chr(27) ; "[0m"

To już wszystko o obsłudze terminala.
Teraz pytanie o odbieraniu danych.
Mam zkonfigurowany bufor
Kod:
 Config Serialin = Buffered , Size = 25
pzniej w petli
Kod:
If Ischarwaiting() = 1 Then Gosub Odbierz
no i podprogram
Kod:
 Odbierz:                                                'dane z komputera
    B = Inkey()


         S = Chr(b)

   If B = 49 Then Print Chr(27) ; Kasuj                     'czysczenie ekranu

     If S = "A" Then Gosub Zapis
     If S = "B" Then Gosub Odczyt
     If S = "a" Then Decr Poz_menu
     If S = "s" Then Incr Poz_menu
     If S = "d" Then Gosub Kasowanie

po naciśnięciu klawisza wykonuje sie natychmiast dane polecenie,a jak to zapisać abym mógł wpisać ciąg znaków i wysłać po zatwierdzeniu np:enterem. Na co zwracać uwagę przy pisaniu. Chce sie dokładnie tego nauczyć
 
     
piotr94 
Site Admin

Dołączył: 02 Lut 2010
Posty: 606
Skąd: Kraków
Wysłany: Sob Cze 15, 2013 3:49 pm   

Dzięki za kody i wyjaśnienie - na pewno wiele osób skorzysta.
Co do pobierania znaków, ja bym zrealizował to tak, ze znaki zapisywałbym do tablicy (lub stringa) i potem jeśli trafimy na zatwierdzenie linii (LF lub CRLF) to wtedy cały taki ciąg przekazujemy do interpretacji.
_________________
http://www.piotr94.net21.pl/
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group