-
Data: 2023-02-27 19:08:52
Temat: Re: Programowanie MCU - największa liczba
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Mon, 27 Feb 2023 17:48:44 +0100, Adam Górski wrote:
> W dniu 27.02.2023 o 16:23, J.F pisze:
>> 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.
>>
> Nie mogę sobie tego inaczej wyobrazić skoro po ograniczeniu do jakiegoś
> poziomu - działa.
Werjsa druga - osiaga wartosc maksymalną, jakis wjątek sie generuje
i nie wiadomo co program wtedy zrobi ..
J.
Następne wpisy z tego wątku
- 27.02.23 19:13 Marek
- 28.02.23 08:36 Janusz
- 04.03.23 13:19 Piotr Wyderski
- 04.03.23 13:26 Piotr Wyderski
Najnowsze wątki z tej grupy
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
Najnowsze wątki
- 2025-03-11 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-03-11 Łódź => System Administrator (Linux, Active Directory) <=
- 2025-03-10 roaming
- 2025-03-10 wodor
- 2025-03-10 Ostrów Wielkopolski => NodeJS Developer <=
- 2025-03-10 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-10 Częstochowa => Backend Developer (Node + Java) <=
- 2025-03-10 Poznań => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produkc
- 2025-03-10 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-03-10 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Szczecin => Key Account Manager IT <=
- 2025-03-10 Warszawa => Node.js / Fullstack Developer <=
- 2025-03-10 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-10 Gliwice => Business Development Manager - Network and Network Security