Strona 1 z 1

Problem z pętlą FOR

: 08 gru 2010 14:25
autor: Tadeo
Problem polega na odczytywaniu danych z wektora. Mam wektor o długości n z pewnymi liczbami całkowitymi. Za pomocą pętli FOR odczytuje te dane i wczytuje do urządzenia pomiarowej. Pętla liczy od 0 do n-1 czyli pierwsza iteracja to ma nr 0. Pętla podaje tylko wartości z indeksami parzystymi i 0. O co chodzi?

Problem z pętlą FOR

: 08 gru 2010 14:39
autor: Pitol
Pokaż nam swój kod, bo to co napisałeś dziwnie brzmi...

Problem z pętlą FOR

: 08 gru 2010 14:42
autor: Tadeo
Taki jest kod testowy

Re: Problem z pętlą FOR

: 08 gru 2010 14:58
autor: Pitol
Jeśli korzystasz z pętli FOR i podpinasz do niej tablicę z włączoną funkcją indeksowania (czyli domyślny tryb) to nie musisz podpinać wejścia N. Jeśli rozmiar tablicy będzie równy wartości podpiętej do wejścia N to jeszcze nie ma tragedii, ale jeśli te wartości będą różne to pętla wykona się mniejszą ilość razy.
Proponuję obejrzeć działanie programu z włączoną opcją Highlight Execution
Te1.PNG
Te1.PNG (13.93 KiB) Przejrzano 6373 razy
Ja nie widzę w Twoim programie możliwości, żeby zadziałał tak, jak opisałeś.

Problem z pętlą FOR

: 08 gru 2010 15:44
autor: Tadeo
Dzieki za podpowiedź! Niestety program nadal zachowuje się tak jak opisałem, chyba że włączona jest żarówka - wtedy działa. Wczytywane są poprawne wartości i poprawna ilość razy. Niestety jak tylko wyłączy się żarówkę problem pozostaje. I tutaj ciekawa sprawa - zapisywane są poprawne wartości pomiaru dla tych wartości z tablicy, czyli jak były tylko 3 elementy tablicy, to 3 wartości zostały wczytane. Może to problem opóźnienia pomiaru, tzn. musze jakies wprowadzić? Jak to zrobić działając na interfejsie GPIB?

Re: Problem z pętlą FOR

: 08 gru 2010 17:50
autor: Pitol
Jeśli na żarówce działa, to znaczy, że działa. Widocznie wykonuje się tak szybko, że nie zauważasz tego. Dodaj sobie opóźnienie do pętli:
2.PNG
2.PNG (13.69 KiB) Przejrzano 6361 razy

Problem z pętlą FOR

: 09 gru 2010 09:43
autor: Tadeo
Dziekuję za podpowiedź. Teraz działa już jak trzeba:)