Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

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

08 Paź 2011 13:39 3527 6
  • 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
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Moderator na urlopie...
    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".
  • Poziom 12  
    Dziękuje za odpowiedz.

    Co minutę dostaję takie dane na port rs232 AVR

    Code:

     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.
  • Moderator na urlopie...
    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).
  • 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
    Code:
    Open "comc.0:9600,8,n,1" For Input As #1


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

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