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

[Atmega32] [rs232] [Bascom] Odbieranie danych po rs232

wojno 08 Paź 2011 13:39 3800 6
REKLAMA
  • #1 10005021
    wojno
    Poziom 12  
    Witam

    Na port rs232 dostaje pewne dane chciałbym je wszystkie zebrać i wrzucić do zmiennej. Coś na zasadzie bufora.
    Jak powinienem podejść do rozwiązania tego problemu.

    Pozdrawiam
  • REKLAMA
  • #2 10005062
    piotrva
    VIP Zasłużony dla elektroda
    Nie wiem na czym polega problem kolegi.
    Poza tym o porcie RS232 mówimy tylko po stronie komputera, koledze chodzi jak mniemam o to, że z komputera są wysyłane dane do procesora i ten powinien je odbierać.
    Zatem jak kolega napisał po pierwsze należy użyć bufora (dostępny z poziomu BASCOM - poszukaj w helpie) a potem w danym miejscu programu sprawdzać (też za pomocą gotowych funkcji) czy jakieś dane czekają w buforze, jeśli tak to je odebrać (odczytać z bufora - kolejna gotowa funkcja BASCOM) i przepisać do zmiennej. Dodatkowo jeśli przychodzące dane są sformatowane w jakieś ramki można dodać funkcję wystawiającą jakąś flagę po zapisaniu do zmiennej całej ramki. Oczywiście mówię ogólnie bo wogóle kolega nie opisał problemu i staram się "wróżyć z fusów".
  • REKLAMA
  • #3 10005175
    wojno
    Poziom 12  
    Dziękuje za odpowiedz.

    Co minutę dostaję takie dane na port rs232 AVR

    
     68 64 64 68 08 01 76 27 86 06 07 00 00 51 04 24 
     00 00 00 02 6C 1A 68 0C 0E 00 00 01 71 8C 20 0E   
     00 00 00 00 0C 13 00 00 36 88 8C 10 13 00 00 00   
     00 8C 20 13 00 00 00 00 8C 30 13 00 00 00 00 8C   
     40 13 00 00 00 00 0A 3B 00 00 0A 2C 00 00 0A 5A   
     02 82 0A 5E 02 78 0C 22 00 03 75 92 3C 22 00 00   
     26 04 04 7E 00 00 00 00 68 16
    



    Chciałbym je teraz w całości zapisać do jakiejś zmiennej która będzie zastępowana co minute innymi danymi tego typu.
  • #4 10005187
    piotrva
    VIP Zasłużony dla elektroda
    Co to za dane? Czy mają stałą ilość bajtów? Jakieś stałe bajty na początku/końcu ramki danych?
    Poza tym uważam, że wszystko inne wyjaśniłem teraz tylko Kolega musi sięgnąć do dokumentacji BASCOM'a, znaleźć odpowiednie funkcje i napisać na ich podstawie program który chce kolega zrealizować.
    No i takie dane to raczej nie do jednej zmiennej, ale do tablicy zmiennych z tego co widzę chyba chodzić będzie o tablicę zmiennych typu bajt (Byte).
  • REKLAMA
  • #5 10027069
    wojno
    Poziom 12  
    Urządzenie wypluwa dane jak podałem wcześniej nic więcej nie mogę o tym powiedzieć.

    Mam pytanko czy bufor można konfigurować na port rs232 dynamiczny

    np
    Open "comc.0:9600,8,n,1" For Input As #1


    bo według helpa działa tylko na uart sprzętowy.
  • REKLAMA
  • #6 10028003
    arktik1
    Poziom 27  
    "bo według helpa działa tylko na uart sprzętowy"
    Uart sprzętowy nie potrzebuje czegoś takiego.
    To jest uart programowy.
  • #7 10028431
    wojno
    Poziom 12  
    Czyli można wykorzystać buforowanie dla uart-a programowego?

    Nie mogę wykorzystać uart sprzętowego bo juz jest używany.
REKLAMA