Mariusz
Guest
Thu May 24, 2007 10:31 am
Quote:
Efekt jest taki, że 1000 takich stringów jest wysyłany do terminala na PC
w ciągu 12 sekund, co daje maksymalną prędkość około 8 stringów (po ok. 40
znaków) na jedną sekundę. To potwierdza to, co dzieje się w aplikacji -
przeskoczenie z 5Hz na 10Hz sprawia, że aplikacja odczytuje niepełny
string, ponieważ urządzenie nie zdążyło go jeszcze wysłać.
Zmiana $baud = 38400 na 19200 sprawia, że 1000 linii zostaje wysłane w
ciągu 24 sekund.
Mariusz
Guest
Thu May 24, 2007 10:48 am
Quote:
Efekt jest taki, że 1000 takich stringów jest wysyłany do terminala na PC
w ciągu 12 sekund, co daje maksymalną prędkość około 8 stringów (po ok. 40
znaków) na jedną sekundę.
Błąd, nie 8 tylko 80 stringów po 40 znaków (1000/12) na sekundę.
Dlaczego więc urządzenie odczytuje pełny string bufora jeśli przesyłane jest
nie więcej niż ok. 5 stringów na sekundę?
Zrobiłem kolejny test.
Ustawiłem $baud na 128000 baud (pozwoliłem sobie na baud error na poziomie
2%).
Jaki efekt? Aplikacja prawidłowo działa przy dwukrotnie więkzym interwale!
(10Hz). Tym razem urządzenie spokojnie wyrabia się w przesłaniu 10 pełnych
stringów po 40 znaków w ciągu sekundy!
Przejrzałem listę odebranych danych i widzę, że ten błąd 2% nie robi mi
problemu (żadna dana nie została przekłamana).
Mariusz
Guest
Thu May 24, 2007 10:57 am
Quote:
Dlaczego więc urządzenie odczytuje pełny string bufora jeśli przesyłane
jest nie więcej niż ok. 5 stringów na sekundę?
Poprawka, nie urządzenie odczytuje, tylko oplikacja, oczywiście.