Strona 1 z 1

Ograniczona ilosc znaków odebranych przez COM

: 30 sty 2012 10:54
autor: nasiono
Witam.
Mam następujący problem.
Z terminala wysyłam ciąg znaków "123456789ABCDEFG"
niestety ciąg znaków "123456789ABCDEF" tylko mignie pozostaje tylko "FG".
Gdy jednak odpalę program w trybie śledzenia (Highlight execution) wszystko dociera jak powinno.
Czym to jest spowodowane czemu nie mogę wysyłać większej liczby znaków?
Dodam jescze, że działając w pętli tzn. bez eventów od odebranego znaku efekt taki sam.
Drugie pytanie jest odnośnie zegara czy w tym programie istnieje coś takiego jak licznik który można dowolnie ustawiać i czytać. Licznik ten podczas liczenia nie blokuje programu. Coś co by działało na zasadzie timerów z mikroprocesorów czy zegara z buildiera C++ ?

Re: Ograniczona ilosc znaków odebranych przez COM

: 30 sty 2012 11:31
autor: AGF
Po prostu program odczytuje twoje dane po kawałku... bo robi to dużo szybciej niż są wysyłane. Spróbuj dodać rejestracje na zasadzie jak w załączniku: odczytane dane dodawaj do starych (concatenate string) i wyświetlaj, jako "pamięć" wykorzysta shift register.

Re: Ograniczona ilosc znaków odebranych przez COM

: 31 sty 2012 21:14
autor: nasiono
Dięki pomogło.
Z ciekawości eksperymetnuje jeszcze z odbiorem bez buforowania.

Zależy mi na wysyle i odbiorze danych w formacie HEX.
W tym celu z terminala wysyłam HEX np : "01F4" tak jak inne dochodzi bez problemu, problem zaczyna się gdy chce wysłac jakiąś liczbe z "0A" napoczatku np "0AAA" wtedy dochodzi tylko końcówka.
Co jest tego przyczyną?

Ograniczona ilosc znaków odebranych przez COM

: 31 sty 2012 21:23
autor: Pitol
"0A" w HEX odpowiada znakowi LF w ASCII. Byćmoże jest problem w interpretacji wartości. Spróbuj zmienić sposób wyświetlania odczytanych wartości w indykatorze "read buffer" klikając na nim prawym klawiszem i wybierając "Hex Display".

Re: Ograniczona ilosc znaków odebranych przez COM

: 31 sty 2012 21:29
autor: Ender
Druga opcja - przy konfiguracji portu nie wyłączyłeś znaku końca ramki - standardowe ustawienie dla 'Enable Termination Char' to true, a jako termination char defaultowo ustawiony jest wlasnie 0xA. Skoro nie wykorzystujesz znaku końca ramki zamień Enable Termination Char na false, może w tym tkwi problem.

Re: Ograniczona ilosc znaków odebranych przez COM

: 31 sty 2012 22:02
autor: AGF
Na 99% Ender ma rację.

Re: Ograniczona ilosc znaków odebranych przez COM

: 01 lut 2012 09:48
autor: nasiono
Bingo!
Dzięki raz jescze.
Problemy narazie wyczerpałem.
Pozdrawiam