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

AVR - bascom - funkcja w basco nie działa (kompiluje się ale nie działa poprawni

Krzysztof_lolek 06 Lut 2013 23:24 1920 6
  • #1 11899130
    Krzysztof_lolek
    Poziom 11  
    Witam!
    Nie jestem biegły w BASCOM-ie i mam problem z funkcją, w której chcę uzyskać resztę z dzielenia. Oczywiście operuję na liczba które mają wartość po przecinku tak więc użycie funkcji mod nie wchodzi w grę. Moja funkcja wygląda tak
    :
    Kod: text
    Zaloguj się, aby zobaczyć kod

    i funkcja zwraca mi wartość 0 coś nie działa. Proszę o pomoc
  • #2 11899433
    netotron
    Poziom 26  
    Witam
    Działa poprawnie, przeanalizuj jak ją wywołujesz.

    AVR - bascom - funkcja w basco nie działa (kompiluje się ale nie działa poprawni
    Il = Round(il) - zaokrąglasz do góry w tym przypadku (do najbliższej wartości całkowitej)

    powodzenia
  • #3 11899774
    Krzysztof_lolek
    Poziom 11  
    Witam!
    Podejrzewałem, że z wywołaniem tej funkcji może być coś nie tak. Jedank przeszukiwanie internetu jak i lektura książki dotyczącej bascom-a nie pomogła mi rozwiązać tego problemu. Dlaczego zwracasz moją wagę na zaokrąglenie zmiennej il jest zle zadeklarowana ? Proszę o więcej światła także na operację wywyołania. Dziękuje i pozdrawiam!
  • #4 11900204
    netotron
    Poziom 26  
    Round() zaokrągla do najbliższej wartości całkowitej) w tym przypadku 13,9.... do 14
    Powinieneś (jeśli dobrze zrozumiałem funkcje) użyć INT()
  • #5 11900279
    Krzysztof_lolek
    Poziom 11  
    No tak masz racje uciekło mi to, a czy wywołanie funkcji jest ok? Bo mnie chodzi o to aby funkcja liczyła reszte z dzielenia.
  • Pomocny post
    #6 11900349
    netotron
    Poziom 26  
    Krzysztof_lolek napisał:
    a czy wywołanie funkcji jest ok? Bo mnie chodzi o to aby funkcja liczyła reszte z dzielenia.

    Nie wiem czy jest ok, bo nie podałeś tej części kodu :)
    Sprawdź czy działa tak jak zakładałeś.
  • #7 11900490
    Krzysztof_lolek
    Poziom 11  
    podałem cześć kodu z programu głównego, która realizuje wywołanie tej funkcji:

    L=87.45678

    l1=6.28

    L3=modd(l,l1)
REKLAMA