Witam, dziękuję za pomoc, trochę pomogło, ale nadal mam problemy z odczytem z RS'a.
A mianowicie przy odczycie z dwóch multimetrów Metex różnych (1. 9600 bodów, 2. 600 bodów) na tym z 600 bodów traci sie sygnał i read buffer nic nie pokazuje, co za tym idzie, Metex z 9600 pokazuje ciągle odczyt, a Metex z 600 bodów nie.
Przez to, że brakuje jednej danej wykres mi się psuje...
tutaj znalazlem coś ciekawego:
bogdani pisze: Czy ta pętla nie wykonuje się za szybko ?
Wychodzi mi że jeśli pętla wykonuje się szybkciej niż 150 razy na sekundę (9600 bitów >> 1200 bajtów >> 150 ramek z danymi) to w pewnym momencie musi czekać na dane.
Nie wiem jak szybko musisz zbierać dane, ale wrzuć do tej pętli opóźnienie, to przy okazji nie będziesz zajmował całego czasu procesora. bogdani
więc w moim przypadku data bits musi byc 7...
Parametry techniczne miernika cyfrowego Metex ME-32: - szybkość transmisji 600 bodów, - kod znakowy: 7 bitowy ASCII, - kontrola parzystości brak, - bity stopu 2 [12].
Parametry techniczne miernika cyfrowego Metex M-4640/4660 A: - szybkość transmisji 9600 bodów, - kod znakowy: 7 bitowy ASCII, - kontrola parzystości brak, - bity stopu 2 [12].
Czy to nie jest problem, że w jednej pętli jeden miernik odczytuje większą ilość ramek niż drugi, nie znam się za bardzo na tym, ale ręce mi już opadają, dlaczego zanika ten odczyt...
obliczyłem dla moich mierników wg wzorca Bogadani
9600 >> 1200 >> ~171 ramek /s 600
>> 75 >> ~11 ramek /s
A dodam, że licznik bitów bits count dla 600 bodów to 14 (1 ramka), a dla 9600 bodów 14*4 (4 ramki)
Apropo
1. Inicjalizację portu szeregowego i zamknięcie sesji VISA zrób poza pętlą
A co z Visa Clear?
umieściłem ja w pętli ale poza sekwencją...
I jeszcze jedno na koniec
jak uruchamiam program z podglądem to widzę na error out (Visa Read i Write)
błąd ERR(-1073807298)