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

Problem przy odbiorze pakietu danych przez RS w uP - BASCOM

aaseba 20 Lis 2006 12:34 1130 1
REKLAMA
  • #1 3243357
    aaseba
    Poziom 12  
    Witam
    Odbieram pakiet danych (dokładnie 11 bajtów) przez sprzętowy RS232 z prędkością 38400 (uP ATMEGA 128L kwarc-8MHz) w Bascomie:

    Config Serialin = Buffered , Size = 7
    .
    .
    .
    Odb = Ischarwaiting()
    If Odb <> 0 Then
    For L = 1 To 6

    Y(L) = Inkey()

    Waitms 7

    Next L
    Y(1) = Asc(y(1))
    Y(2) = Asc(y(2))
    Y(3) = Asc(y(3))
    Y(4) = Asc(y(4))
    Y(5) = Asc(y(5))
    Y(6) = Asc(y(6))

    Zastanawia mnie, czemu pomiędzy odebraniem poszczególnego bajtu musi być opóźnienie "Waitms 7". Jeżeli to usunę lub zmniejszę wartość to uP nie odbierze poprawnie wszystkich bajtów. Tak naprawdę nie ma znaczenia prędkość transmisji - sprawdzałem od 2400 do 58600.
    Może ktoś to wyjaśnić lub podać inny (lepszy) sposób odbierania pakietu danych przez sprzętowy uP.
    Pozdrawiam
  • REKLAMA
  • #2 3246218
    yarpen2
    Poziom 22  
    trochę dziwnie to robisz:
    czekasz na znak w buforze - to jest oki
    a jak masz to po kolei odczytujesz 6 znaków - i to już może być złe bo skąd wiesz że jak odczytasz pierwszy to masz już następny ? a co jak nic tam nie ma ? (np. przyszło mniej znaków)

    może lepiej by było za każdym razem sprawdzać czy coś jest
REKLAMA