Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

atmega8 bascom rs232 - Odbiór danych

BIGJack 11 Jan 2013 19:25 3102 7
  • #1
    BIGJack
    Level 16  
    Witam,
    Od kilku dni borykam się z problemem odbioru i wyświetlenia odebranej temperatury na wyświetlaczu odbiornika. Zmienną nadaje układ pomiarowy z atmega8 poleceniem print zmienna. Odbieram w terminalu ta zmienna bez problemu. Odbiornikiem jest również układ z atmega8 który na wyświetla odebraną temperaturę na wyświetlaczach 6 *7led . Wyświetla przez sekundę następnie pojawia się na wyświetlaczu 0.0 stopniC i tak już zostaje. Nie mam pojęcia dlaczego a próbowałem już zmieniać kod na wszelkie możliwe sposoby.
    oto kod odbiornika. Czy ma ktos jakąś sprawdzona i stabilną metodę odbioru?
    Code: text
    Log in, to see the code
  • #2
    BlueDraco
    MCUs specialist
    Zacznij od wrzucania emu wyświetlaczowi danych z terminala - sprawdź, czy to działa. Jeśli działa - zastanów się nad różnicami. Kidy Input kończy działanie? Nie znam Bascom, ale zgaduję, że po Enter, czyli CR. Czy nadajesz kod CR powysyłanej liczbie?
  • #3
    Mundi1970
    Level 24  
    Zwiększ bufor odbiorczy, a do sprawdzenia czy jest nowy bajt w buforze użyj Ischarwaiting():

    Code: vbnet
    Log in, to see the code
  • #4
    BIGJack
    Level 16  
    Z jakiego terminala mogę wysyłać dane? Przydało by mi się to bardzo poniwaz jeżeli chodzi o bascomowy to potrafię tylko odbierać. Wysyłam tylko temperaturę w postaci np 233 instrukcją print która wysyła to w postaci tkstowej. Układy mam w firmie i dopiero wówczas będę mógł załadować wsad.
  • #6
    BlueDraco
    MCUs specialist
    Z dowolnego terminala, np. Terminal, RealTerm, TeraTerm, albo Windowsowy HyperTerminal, o ile masz WinXP.

    Jeśli wysyłasz tylko 233, to skąd Input ma wiedzieć, gdzie jest koniec? Przecież wysyłasz niekończący się ciąg cyfr.
  • #7
    BIGJack
    Level 16  
    W nadajniku print zmienna umieściłem w przerwaniu co 1sekundę.
    W terminalu przykładowo wygląda to tak;
    223
    223
    223
    223
    223
    224
    itd
    Jak wcześniej używałem printbin - inputbin to działało, czasem tylko gubiło dane.
    Dlatego próbuję doprowadzić transmisję do ładu.
  • #8
    robo1973
    Level 15  
    Witam !!!

    Chcę wysłać a z komórki i załączyć diodę Mogą mi koledzy podpowiedzieć co
    robię źle w programie ?
    Code: text
    Log in, to see the code