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

Terminal Emulator w BASCOMIE

jacyk17 11 Cze 2009 13:24 4223 24
REKLAMA
  • #1 6642524
    jacyk17
    Poziom 13  
    Witam. Mam problem z BASCOM-em, gdyż chciałem podłączyć uC do komputera za pomocą portu COM, napisałem program, wszystko niby działa ładnie, tylko mam pewien problem. W napisanym programie chodziło o to, że litera, która byłą wpisana w Terminal Emulatorze w programie BASCOM miała się wyświetlać na wyświetlaczu podłączonym do uC. Niestety natrafiłem tutaj na problem, gdyż gdy otwieram Terminal Emulatora, to widać kursor (miga), ale nawet gdy naciskam jakieś klawisze, to tam nic się nie pokazuje. Czy ktoś wie jak temu zaradzić??

    Z góry dziękuje ;)

    Terminal Emulator w BASCOMIE

    Terminal Emulator w BASCOMIE
  • REKLAMA
  • #2 6642880
    janbernat
    Poziom 38  
    A już ustawiłeś w options Com1, Baudrate 2400,parity none itp?
  • #3 6644503
    Pikczu
    Poziom 16  
    Włacz echo to w terminalu zobaczysz.
    A na lcd widzisz czy nie bo tak napisałeś że nie wiem.
  • #4 6644951
    jacyk17
    Poziom 13  
    janbernat napisał:
    A już ustawiłeś w options Com1, Baudrate 2400,parity none itp?


    Tak, tak. Już to wszystko mam poustawiane. Próbowałem nawet pozmieniać tutaj na różne wartości i opcje, ale to nic nie dało.

    Pikczu napisał:
    Włacz echo to w terminalu zobaczysz.
    A na lcd widzisz czy nie bo tak napisałeś że nie wiem.


    A gdzie się włącza to echo w terminalu?? No niestety na wyświetlaczu nic się nie zmienia. Czyli i Termial i wyświetlacz zachowują się tak, jakbym nic nie przyciskał.
  • #5 6644959
    wader_669
    Poziom 28  
    Echo nie jest tu do konca konieczne widac, ze uzytkownik dal print w programie. Jak teraz doda jeszcze echo to bedzie mial wszystko 2 razy napisane.
    Napisz czy wyswietla to co chcesz na lcd, pozniej sie pomysli dalej. Moim zdaniem kod jest zle napisany.
  • REKLAMA
  • #6 6645016
    jacyk17
    Poziom 13  
    W sumie ten program działa tak, że na wyświetlaczu (8x2) w pierwszej lini wyświetlany jest napis: "Nap z PC", a w drugiej ma być wyświetlone właśnie to, co wpiszę w Terminal Emulatorze.
    Kod nie jest źle napisany gdyż już nawet skopiowałem go ze strony edw.
  • #7 6645177
    wader_669
    Poziom 28  
    Nadal nie odpowiedziales jasno czy wyswietla tobie znaki z terminala na lcd.
    Dawno sie nie bawilem uartem. Ten kod powinien dzialc.
    
    Dim X As Byte
    Dim Znak As String * 1
    
    Echo On
    Do
    X = Ischarwaiting()
    If X = 1 Then
    Znak = Inkey()
    Lcd Znak
    End If
    Loop
    End
    
  • #8 6645619
    jacyk17
    Poziom 13  
    Wgrałem ten program do mikrokontrolera, ponownie uruchomiłem Terminal Emulatora i dzieje się dokładnie to samo. Na wyświetlaczu podłączonym do mikrokontrolera widać kursor, jednak mimo przyciskania różnych klawiszy na klawiaturze nic nie pokazuje się na wyświetlaczu oraz w oknie Terminal Emulatora.
    Nie wiem czemu tak jest;/

    Dodano po 3 [godziny] 47 [minuty]:

    Czy można w ogole w jakiś prosty sposób sprawdzić, czy połączenie pomiędzy komputerem i uC jest dobre??
  • #9 6648120
    Pikczu
    Poziom 16  
    Można zrób mostek na tx i tx na comie czyli na pinie 2 i 3 w kompie otwórz terminal bascomowy i napisz coś, to co piszesz musi się wyświetlać na ekranie terminala
    Wracając do twojego programu pasuje zdeklarować lcd i procek jaki używasz, wiec napisz czego ty tam w ogóle używasz jak podłączone itp
  • #10 6648731
    jacyk17
    Poziom 13  
    No to tak o, w ogóle, to ja próbuje przerobić sobie "Mikroprocesorową Oślą Łączkę" i zmontowałem układ według schematu zamieszczonego na łamach gazety EdW:
    Terminal Emulator w BASCOMIE

    (wyjście TxD z komputera jest połączone z wejściem RxD mikrokontrolera, a wyjście RxD komputera z wejsciem TxD mikrokontrolera)

    Wszystko pracuje na ATTINIE 2313 oraz jest wyświetlane na wyświetlaczu alfanumerycznym (8x2)
  • REKLAMA
  • #11 6648997
    Pikczu
    Poziom 16  
    To coś żeś chyba spitolił :)
    zrób no to po ludzku czyli
    $regfile = "2313def.dat"                                    ' jaki procek
    $crystal = 8000000                                          'Kwarc 
    $baud = 9600                                                'prędkość transmisji 
    Config Lcd = 16 * 1a                                        'jaki tam masz lcd
    
    Dim X As Byte
    Dim Znak As String * 1
    
    Echo On
    Do
    X = Ischarwaiting()
    If X = 1 Then
    Znak = Inkey()
    Cls
    Lcd Znak
    Print Znak
    End If
    
    Loop
    End

    Upewnij się że masz Lcd podpięty na te same piny jak w tej zakładce w opcjach jeśli nie to zmień ustawienia albo podpięcie tylko pamiętaj LCD powinien być sterowany z jednego portu.
    Terminal Emulator w BASCOMIE

    u mnie działa w symulacji programowej, nie chciało mi się tego podpinać ale jak sprawdzisz i nie będzie działać to podłącze tak jak ty masz i sprawdzę.
    Napisz czy sprawdziłeś twój com port w compie.
    Jeszcze jedno nie masz maxa 232 ? jak masz to podepnij przez
    maxa 232.

    Przepraszam za ten bałagan w pisaniu ale widzę na twoim screenie ze masz tam ustawiony com 2 może masz po prostu zły port ustawiony ?
    zmień na com 1.
  • #12 6649465
    jacyk17
    Poziom 13  
    Tak, wyświetlacz LCD mam podpięty na 100% do odpowiednich portów, gdyż zrobiłem już kilka ćwiczeń na nim i działał bez zarzutów.
    Wiem, że tam było COM2, ale zmieniałem na COM1 i nic to nie poprawiło.
    Jednak według mnie, to mam jakiś problem z programem, bo u mnie nawet w symulacji nic nie działa ;/ na początku w ogóle chciałbym, żeby sam terminal mi działał, a potem będę patrzał, czy z układem jest wszystko ok.

    Próbowałem wgrać program, który mi podałeś, ale BASCOM mi pokazuje błąd przy komendzie "ischarwaiting". Dziwne. Może prześlij mi na maila swoją wersję BASCOMA, bo może po prostu ja mam coś w programie skopane??

    Terminal Emulator w BASCOMIE
  • #13 6649758
    Pikczu
    Poziom 16  
    Widzę właśnie ze coś jest nie tak bo ischarwaiting() powinno być wytłuszczone a nie jest .
    Dobra skup my się na terminalu, i na wersji bascoma.
    Ściąg nowego bascoma, odinstaluj starego usuń folder MCS electronic z program files, zainstaluj nowy bascom i otwórz terminal w bascomie, zrób zworkę na twoim comie 1 w pececie pin 2 i 3 teraz jak będziesz pisał w terminalu to musi się pojawiać w oknie terminala.
    Jeśli nie to twój com 1 jest walnięty.
  • #14 6649843
    bogdan_p
    Poziom 39  
    Cytat:
    Wszystko pracuje na ATTINIE 2313 oraz jest wyświetlane na wyświetlaczu alfanumerycznym (8x2)

    masz Attiny 2313 a deklarujesz 90s2313 zmień to na
    $regfile = "attiny2313.dat"
    $crystal = 8000000

    konwerter poziomów na tranzystorach nie działa dobrze z wszystkimi płytami głównymi , dlatego lepiej zastosuj typowe rozwiązanie z MAX232
    masz Attiny czy odpowiednio poustawiane bity konfiguracyjne ?
    tak powinno to wyglądać
    Terminal Emulator w BASCOMIE
  • #15 6650070
    Pikczu
    Poziom 16  
    Z tego co pisał to na lcd działa widział swoje napisy z poprzednich ćwiczeń więc myślę że to ma dobrze, problem stanowi ten terminal, rodzaj procesora moja wina taki dodałem w kodzie powyżej przepraszam.
  • #16 6650077
    jacyk17
    Poziom 13  
    Ściągnąłem nową wersję BASCOMa, ale cały czas nic to nie pomaga. Może gdy zaprezentuje filmik, to zobaczycie o co chodzi:




    A tak w ogóle, to Pikczu, skąd Ty wziąłeś wersje 1.11.9.4 BASCOMa?? Ja najnowszą jaką znalazłem, to byłą 1.11.9.1. Mógłbyś mi jakoś przesłać nowszego BASCOMA?
  • #17 6650116
    Pikczu
    Poziom 16  
    Ja mam pełną wersie.
    1. Masz zle ustawiony com port jak zmienasz w bascomie coma to zmień tez prędkość na 9600 albo w programie zmień to $baud 2400 bo teraz masz tam 9600.
    2. Wyskoczyła ci wiadomość ze port 1 nie może być otwarty masz tam coś już otwarty do jakiegoś innego programu.
    3 klawiatura ekranowa może nie działać z terminalem.

    Zrobiłeś test tego com1 ??

    PS. sprawdziłem umnie klawiatura ekranowa nie działa
  • #18 6650149
    jacyk17
    Poziom 13  
    Bity konfiguracyjne poustawiałem, tak jak było pokazane na obrazku, ale niestety i tak mi to nie pomogło.

    właśnie we wcześniejszych wersjach nie wyskakiwał mi żaden błąd przy porcie COM1, tylko teraz.
    Próbowałem już ustawiać prędkości 2400, 4800 i 9600, ale na żadnej nie działało.
    Klawiatury ekranowej używałem tylko do filmiku, na zwykłej klawiaturze też nic nie działa. Już nawet dzisiaj instalowałem od nowa wszystkie sterowniki od płyty głównej, ale niestety nic to nie dało.
    Dzisiaj nie miałem za bardzo jak zrobić tego testu portu Com, bo już muszę lecieć, ale jutro postaram się to zrobić :)

    miałbym do Ciebie małą prośbę, prześlesz mi swoją wersję na maila?? Byłbym Ci bardzo wdzięczny, bo ja nie mogę nigdzie znaleźć tej wersji.
  • #19 6650168
    Pikczu
    Poziom 16  
    masz skypa? bo pisanie na forum daje spore opóźnienie, w wymianie informacji.

    Dodano po 2 [minuty]:

    Niestety nie mogę CI przesłać pełnej wersji Bascoma.
    chyba ze za 89 euro.
  • REKLAMA
  • #20 6654291
    jacyk17
    Poziom 13  
    A no to szkoda ;p niestety nie mam skype.

    Ale dzisiaj zmostkowałem te piny, o których mówiłeś i podłączyłem do kompa i okazało się, że nagle zaczęło działać. Podłączyłem więc z powrotem uC do portu COM i w połowie Twój program działa. Teraz już mogę pisać w Terminal Emulatorze, jednak gdy przyciskam klawisze, to wyskakują tam jakieś dziwne znaki. Co więcej mimo, że naciskam różne klawisze, to na ekranie są prawie cały czas te same znaczki i tak samo jest na wyświetlaczu podłączonym do uC:
    Terminal Emulator w BASCOMIE
    Najciekawsze jest to, że inne znaczki są w oknie terminala, a inne na wyświetlaczu.
    Co może być tego powodem??
  • #21 6654800
    Pikczu
    Poziom 16  
    Witam wydaje mi się że prędkość transmisji bo ja sprawdziłem u siebie i działa na 100%

    Dodano po 4 [minuty]:

    Koniecznie sprawdź czy masz tą sama prędkość w terminalu jak i w oprogramowaniu. I zastosuj maxa 232 jako interfejs miedzy prockiem a kompem.
  • #22 6656862
    jacyk17
    Poziom 13  
    No faktycznie. Pokombinowałem z prędkościami i już jest ok. Nie musiałem nawet stosować Maxa232 :) Tylko zauważyłem, że przy niektórych prędkościach (sprawdzałem 2400, 4800 i 9600) są wyświetlane różne "krzaczki". Ciekawe tylko czemu tak się dzieje.
  • #23 6657633
    Robewit
    Poziom 26  
    Błędy w transmisji (krzaczki) mogą wynikać z różnicy w zadeklarowanej częstotliwości kwarcu w programie, a rzeczywistego użytego w programie.
  • #24 6900386
    fiskusmati
    Użytkownik obserwowany
    U mnie sie nie wyswietlało nic dopóki nie odłączyłem uc od programatorka bo on cos komplikował i dane nie chciały sie przesyłać
  • #25 6911982
    fiskusmati
    Użytkownik obserwowany
    Pozatym po to ktos wymyslil max232 zeby go uzywac. Polecam zieloną ksiązkę.
REKLAMA