Może zobacz ten link: http://mr-k.namyslow.eu.org/studia/arytm... Może się przyda. Pozdrawiam.
Źle definiujesz typ zmiennych. Żeby można wykonywać operacje zmiennoprzecinkowe, typ zmiennych powinien być single lub double. Dim Dawka_temp As Single, Dawka As Single
temat wałkowany już kilka krotnie. funkcje delay mają argument typu float jeśli podajesz zmienna jako argument do dodajesz również operacje zmiennoprzecinkowe na tej funkcji które .... dają efekt jaki uzyskałeś
Czy ktos mi pomoze zdobyć jakieś infornacje związane z prostymi operacjami arytmetycznymi zmiennoprzecinkowymi (dodawanie, odejmowanie, mnozenie?. dzielenie?) na MCS-51. Będe wdzięczny za jakis programik (w asemblerze) na ten temat. Dzięki.
Witam Nigdy nie działałem za zmiennym przecinku, ale teraz muszę policzyć nie za ciekawy wzór i muszę to zrobić na typie Double Mam funkcję double fp_calc(void) { double fp; double HUMI=55; double TEMP=293.15; fp=((272.186*log(HUMI/100...
Tutaj znajdziesz sporo na ten temat: http://pl.wikipedia.org/wiki/Liczby_zmie... Pozdrawiam
AVR nie ma operacji na liczbach zmiennoprzecinkowych (float). kompilator musi je jakoś emulować. jeśli nie jest to absolutnie konieczne nie stosuj zmiennych float.
Wszystko jest w porządku - tak powinno być. Tylko ty wyświetlasz wartości w reprezentacji DEC, a powinieneś w w FloatingPoint (najedź nad monitorowaną wartość, prawy klawisz > representation > floating-point). Zobaczysz że jest dobrze. Ponieważ chciałeś przeskalować do zakresu ułamkowego, to dalej musisz się posługiwać tym co masz w MD30 za pomocą operacji...
Kolega napisał bardzo celenie o typach danych, chcesz mieć wynik w typie long a używasz zmiennoprzecinkowych operacji. Dodatkowo operacje zmiennoprzecinkowe są bardzo wolne na 8-bitowym procesorze.
a także wydłuży czas odczytu z takiej pamięci A operacje zmiennoprzecinkowe nie dają opóźnienia ? *) Nie da się DOBRZE zaprojektować układu, na który ZAŁOZENIA nie są jasne. *) ma to znaczenie lub nie - tak samo jak memory access, ZALEŻY
Witam, Jeśli nie musisz nie korzystaj ze zmiennych typu single, lepiej przeskalować int'a kilka razy (np zamiast 1,232 robisz 1232 a przy wyświetlaniu dodajesz przecinek) operacje na liczbach zmiennoprzecinkowych zjadają spora flash i czasu procesora. Pozdrawiam, Marcin
Jak nie trzeba szybko (choć i tu bym polemizował, kwestia wprawy) to najlepiej w asemblerze (chyba,że potrzebne są operacje zmiennoprzecinkowe)
Hmmm no tak mam operacje zmiennoprzecinkowe w przerwaniach. Co w takiej sytuacji?
Jest to 8 biliardów operacji zmiennoprzecinkowych na sekundę. http://pl.wikipedia.org/wiki/FLOPS
AVE... Przykład z MikroPascal, prosty kod do małego alarmu na PIC16F84A. Optymalizacja ustawiona na zero dała takie wyniki RAM: 4, ROM: 211 słów. Optymalizacja ustawiona na pięć zaś dała RAM: 4, ROM: 178 słów. Inny program, z kilkoma operacjami na liczbach zmiennoprzecinkowych pisany na PIC16F1827 dał takie wyniki: bez optymalizacji 122/3954 słów RAM/ROM;...
Ile razy na sekundę będziesz robił konwersję daty, że liczby zmiennoprzecinkowe są problemem? A może dałeś za mały mikrokontroler i szkoda FLASH na operacje zmiennoprzecinkowe?
Ile Gflopów ma procesor Intel e5-2699 v4 Procesor Intel Xeon E5-2699 v4 to 22-rdzeniowy, 44-wątkowy procesor oparty na architekturze Broadwell-EP. Jego maksymalna częstotliwość taktowania wynosi 3,6 GHz. Aby obliczyć wydajność w GFLOPS dla tego konkretnego procesora, możemy użyć wzoru: GFLOPS = (liczba rdzeni) x (częstotliwość taktowania) x (liczba...
Witam Poszukuje schematow na bramkach logicznych realizujących dodawanie, odejmowanie, mnożenie, dzielenie na liczbach zmiennoprzecinkowych (format obojętny). Z góry dziekuje.
Tablicę masz typu Integer, a dzieląc przez 2 wykonujesz operację zmiennoprzecinkową. Uzyj dzielenia stałoprzecinkowego (div) lub zaokrąglij wynik (Round).
Funkcje trygonometryczne zajmują sporo czasu procesora, w AVR obsługa operacji zmiennoprzecinkowych jest delikatnie mówiąc słaba. Jak wspomniał kolega (at)szelus możesz sam stworzyć tablice sin lub użyć biblioteki TurboTrig, gdzie jest to już gotowe. https://github.com/ibilux/TurboTrig
zlaęzy do jakich operacji chesz ich uzywac. nie bede sie rozpisywal zbytnio -sprobuj wykonac jakąs operację zmiennoprzecinkową na procesorze stało przecinkowym i zobacz ile to potrwa :) - no i o ile dluższy będzie program.
Hmm, wychodzi na to, że nie. (at)_jta_ Jednak tak :D Po prostu w związku z niedokładnością operacji zmiennoprzecinkowych, wyniki na wejściu i wyjściu są prawie identyczne, ale różnią się setnymi, dlatego ten if na końcu, porównujący wartości tabel, zwracał zawsze fałsz.
Siemka! Musisz wziąść pod uwagę fakt, iż zmienna single przechowuje wartości zmiennoprzecinkowe ze skończoną dokładnością i to może być zauważalne przy niektórych operacjach na tego typu zmiennych. Poszukaj w helpie od Bascoma i poczytaj o kodowaniu liczb zmiennoprzecinkowych i wszystko Ci się wyjaśni:) Pozdrawiam!! Widzę że dałeś kod.:) Mi się wydaje...
-Pasowało by by podczas wyświetlania tekstu zapewnić tej operacji spójność. -Można prosić o definicję funkcji lcd_int() ?? -Nie szkoda ci kb flash'u na operacje zmiennoprzecinkowe ? przy wyświetlaniu tekstu za pomocą operacji matematycznych możesz łatwo obyć się bez tego :) -Ja szumy styków kondensatorkiem rozwiązałem :)
Użyłeś przestarzałego 103 Nie 103 a 107. Jak pamiętam, 103 nie ma z ETH. A może sie uparłem na STM32F1xx bo będę programował w środowisku Arduino? softspiwrite i po problemie. A może lubię jak operacje zmiennoprzecinkowe nie sa robione przez FPU?
Arduino Mega przy bezpośrednim sterowaniu na pewno da radę, chyba że będziesz wykonywał w programie jakieś bardzo skomplikowane operacje na liczbach zmiennoprzecinkowych jeżeli to tylko proste sterownie 6 silnikami DC plus pomiar impulsów z 6 enkoderów nie będzie problemów. Warto zastanowić się nad wykorzystaniem I2C bez problemu można obsłużyć LCD...
Napisz jaką potrzebujesz dokładność, jeśli niewielką to najlepiej użyć gotowej tablicy. Jeśli dużej to trzeba rozłożyć funkcję pierwiatkowania np. na szereg Taylora i wtedy obliczać kolejne przybliżenia, ale to wymaga napisania procedur operacji zmiennoprzecinkowych (głownie mnożenie i dodawanie zmiennoprzecinkowe).
Bardzo fajny projekt widać, że ogarnąłeś temat. Niestety jest jedno ale Jak w zdecydowanej większości przypadków w projektach z uC autor nie podzielił się kodem źródłowym a w tej konstrukcji to kluczowy element, który z przyjemnością bym obejrzał. A tak przyszłościowo - mając na pokładzie tak silny uC, który bez trudu obsłuży operacje zmiennoprzecinkowe...
Jak jest z VersaMax to nie wiem ale w przypadku serii 90-30 moze to byc utrudnione bo nie wszystkie procesory z tej serii obsluguja operacje zmiennoprzecinkowe co przy rejestracji zmiennych temperatura moze byc problematyczne. Szczegolnie te starsze CPU uzywaja wylacznie zmiennych typu Integer.
Szczerze mówiąc to prędzej napisałbym program w C który robiłby to samo, niż miałbym debuggować kod wygenerowany przez bascoma. Ja pierdzielę, jak można generować aż tak nadmiarowy kod, nikt przy zdrowych zmysłach nie używa na uC operacji zmiennoprzecinkowych, szczególnie że łatwo można się bez nich obejść w takiej prostej aplikacji.
Standardowo ani verilog, ani vhdl nie oferują syntezy operacji zmiennoprzecinkowych. Będziesz więc musiał albo napisać własną implementację tych operacji, albo znaleźć gdzieś gotowy kod (o ile o to chodziło zadającemu zadanie...). Możesz też wykorzystać algorytm Cordic, zapewne będzie prostszy do implementacji (dodawanie/odejmowanie/shift) niż dodawanie/mnożenie/dzielenie...
No cóż, wygląda więc na to, że używasz biblioteki standardowej C, która nie obsługuje %f. Może w dokumentacji środowiska/kompilatora jest opisane, czy da się to włączyć i jak. Gdyby się nie dało, to - o ile same operacje zmiennoprzecinkowe działają - można użyć czegoś w stylu printf("%u.%03u", x/1000, x%1000); A jak nie, to trzeba się pobawić w obliczenia...
Nie znam tej biblioteki, więc nie wiem jakie ma możliwości. Praktycznie same operacje zmiennoprzecinkowe. To będzie żółw. Biblioteka napisana tylko po to aby pokazać, że działa, nawet na ARM nie bardzo nadaje się do użytku. W praktyce, cała to przepisania. Dodatkowo, w tym projekcie, jedna z współrzędnych mieści się w bajcie. Można spróbować to wykorzystać....
Dokładnie tak. Kompilator wykonuje dzieleni całkowite, stąd problem. Swoją drogą, po co ładować float i specjalną wersję sprintf dla tak prostej czynności? Nie prościej pomnożyć result*1000 i podzielić przez 8192, wykonując operację na liczbach całkowitych? Na koniec tylko odpowiednio wyświetlić przecinek i cała operacja jest o jakieś 7kB krótsza i...
Ale bez tych flag linker wywala błąd, bo libc,libgcc je potrzebują. Zresztą kompilator nie używa instrukcji vfp, bo gdyby używał to miałbym błąd związany z brakiem koprocesora. A tu operacje zmiennoprzecinkowe nie działają wtedy, gdy argumentami są liczby double inicjowane w sekcji .data. Na liczbach całkowitych działają poprawnie.
A moze pora na unie. Coprawda nie Europejską ;) wyglada to tak: union { struct{char hi,lo} byte; int word;} Moja_zmienna; w taki sposób Moja_zmienna.word - to zmienna typu int Moja_zmienna.byte.lo - mlodsza jej czesc Moja_zmienna.byte.hi - starsza jej czesc Jako cala zmienna wykorzystujesz typu int a gdy chcesz zapisac do epromumusisz zapisac dwie jej...
W PII pamięć drugiego poziomu jest taktowana z polową częstotliwości a w C 466 pamięć chodzi 466 to nić że jest jej 4 X mniej operacje zmiennoprzecinkowe ma szybsze gierki 3D będą chodzily lepiej . LX nie jest taki zly jeżeli plyta jest starannie wykonana polecam podkręcić :-) Wiem to z doświadczenia. Ale zobacz co będzie dla Ciebie lepsze .
A czy w przypadku kiedy na cialo nie dzialaja zadne sily (tylko grawidacja w kierunmu poziomym) to akcelerometr sie nam nie przyda. Cialo moze byc zawieszone w przestrzeni i wirowac. Co w takim przypadku? Akcelerometr nie bedzie w stanie w takiej sytuacji pomoc. Wtedy rowniez moga wystapic drifty. W jaki sposob mozna to wyeliminowac i czy w ogole. Lepszy...
A przypadkiem zmienna Adc_read nie jest typu całkowitego (np Word)?? Jeżeli pomnożymy przez coś co nie jest całkowite, to domyślnie kompilator obetnie część "zaogonkową". Jednym słowem dla kompilatora to co wcześniej napisałeś wygląda tak Adc_read = Getadc(4) Adc_read = Adc_read - 512 Adc_read = Adc_read * 0 Adc_read = Adc_read + 51 Bright = Adc_read...
Dodatkowo na stronie Microchipa znajduje się dużo dodatkowych bibliotek... np. operacje zmiennoprzecinkowe na PIC z serii 16 i wiele wiele innych... a co najważniejsze... napisali to programiści Microchipa... więc musi być optymalnie i musi działać:D a tak od siebie.... to AVR się jeszcze nie bawiłem... zaczynałem z PIC'ami i też nie żałuję... nie mam...
Zastanów się czy naprawdę potrzebujesz operacji zmiennoprzecinkowych. Czasem zamiast ładować biblioteki bardziej opłaci się pomnożyć liczby razy 10,100,.... a potem odpowiednio podzielić. Zwiększa się kod ale zyskujesz dzięki temu na ładowaniu bibliotek zmiennoprzecinkowych. Kwestia asm'a też jest dyskusyjna - tam gdzie jest sporo obliczeń szybciej...
Przyznam, że nie rozumiem także... W procesorze wszystkie operacje zmiennoprzecinkowe przeprowadzane są z największą możliwą precyzją (ona jest możliwa do ustawienia dla FPU!), a wyniki automatycznie przeskalowane na typ taki, jaki był użyty. Owszem, można dokonać rzutowania wszystkich typów na taki o największej dokładności, aby wyniki jednych działań...
Karta Radeon 9200 VIVO,128 MB RAM,128bit. Nigdy nie używam programów jednocześnie z Pinnacle,defragmentacja jest robiona często(bardzo),komputer ma tylko kilka programów zainstalowanych,właściwie działa tylko dla Pinnacle'a. Aha kiedyś miałem ten program na Athlonie 1200 +512 MB RAM 133 Mhz z tą samą kartą graf. i było lepiej tzn problem był rzadszy...
Sprzęt: :arrow: Bardzo brakuje dzielników ustalających napięcie na wejściach ADC przy utracie kontaktu na suwakach potencjometrów. :arrow: Nieco mniej brakuje pojemności (np. 100nF) tamże. :arrow: Czy jedno wyjście procesora przeładuje 5 bramek? Jaka tam jest częstotliwość? :arrow: Nie ma zabezpieczenia nadprądowego. :arrow: Brak pomiaru napięcia akumulatorów....
Witam, czy może mi ktoś wytłumaczyć jaka jest różnica pomiędzy wykonywaniem operacji na liczbach zmiennoprzecinkowych w przypadku procesora stałoprzecinkowego i zmiennoprzecinkowego gdy piszę program w C? Czy cos takiego jak "skalowanie zmiennych" dostępne jest z poziomu C czy to sprawa asemblera? Wiem tylko tyle ze problemy pojawiają się gdy chcę dodać...
Ale Round zwraca liczbę całkowitą, a nie zmiennoprzecinkową. Zwraca i całkowitą i zmiennoprzecinkową jednocześnie. To znaczy liczbę całkowitą zapisaną jako liczba zmiennoprzecinkowa. Przecież liczba zmiennoprzecinkowa też może być całkowita. Nie ma sensu przypisywać jej do zmiennej typu single. Jest sens. Są algorytmy które wymagają zaokrąglania i...
Są to operacje finansowe, więc liczby zmiennoprzecinkowe odpadają. Operacje finansowe i AVR (złośliwy chichot). Coś Ci się chyba pomyliło.
Dzięki, jeszcze z ciekawości, duża jest różnica w poborze prądu? Mówię o operacjach na liczbach zmiennoprzecinkowych i całkowitych
Większość programów do kompilacji projektów (np. Quartus Altery) ma gotowe komponenty do operacji na liczbach zmiennoprzecinkowych.
(at)TWI Włąsnie w tym problem, że nie udostępniają z tego co zauważyłem. Dlatego jeśli mi się nie uda z tym corem bo będzie czegoś brakowało to będe szukał dalej. Z tego co zauważyłem to będę potrzebował około 30k LUTów bo potrzebuję jednostki FP. Do tego jakieś 10k LUTów na peryferia i już wychodzi dość pokaźny FPGA. Dodanie DSP jako koprocesor nie...
(at)andrzejlisek ciekawe czy ktoś wpadł kiedyś na pomysł aby sygnał 1PPS wykorzystać na stałe jako bramkowanie w częstotliwościomierzu, Bezpośrednio raczej sie nie da, trzeba podzielić przez 2. Nie jest to jednak dobre rozwiązanie, utrata sygnału satelit i tracimy sygnał bramkujący. Najrozsądniejsze jest synchronizowanie VCO sygnałem PPS. Ja zrobiłem...
Może pozbądź się tych zmiennoprzecinkowych operacji. Takie rzeczy można zarobić stałoprzecinkowo a różnica w prędkość i rozmiarze kodu jest kosmiczna. To bardzo proste: 1) Zakładamy 16 bitową rozdzielczość (można 32 jak się chce) 2) Przlieczamy współczynnik, o tak: 65536*0.351=23003 3) deklarujemy: unsigned short a; //16 bitowa bez znaku unsigned long...
Teraz kilka sekund po starcie Windowsa pojawia się bluscreen: A fatal exception 07 has occured at FCAF:00002FF2. Przeglądając dokumentacje kodów błędów, okazuje się coś bardzo ciekawego: 07: Błąd niedostępnego koprocesora Ten błąd występuje, gdy w komputerze nie ma koprocesora matematycznego, a ustawienie bitu EM Rejestru CR0 wskazuje na korzystanie...
Pisałem sobie program użyłem zmiennej typu Real, a teraz dowiaduję się że jest ona 64 bitowa czyli jest typu double, ja mam Pentium III 32 bitowe więc przepisałem szybko program na zmienne typu single i załamka system podzielił przez zero. Googluje sobie o koprocesorach i co się dowiaduje że dawno one liczą na liczbach 128 bit. Chodzi o to że najbardziej...
Ja mam duzo roznego kramu podlaczone do i.MX31 po SPI, i chodzi ladnie pod Win CE 6.0. Troche bylo problemu z pisaniem sterownikow ale to tez jest do przejscia. co do tworzenia specjalizowanego kompa do sterowania, w moim przypadku duzej liczba operacji zmiennoprzecinkowych, to jestem twojego zdania, ale jesli produkt nie jest duza seria to, to sa nie...
No właśnie... Głupie dzielenie czy operacje na liczbach zmiennoprzecinkowych to przecież kolejne funkcje, których adres w kodzie jest zakodowany WPROST... 4\/3!!
To nie ma znaczenia czy float czy double. Jeśli zmienna jest typu float to dodatkowo dochodzą jeszcze konwersje float->double double->float fpu_enable() jest wywoływane wcześniej - to jest Twój kod. Problem i tak jest w tym, że nie ma obsługi sprzętowego fpu - kompilator wszystkie operacje na zmiennoprzecinkowych wykonuje programowo.
Potrzeba Ci liczby stałoprzecinkowej, a nie zmiennoprzecinkowej. Na chłopski rozum - wykonuj operacje na liczbach -1, -2, -4, 0, 4, 2, 1. Jeśli musisz wyświetlić wynik, to interpretuj go jako wynik/8. http://pl.wikipedia.org/wiki/Kod_stałopo... http://en.wikipedia.org/wiki/Fixed-point... http://en.wikipedia.org/wiki/Q_(number_f... Pozdrawiam,...
Zwykle bardzo łatwo jest zastąpić operacje na liczbach zmiennoprzecinkowych, operacjami na liczbach całkowitych. U ciebie w kodzie masz taki kwiatek: Pomoc3 = Cykl / Y Prc = Pomoc3 * 100 Czyli najpierw liczysz wartość która u ciebie jest ułamkiem, a póżniej praktycznie zamieniasz ją na liczbę całkowitą. A wystarczy zamienić kolejność i operować na liczbach...
ad 2. Możesz zakomentować. ST używa w swoich bibliotekach bool, a nie wszystkie kompilatory to mają. Poza tym, ja zawsze przeglądam pliki dostarczone od producenta - w nich też są błędy lub niedociągnięcia ad 3. -mhard-float oznacza użycie koprocesora przez kompilator -mfpu=fpa oznacza użycie konkretnego formatu liczb zmiennoprzecinkowych (patrz dokumentacja...
To nie ma nic do windowsa, działasz totalnie na oślep. Tak się nie rozwiniesz jako programista. I nie naprawia się błędów przez reinstalacja, ale przez precyzyjną analizę. Na małych architekturach zmienny przecinek nie jest przyłączany by default, a na życzenie. Problem tkwi w twoim projekcie. To mogą być paradoksalne złączenia okoliczności, jak sprintf...
Średnia można liczyć na jednej zmiennej. Wymaga to operacji zmiennoprzecinkowych. Trzeba więc stanąć przed wyborem, duże zapotrzebowanie na ram czy większe zużycie czasu CPU. Bascom ma ograniczenia co do liczby operacji zmiennoprzecinkowych w jednej linii Uwagi personalne usunąłem. O przesuwaniu przecinka słyszał? Odczyt z ADC mieści się w zakresie...
Witam. Proszę o informację, jak zapisywane są zmienne zmiennoprzecinkowe w środowisku GXWorx2 dla sterowników serii FX, konkretnie FX2n (mitsubishi). Stałe to np. K100, w oprogramowaniu są operacje na liczbach zmiennoprzecinkowych np. DESUB, jednak nigdzie nie doszukałem się jak wprowadzać takie wartośći. Programuję w drabince. Pozdrawiam i proszę o...
Wyjaśnia, wielkie dzięki za tak wartościową wypowiedź. To mnie bardzo zadowala, bo tam gdzie używam tej funkcji, mam (czy raczej mogę mieć) zmiennoprzecinkową stałą:) Czy zatem zamiast _delay_us(11250); lepiej będzie napisać _delay_ms(11.25); żeby kompilator nie musiał naprawiać moich błędów??? Chyba tak. Tak na marginesie - zauważyłem że w większości...
Dobrze, to teraz zobacz sytuację taką - bardzo łatwo i szybko można zmienić paletę kolorów obrazu GIF, bo to tylko mały obszar. Tyle, że taka zmiana nic nie daje, bo rozmiar (palety i indeksów) pozostaje ten sam. Jeśli więc chcieć zmniejszyć w ten sposób rozmiar pliku, to musisz wczytać ten obraz do pamięci (szerokość x wysokość x 24-bity), zmienić...
Znany i lubiany problem we wszystkich chyba językach - związany z reprezentacją liczb zmiennoprzecinkowych w postaci binarnej. Po każdej operacji na dwóch takich liczbach najlepiej wynik zaokrąglić do iluś miejsc po przecinku. Twoja funkcja ToDouble prawdopodobnie gdzieś używa jakiś zaokrągleń, a może po prostu przy zwykłej konwersji ze stringa jest...
Nie widzę żadnych przeciwwskazań. Ta flaga optymalizatora nie powinna sprawiać jakichś większych problemów. Jakoś zawsze unikam floatów jak mogę, więc nie wiem czy to co powiem mądre będzie, ale spróbuję. Co do cytatu to widzę to zupełnie inaczej. Zważywszy że: -ffast-math Sets -fno-math-errno, -funsafe-math-optimizations, -fno-trapping-math, -ffinite-math-only,...
Hehe czyli rozmywałeś widmo losową zmianą f nośnej;] W STM32F1 już nie pamiętam ale raczej wychodziło mniej niż 1us w każdym bądź razie wykonałem taki sam test jak Twój na F4 i wyszło ok 270ns. W sumie do tego testu lepiej by wywołać przerwanie od wciśnięcia przycisku i w tedy w funkcji obsługi przerwania zmienić stan jakiegoś wyprowadzenia, i zmierzyć...
A nie możesz po prostu robić obliczeń w funkcji obsługi timera 1, zapisywać to do globalnych zmiennych i następnie w głównym programie odczytywać te zmienne jeśli zamierzasz wyświetlić te wartości? Główny ekran to pewnie jakaś pętelka, która odczytuje pewne wartości, jak np. timer 0, temperatura, itp., następnie przelicza wszystko, potem wyświetla i...
Witam, Czy chodzi Ci o coś takiego jak w załączniku? Makro napisane na szybko, "na kolanie", z bezczelnie zagnieżdżonymi 5 pętlami FOR (gdzie aż się prosi aby użyć jakiejś rekurencji...), dodatkowo operacje wykonywane na liczbach całkowitych, żeby uniknąć problemów z sumowaniem i porównywaniem liczb zmiennoprzecinkowych (czyli 1 = 0.1, 2 = 0.2 etc).
istnieje jeszcze mało znany poziom -Og Hehe - rzeczywiście bardzo mało znany - standardowe ustawienie w nielubianych przez Ciebie nie DIY IDE do debugowania. Tak że pewnie najbardziej popularna opcja przy debugowaniu :) Tak przy okazji przy -Og problem (at)tmf z volatile znika bo to akurat jest optymalizowane. Zależności czasowe i data race są zależne...
Albo w ogóle nie bawić się w liczby zmiennoprzecinkowe, tylko... utworzyć 2 zmienne całkowite, jedna odpowiedzialna za części tysięczne, druga za jedności i wyższe. Dodatkowo zaoszczędzisz nieco flash'a, gdyż operacje na liczbach zmiennoprzecinkowych zajmują dużo pamięci programu. A zabawę w Stringi też odradzam... nie wytaczajmy armaty na muchę :D
Przy okazji mam jeszcze takie pytanie odnośnie biblioteki math.h - czy można w C jakoś tak zadeklarować dokładność operacji zmiennoprzecinkowych, żeby nie zabierały tyle miejsca? Dam przykład - urządzenie musi wyświetlić wynik w postaci logarytmicznej. Np. musi obliczyć log10 z 4000. Jeżeli zmienną wyniku zadeklaruję jako int. to otrzymuję wynik 3,...
http://obrazki.elektroda.net/53_12426654... Firma Fujitsu poinformowała o opracowaniu najszybszego na świecie procesora, zdolnego wykonać 128 miliardów operacji na sekundę. Prototyp o kodowej nazwie „Venus” (SPARC64 VIIIfx) wykonano w technologii 45nm. CPU ma wydajność 128 GFLOPS, czyli 128 miliardów operacji zmiennoprzecinkowych na...
Ciezkao stwierdzi sadze ze okolo 100 ale to jest tylko w przypadku A0 i A1 , adc z A2 potrafi wskazywac temp nawet 250 stopni i ja utrzymywac Jeśli rzadkie to problem rozwiążesz, zresztą jeśli to sterowanie i i tak powinieneś tak zrobić, uśredniając wyniki. Uśredniać można na kilka sposobów, wybierz najlepszy dla ciebie (tablica wyników, dodawanie...
Kilka sprostowań: 1. W kompilatorach C na AVR typ float jest tożsamy z double i jest 32 bitowy. Moze to się zmieni w przyszłych implementacjach. 2. Mantysa w 32 bitowej reprezentacji liczby jest 23 bitowa a w 64 bitowej jest 52 bitowa. Jako, ze na jedną cyfrę dziesiętną jest potrzebne ok 3.32 lcyfr binarnych (dokładnie log(2)(10) <-podstawa 2 ) to...
Zajrzałem na stronę http://www.megaprocessor.com/ - prawie dwa lata pracy, żeby to zbudować; nie wiem, czy autor stworzył koncepcję architektury "od zera", czy użył jakiejś znanej architektury jako wzoru, w każdym razie wyłapałem, że szukał jak zrobić np. bramkę Exclusive Or z tranzystorów; i nie wiem, jak to się porównuje ze znanymi mikroprocesorami...
"]Co do wyświetlacza, to KONIECZNIE na przerwaniach od timera. To nie jest konieczne w tym projekcie. W tej postaci o jakiej pisze autor może i nie konieczne, ale pisałem Mała zmiana w kodzie i wyświetlacz będzie migał albo świecił nierównomiernie. Kombinowanie z millis i innymi rozwiązaniami nieopartymi o przerwania, prędzej czy później się mści....
http://obrazki.elektroda.pl/5939594500_1... Ministerstwo energetyki USA dało firmie nVidia 12 milionów dolarów na badania dotyczące eksaflopowego komputera. Obecnie jednostką mocy obliczeniowej superkomputerów jest petaflop, czyli 10^15 operacji zmiennoprzecinkowych na sekundę. Eksaflop to 10^18 operacji na sekundę. Dla przypomnienia - najszybszy...
W tym cały sekret projektowania, składania i dobierania elementów składowych do zestawu mając określony cel, jaki chcemy osiągnąć, nie wystarczy kupić super podzespoły, poskładać to razem i oczekiwać cudów na kiju, musi to ze sobą być kompatybilne, wydajne, stabilne, a płyta musi umieć to wszystko obsłużyć. Już od dawna nie zajmuję się składaniem zestawów...
Witam, Od jakiegoś czasu bawię się wyświetlaczem graficznym 64x128 na sterowniku UC1601. Powstała potrzeba wykonania kompasu, który wyświetlał będzie strzałkę skierowaną w stronę północną, z wyświetleniem strzałki nie ma żadnego problemu, jednak problem powstaje gdy strzałkę trzeba obrócić. Na chwilę obecną AVR'ka musi do każdej klatki przeliczyć nowe...
Intel prezentuje ośmiordzeniowy procesor Nehalem-EX http://obrazki.elektroda.net/21_12434308... Zbudowany z 2,3 miliarda tranzystorów ośmiordzeniowy procesor Nehalem-EX (nazwa kodowa Beckton), którego premierę Intel planuje na pierwszą połowę 2010 roku, będzie wyraźnie przewyższał wciąż opóźniany układ Itanium Tukwila nie tylko pod względem złożoności....
zespół Alana Turinga wykonywał ataki brutforce na szyfry ENIGMY na podstawie prac polskich kryptologów Mariana Rejewskiego, Jerzego Różyckiego, Henryka Zygalskiego. Czy jesteś w stanie oszacować ile trwałby atak brutforce na szyfr EIGMY gdyby Turing dysponował SBC Raspberry Pi 4? Ciekawe pytanie! Szyfr Enigmy był bardzo skomplikowany, dlatego także...
(at)akajarz - nawiasy nie są potrzebne. (at)D-Generat - nie można stosować operacji takich jak mod czy div do liczb zmiennoprzecinkowych, gdyż te operacje są ściśle związane z rozkazami podjednostki ALU procesora, a ona pracuje tylko na liczbach całkowitych. Ponadto jaki jest wg Ciebie sens sprawdzania, czy 3.1 jest podzielne czy nie? Możesz przedstawić...
Witam ! Jak zaokrąglić, a w zasadzie obciąć cyfry w liczbie do 0.1 w Bascomie ? Zrobiłem tak: a=1.1625 'liczba przykładowa b=a*10 b=int(b) b=b/10 lcd b efekt np. 1.099999 To zapewne wynika z niedoskonałości operacji na liczbach zmiennoprzecinkowych. Może ktoś wie jak to zrobić bez sztucznego sprawdzania i dopisywania końcówek. PL
Witam serdecznie, bawię się ostatnio zmiennymi w Bascomie. Zadeklarowałem dwie zmienne typu single żeby wykonać pewne obliczenia i po skompilowaniu kodu okazało się że ponad 50% pamieci flash mikrokontrolera zostalo zużyte. Czy to normalne? troche mnie to zaskoczyło. Czy nie da sie wykonywac operacji na liczbach zmiennoprzecinkowych w inny sposób, zeby...
Informacje o zmianach dostępne są po zainstalowaniu: Below is just a sample of what's new. Added support for these devices: AT90PWM216 AT90PWM316 ATtiny43U ATtiny48 ATtiny88 AT90PWM2B AT90PWM3B ATmega48P ATmega88P ATmega168P ATmega328P ATmega1284P ATmega32HVB Binutils 2.18 New version. GCC 4.2.2 New version. avr-libc HEAD (Future 1.6.0) New version....
Obawiam się, że max co włożysz do tej płyty to procek Pentium MMX 233 lub AMD K6 266MHz (wg instrukcji max 233 MHZ, ale płyta ma możliwość ustawienia mnoznika x4). Osobiście polecałbym podkręcenie istniejącego procka (nie napisałeś, ale rozumiem, że ma jest to Pentium 200 MMX). Spróbuj zwiekszyć mu częstotliwość taktowania magistrali do np 75 MHZ, powinno...
Więc masz wybór: - robisz programową linearyzację - w dzielniku używasz źródła prądowego a nie rezystora Ale co ma nieliniowość czujnika do sposobu w jaki kolega chce wyświetlać wskazania ? ;) Przyjmijmy pusty zbiornik to 0R, połowa 50R, pełny 100. Dał rezystor 1k. Przy pustym ma 0. Przy pełnym ma (1000R+100R)/100R = 11. Przyjmijmy, ze dzielnik z rezystorami...
zamiast float uzywaj double - podwojna precyzja A co do mozliwego zapisu liczb, to float/double umozliwia zapisanie wiekszej/mniejszej liczby niz int, tyle tylko, ze przy tak duzych liczbach zacznie wprowadzac drobne bledy w obliczenia. "i chciałem żeby powieściła jak największe wartości." A jak sie przez moment zastanowisz, to twoj sposob myslenia...
Pisząc "surowa wartość" miałem na myśli to, co zawierają rejestry %AI, ale rozumiem w czym rzecz. Albo konwersja na liczbę zmiennoprzecinkową i potem dzielenie przez 20 (nie tracimy dokładności, ale wykonujemy operacje na liczbach zmiennoprzecinkowych), albo możemy tylko pomnożyć wartość z rejestru %AI przez 5 BEZ wcześniejszej konwersji sygnału i wtedy:...
OMG... odpadlem [; czlowieku! liczba twoja zajmuje dwa bajty. wiec najpierw zapisz ... pierwszy, a potem... drugi. po co te kombinacje? moze zapisuj to jako ilosc wielokrotnosci jakiejs fajnej liczby pierwszej (np 23) oraz reszta - bedzie jeszcze bardziej bezsensownie. mozesz zapisywac w eepromie 16bitowo? no to w ogole po co te kombinacje? moze pokombinuj...
Witam! Uruchamiam na ARM'ie Atmela program w którym wykonuje różne operacje na liczbach zmiennoprzecinkowych. Problem w tym ze program wyklada sie przy takiej instrukcji a=32000; prob[i]*=a; Dla tak na oko mniejszych od 1000 przechodzi ta linijke, ale dla wiekszych wartosci tej liczby wywala sie. prob jest tablica floag, a natomiast jest typu int. Co...
(at)marek2784 Chwileczkę, widzę że korzystasz z EasyBuilderPro. Czy zmieniłeś w bloku numerycznym typ zmiennej na zmiennoprzecinkowy? Domyślnie chyba jest ustawiony 16 bitowa liczba całkowita.
http://obrazki.elektroda.net/0_127352156... Aquasar - chłodzony cieczą superkomputer , znajdujący się w szwajcarskim ETH Zurich, w czwartek rozpoczął analizę dynamiki płynów z jednoczesnym dostarczaniem do budynku energii cieplnej. W typowym centrum danych około połowa energii zużyta jest na jego chłodzenie. Naukowcy z IBM i z Zurychu będą monitorować...
Filtracja cyfrowa z biblioteki EMGFilters wykonuje wiele operacji mnożenia na danych zmiennoprzecinkowych, na takim powolnym, 8-bitowym mikrokontrolerze i bez wsparcia sprzętowego, jest to karkołomne zadanie i obliczenia muszą dosyć długo trwać. Delay zatrzymuje wykonywanie pętli na 1ms, a obieg pętli trwa "czas wykonania obłiczeń" + 1ms co oczywiście...
...nie tylko w STM32. NVIC wygląda zawsze tak samo w dowolnym procku na rdzeniu CM0/CM3. Tyle że na CM0 jest okrojony, ale nazwy sfrów i ich adresy są wszędzie identyczne. Mikrokontroler to nie pecet , więc stosowanie się do nawyków pisania na PC, pisząc na mikrokontroler, jest....uchybieniem. Każdy, piszący na mikrokontrolery napisze szybki i nieźle...
http://obrazki.elektroda.pl/3865157600_1... Skonstruowany przez Fujitsu superkomputer K przyspieszył do 10,51 biliardów operacji zmiennoprzecinkowych na sekundę i tym samym strącił z tronu chińskiego Tianhe-1A. Przekroczenie granicy 10 petaflopów nie byłoby możliwe gdyby nie obecność 88 tysięcy ośmiordzeniowych procesorów SPARC64 VIIIfx...
Witam! Proboje zrobic na procku Atmela AT91SAM7X128 generator sinusoidy. Do procka mam podpiety przetwornik C/A do ktorego chce wysylac 16-bitowe odpowiednio obliczone probki (zapisane w zewnetrznej pamieci SRAM). Projekt kompiluje pod WINARM. I teraz pytanie do was. Jaka biblioteka matematyczna pozwoli mi na obliczenie sinusa na tym procku i operacje...
Jeśli zmienna wyświetl jest typu Word, czyli ma być to liczba całkowita. Od razu ci podpowiem, że nie potrzebujesz używac liczb zmiennoprzecinkowych, które "kosztuja" bardzo dużo. Zrób operacje na liczbie *10, a przy wyświetlaniu przesuń tylko przecinek w lewo o jedną pozycję.
bascom zmiennoprzecinkowy atmega zmiennoprzecinkowy procesor zmiennoprzecinkowy
rozebrać klapa pralka zacięcie stacji serwisowej uszczelniacze zaworowe
bestway podgrzewacz rower treningowy
Cichy dźwięk w telewizorze Telefunken - jak zwiększyć głośność? Renault Clio II 1.5 dCi 2006 - Nie odpala, kontrolki akumulatora, oleju i STOP