eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProgramowanie MCU - największa liczbaRe: Programowanie MCU - największa liczba
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.157.25.139.242
    !not-for-mail
    From: "J.F" <j...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Programowanie MCU - największa liczba
    Date: Mon, 27 Feb 2023 16:23:44 +0100
    Organization: news.chmurka.net
    Message-ID: <xbtrd9ptn8kd.vaob8e0bmqdi$.dlg@40tude.net>
    References: <f...@g...com>
    <63fc9877$0$9593$65785112@news.neostrada.pl>
    NNTP-Posting-Host: 157.25.139.242
    Mime-Version: 1.0
    Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: 8bit
    Injection-Info: news.chmurka.net; posting-account="jfoxwr";
    posting-host="157.25.139.242"; logging-data="29430";
    mail-complaints-to="abuse-news.(at).chmurka.net"
    User-Agent: 40tude_Dialog/2.0.15.1
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:778657
    [ ukryj nagłówki ]

    On Mon, 27 Feb 2023 12:48:06 +0100, Adam Górski wrote:
    > W dniu 26.02.2023 o 01:35, Stachu Chebel pisze:
    >> Używam Kinetis Design Studio. MCU: Arm Cortex-M4. Dokładnie jest to
    >> MK22FN512VLH12. Definiuję zmienną globalną : double a; .
    >> W przerwaniu zmienna jest inkrementowana: a=a+Byle_Co;
    >> Program działa poprawnie, ale do pewnego momentu czasowego.
    >> W pewnym momencie idzie "w maliny". Sekwencja:
    >>
    >> a=a+Byle_Co;
    >> if(a>Max)a=0;
    >>
    >> rozwiązuje problem. Ile maksymalnie mogę ustawić Max? Za cholerę nie mogę
    >> się doszukać maksymalnej wartości zmiennej typu "double" dla mojego MCU.
    Eksperymentalnie ustawiłem Max=1e6. Program nie idzie w maliny. Jakie może być
    największe Max?
    >>
    >
    > Problemem jest , że double jest zmiennoprzecinkowe i jak każdy typ
    > posiada swoją rozdzielczość.
    >
    > W przypadku a=a+Byle_co; w pewnym momencie osiągnie wartość stacjonarną
    > i nie będzie się już zwiększać bo Byle_Co będzie poniżej błędu
    > pojedynczego bitu dla formatu double ( no chyba że się przekręci ).


    Sugerujesz ze "program idzie w maliny" oznacza, tzn jest skutkiem
    tego, ze przestala sie zmienna zwiekszac?
    Moze i tak.

    Zanim sie to osiągnie, to bedzie jeszcze etap, ze zwiększa sie o nieco
    inną wartosc, bo jest to Byle_co zaokrąglane do aktualnej
    rodzielczosci.

    Ale tak czy inaczej to nastąpi po bardzo wielu dodawaniach, kolega by
    chyba nie doczekal.

    J.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: