Ale... float to przecież bity w pamięci! To co one przedstawiają, powinno cię mało obchodzić, gdy chcesz to zapisać w pamięć nie ulotną... Jeśli float ma 4 bajty (a chyba ma), to wystarczy dobrać się do tych czterech bajtów intem... [syntax=C] float ulamek=54.75701; unsigned int *ple=(unsigned int*)&ulamek; ZapiszZmienną([adres],*ple); //tu wlasnie...
Wystarczy przeanalizować wygenerowany plik map i będzie wiadomo nie tylko ile pamięci wymaga program, ale także co tę pamięć zajmuje.
błąd jaki zauważyłem to definicja "main" powinna być z dwoma argumentami, czyli "int main(int argc, char*argv[])". Wynika to z faktu, że biblioteka SDL2 podmieni ją na swoją. Dokładniej to SDL definiuje makro "main" jako "SDL_main" i jest to typ funkcyjny dwuargumentowy "int(*)(int,char**)". goto? Niektórzy tego nie lubią i uważają za zło. Jeżeli to...
ed-ek czytanie ze zrozumieniem - sprawdzone i polecane kursy. Podbijam temat - potrzebuję nazwy sprawdzonych kursów(zamówiłem symfonie c++) Mam nadzieję, że zamówiłeś "Symfonię C++ Standard ", bo starsze wydania opisują głównie C++/ARM. Początkowo język C++ był dostępny w takim standardzie, w jakim opracowano ostatnią wersję kompilatora Cfront (tłumaczący...
Przedewszystkim zrób to inaczej... po prostu... main() { char bufor[20]; ... funkcja(bufor, ...); } funkcja(char* bufor, ...) { } I w ogóle nie ma problemu. Zmienna tmp w ogóle jest nieporozumieniem. Przecież wewnątrz funkcji możesz sobie zadeklarowac tablicę o dowolnym wymiarze... funkcja(...) { char tablica[1000]; } A pamięć możesz zwalniać gdzie...
Witam! Myślę, że warto tutaj skorzystać z wskaźników do tablic i utworzyć tablicę tychże wskaźników np: TYP *(*t)[] i odwoływać się do tak zdefiniowanej poprzez: (*t)[wiersz][kolumna] [syntax=c]typedef float TYP; /* w miejsce TYP wstawiamy dowolny typ */ /* i definiujemy funkcję */ TYP *(*alokuj(int iletablic))[] { int i; TYP *(*p)[]; p = malloc(sizeof...
https://obrazki.elektroda.pl/3043864800_... Ten niepozorny moduł opiera się o ESP32 C3 i oferuje 1.44-calowy, kolorowy wyświetlacz o rozdzielczości 128x128, sterowany przez protokół SPI. Tutaj pokażę, jak łatwo można zacząć z nim przygodę, jak można wgrywać mu wsad zdalnie (przez WiFi), jak wyświetlić prostą animację oraz porównam...
https://obrazki.elektroda.pl/1164711900_... Dla interfejsów miedzianych Ethernet typowym złączem jest RJ45 (8P8C) natomiast dla łączności optycznej urządzenia sieciowe najczęściej wyposażone są w gniazda na moduły SPF/QSFP. W zależności od modułu możemy uzyskać różne prędkości transmisji ale także zasięgi od setek metrów do wielu kilometrów...
http://obrazki.elektroda.pl/3265192600_1... Witam serdecznie. Na wstępie powiem iż jest to moja pierwsza konstrukcja jaką przedstawiam na forum i liczę na konstruktywne opinie. Podstawowe założenia projektu: 1. Zbudowanie "żarówki" (źródła światła) emitującego światło RGB oraz białe, 2. "żarówka" musi być zasilana z 230V i musi mieć...
https://obrazki.elektroda.pl/8545401100_... Mój poprzedni temat o Pierwsze kroki Jakiś czas temu publikowałem temat o https://obrazki.elektroda.pl/4535548900_... Wyszukujemy DHT. Biblioteka DHT wymaga też dodania Adafruit Unified Sensor Library, więc dodajemy obie biblioteki. Najpierw Unified Sensor: https://obrazki.elektroda.pl/1839946000_...
https://obrazki.elektroda.pl/4269875400_... Oryginalny DeepSeek jest raczej za duży, by uruchomić go na domowym sprzęcie, ale repozytorium Ollama oferuje ciekawą alternatywę bazującą na dostrajanych (tj. trenowanych w oparciu o rezultaty większego modelu) modelach LLama i Qwen. Występują one pod nazwami deepseek-r1:1.5b/7b/14b/32b...
Chciałem trochę wciągnąć syna w Arduino i zbudować z nim projekt gry PONG oparty na: https://michaelteeuw.nl/post/87381052117... Okazało się, że syn się dosyć szybko wykolegował z projektu twierdząc że XBOX jest ważniejszy, a jednak postanowiłem poświęcić kilka wieczorów i projekt dokończyć. W tym czasie oryginalny projekt ewoluował na tyle,...
https://obrazki.elektroda.pl/3743484600_... Witajcie moi drodzy Przedstawię tutaj mojego shielda (nakładkę) na Arduino UNO opartego o układ ENC424j600. Shield ten pozwala podłączyć Arduino do internetu bez żadnego lutowania, a nawet bez użycia kabelków i płytek stykowych. W temacie dam jedenaście pełnych przykładów jego użycia z moimi...
Zrób sobie unię ze zmiennymi typu int o takim samym zapotrzebowaniu na pamięć co float: [syntax=c]union { float temperatura; uint32_t in; uint8_t buf[4]; } flo_to_by;[/syntax] Jak masz gotową funkcję to wyślij to jako zmienna "in" a jak nie to kolejne bajty z bufora "buf".
https://obrazki.elektroda.pl/8545401100_... Zapraszam na drugą część przygody z płytką Wemos D1 ESP8266 i czujnikiem temperatury/wilgotności DHT11. W tej części rozwinę swój program o zapis wyników w pamięci Flash ESP8226, wykorzystam do tego bibliotekę o wdzięcznej nazwie EEPROM . Dlaczego klasa do zapisu we Flash nazywa się tutaj...
Trochę konfudująca wiadomość, zwłaszcza, że w datasheecie nie ma wzmianki o komórkach. Na wikipedii opisano pamięć EEPROM jako pamięć, gdzie dane są zapisywane w komórkach, które są grupowane w strukturę wielokrotności 8 bitów. Zatem mam tutaj dostęp do 32768 komórek, każda 8-bitowa? Wówczas zapisanie jednej wartości float wymagałaby rozdzielania na...
https://obrazki.elektroda.pl/7464986600_... https://obrazki.elektroda.pl/1362019100_... https://obrazki.elektroda.pl/2618480400_... Antena modułu WiFi/BT wykonana jest w postaci metalowej kształtki, zabezpieczonej przed drganiami kroplą kleju termicznego: https://obrazki.elektroda.pl/4309918600_...
Chciałbym dzisiaj przybliżyć Wam odbiorniki sygnału GPS. Postaram się to zrobić na podstawie gotowego modułu który wykorzystuje do tego układ firmy U-BLOX a mianowicie układ o nazwie NEO-6 w wersji „M”. https://obrazki.elektroda.pl/5154679800_... Nie będę tutaj rozpisywał się na jakiej zasadzie działa pomiar pozycji odbiornika....
http://obrazki.elektroda.pl/6035089300_1... Moduł Arduino Yun jest świetnym sposobem, aby wejść w tematykę Internetu Rzeczy (IoT). Arduino Yun to niewielki moduł integrujący w sobie Linuxa na Układzie z światem Arduino. Poniższy projekt jest wprowadzeniem w tematykę Arduino Yun, oprogramowywanie sensorów w Pythonie i PHP oraz w tworzenie...
Sory, ale operacje na floatach żrą pamięć ale programu, float w RAMie zajmuje 4 bajty (najczęściej bo to też zależy od standardu zapisu). Nie rozumie tylko dlaczego znaki deklarujesz na floatach? Jeżeli możesz to wpakuj tu kawałek kodu do tego, może da się to zrobić prościej.
O i tej informacji mi brakowało, że pierwsza liczba oznacza długość całego pola, a nie ilość przed przecinkiem. Chyba mnie zamroczyło i niedokładnie przeczytałem Minimum number of characters to be printed. If the value to be printed is shorter than this number, the result is padded with blank spaces. The value is not truncated even if the result is...
Problem z resetem esp Więc tak. Odbieram z czujnika strukturę : 16:33:01.853 -> Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled. 16:33:01.853 -> Core 0 register dump: 16:33:01.853 -> PC : 0x4000c677 PS : 0x00060a30 A0 : 0x801082c8 A1 : 0x3ffb5460 16:33:01.853...
AVR nie ma operacji na liczbach zmiennoprzecinkowych (float). kompilator musi je jakoś emulować. jeśli nie jest to absolutnie konieczne nie stosuj zmiennych float.
Witam! Piszę program który ma mniej więcej obliczać mi ile paliwa jest wtryskiwane do cylindra w samochodzie. Ale chciałem aby wartość uśredniona już nie była tracona wraz z odłączeniem zasilania, tak więc trzeba ją do EPROM'a zapisać. Robię to tak: float wynik = 0; eeprom_write_byte( (float *)0x0, wynik); wynik = eeprom_read_byte(...
Freddie Chopin: Tak jestem świadomy małej precyzji formatu half-float. Wysoka precyzja nie jest wymagana. Atom1477: Niestety bez informacji o pozycji przecinka nie mogę formatować na liczbę całkowitą. Pamięć ma przechowywać dane z różnych czujników pomiarowych za czym idą różne formaty typu xxxx.xx czy x.xxxxx. Kris68: Konieczność zapisu zmiennych float...
Atom - źle piszesz. RPi4 ma procesor o rdzeniach Cortex-A72, a nie A53. 53 były w RPi3, a porówywalny wydajnościowo SoC do dostania od ręki masz Allwinner H5 i H6 za jakieś 8-10$. Zasadniczo do dostania od ręki coś porównywanego z RPi4 (wcale nie demon prędkości) to np. popularne RK3399 z Rockchipa. Albo coś "atomowego" ulv ;) Albo mediateka. Możliwości...
Miałem wcześniej działający układ ze zmienną typu float , i użytą funkcją sprintf ale są bardzo pamięciożerne i ze względu na małą pamięć mojego atmega8 chciałbym to w jakiś sposób obejść.A odnośnie tych dzieleń to nie mój pomysł ale słyszałem że jest to potrzebne aby wyświetlić wynik pomiaru po przecinku.Co musiałbym zmienić lub dodać to mojego kodu...
Zapewne okolica wokół anteny modułu ESP ma spore znaczenie w jakości sygnału itp. jednak jeśli zegar znajduje się kilka metrów od routera nie robi to większej różnicy. Biblioteka ESP do Eagle zawierała warstwę Restrict wokół anteny, tak więc poza laminatem nie ma pod nią żadnej miedzi. Jednak oczywiście, na pewno to nie jedyna rzecz, która nie jest...
Witam Was. Mam takie pytanie, czy jest jakiś zamiennik tej funkcji ? Chodzi mi o to, że atof trochę miejsca zajmuje mi w programie, a niestety pamięć programu mi się kończy dokładnie to pamięć atmegi8. Lub inaczej jak łatwo zamienić char +0.00 i +10.00 na 0.00 i 10.00 oraz -0.00 i -10.00 na -0.00 i -10.00 na float, liczby są przykładowe chodzi mi jaki...
Zrobić całą obsługę OneWire na przerwaniu timera. Ja mam to tak zrobione na LPC17xx, podejrzewam, że ktoś to zrobił również na AVR, chociaż to nie aż tak proste, ze względu na krótkie czasy pomiędzy przerwaniami. A, i wyrzuć te float z programu - do niczego to nie potrzebne, a marnuje pamięć i czas procesora. Jeśli bardzo chcesz mieć te dziesięciotysięczne...
Xdata i pdata to obszary pamięci zewnętzrnej, adresowane odpowiednio 16 i 8-bitowo. Natomiast pamięć wewnętrzna to obszar data - pierwsze 128 bajtów (adresowanie bezpośrednie), oraz idata - całe 256 bajtów wewnętrznego RAMu (adresowanie pośrednie). Tak więc użyj idata a nie pdata.
Wartości naturalne - miałem na myśli częstotliwości bez części setnych (napisałeś 13,75 Hz), Odwzorowanie bliskie zeru - myślałem o tym, że gdy częstotliwość sygnału wynosi 996 Hz to zamknięcie wszystkich okresów w tablicy 400-stu elementowej spowoduje że sygnał będzie zawierał po prostu za mało wartości (na jeden okres nie przypadnie nawet 1 próbka)...
Panowie postanowiłem wykonać test wbudowanych w atmel studio typów fixed point vs float. Na razie tylko samych _Accum z saturacją ale to co zobaczyłem nie napawa optymizmem gdzie jest błąd?Dodam że -atmel studio 7, -wewnętrzny zegar 8MHz -Atmega16. -Do pomiaru czasu używam timer 1. Najpierw kod, testujemy 4 działania +,-,*,/ dla typu _Accum i float....
Witam, Dostałem ostatnio ogrzewanie przyczepy kempingowej z uszkodzonym sterownikiem. Chciałbym je zastosować do mojego garażu. Muszę zrobić prosty sterownik do tego ogrzewania i znalazłem program, który trochę przerobiłem. #include <OneWire.h> #include <DS18B20.h> #include <LCD.h> #include <LiquidCrystal_I2C.h> #define ONEWIRE_PIN...
Właśnie wymyśliłem dlaczego nie da się tego wykonać. Funkcja pobiera wskaźnik i tworzy jego kopię (tak jak kopiuje wartość jeśli pobiera zmienną). Czyli w tym przypadku pobiera NULL, co jest tak na prawdę niczym (nie odnosi się do żadnego miejsca w pamięci). W tym przypadku można by po prostu zaalokować pamieć w mainie, ale w rzeczywistości próbowałem...
Witam, Potrzebuje zamienić liczbę w formacie double (float) na stringa aby go wysłać przez RS232. Chciałem użyć funkcji ecvt z biblioteki stdlib, ale mam problem z linkowaniem, dostaje: Linking: main.elf arm-none-eabi-gcc -mcpu=arm7tdmi -I. -gdwarf-2 -DROM_RUN -DAT91SAM7S256 -Os -Wall -Wcast-align -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls...
Mam np. następującą strukturę: [syntax=cpp-qt] struct telefony { char marka[20]; float przekatna_ekranu; float waga; }; [/syntax] Teraz deklaruję oraz inicjalizuję tablicę struktur o nazwie np. nokia: [syntax=cpp-qt] telefony nokia[3] = { {"6300", 2, 91}, {"N82", 2.4 , 114}, {"Lumia 520", 4, 124} }; [/syntax] A jak najwygodniej zrobić podobną inicjalizację,...
Problem wynika stąd, że liczby temperatury gdy zmieniają się z 4-cyfrowej na 3-cyfrową to całość przemieszcza się pozostawiając po sobie znak stopnia. Pamięć wyświetlacza nie jest czyszczona za każdym razem kiedy wysyłana jest nowa wartość i jeżeli jest krótsza to nie nadpisuje ona całości dłuższego napisu i zostają po nim ślady. Rozwiązaniem może być...
Sprawdziłem dzisiaj ten babol (na najnowszej wersji WINAVR)....i niestety ale nadal na wyświetlaczu widzę jakby się wieszał procek. String wrzucony na wyświetlacz, tuz przed wywołaniem funkcji dtostrf() miga :/ Zmiana z double na float tez nie pomogła. Dodano po 5 Dobra już chyba wiem gdzie tkwi problem :) Przekroczona pamięć programu tuz po dołączeniu...
Proszę o pomoc bo nie umiem sobie poradzić z poprawnym zwalnianiem pamięci alokowanej wcześniej na tablicę wskaźników wskazujących na tablice, zawartych w strukturze. Logicznym mi się wydawało usuwać pamięć w odwrotnej kolejności do tego jak była alokowana, ale o ile przy kompilacji błędów nie ma żadnych to przy uruchomieniu już są. Oto komunikat: ***...
Tak, napięcie około 5V z komputera przez programator, mierzyłam i się zgadza. Te strony też znam już na pamięć praktycznie :D Także nie wiem tu chyba nie tkwi problem w złym podłączeniu pinów / elektroniki na płytce tylko cos w programie chyba... Dodano po 17 może zepsułam wyświetlacz :( moze coś źle wcześniej podłączyłam i się zjarał .... kuurcze...
Racja, zapomnialem zamieścić chociaż sprawka kodu. Więc tak, zapisywanie znajduje się w funkcji która wywoływania jest jeżeli która kolwiek z wartości ulegnie zmianie. Wygląda to w ten sposob EEPROM.begin(512) sprawdzałem też z wartością 64 chociaż nie wiem co to oznacza czy jest to maksymalna porcja danych jaka wyślę czy maksymalna pojemność eepromu...
Witam wszystkich Forumowiczów! Jestem uczniem 3 klasy technikum i już od pół roku zacząłem interesować się programowaniem uK. Pisałem w C bo to dla mnie prosty język. Ostatnio zadałem sobie problem (no dobra chcę zaszpanować przed kumplami :P). Chcę zrobić dobory rejestrator temperatury w pokoju. Wybrałem sobie uK ATtiny 2313, układ DS1820 (czujka temperatury)...
Tak, np. floAt's Mobile Agent'em
Dziwne, że w ogóle coś sensownego robi. Instrukcja: [syntax=c]float x[1000];[/syntax] powoduje przepełnienie pamięci SRAM, której masz tylko 2 kB, a ta tablica potrzebuje 4000 bajtów.
Tutaj masz gotowy przykład bez użycia float-ów (oszczędność pamięci): http://mikrokontrolery.blogspot.com/2011...
Ale jemu nie brakuje całego retarget, tylko sbrk, bo w newlib większość funkcji które robi coś z liczbami float alokuje dynamicznie pamięć. Dobrze, ale skoro mówimy o atoi i atof, to kolega bimbarabam pewnie nie wie, że może używać printf - powiedzmy z portem COM w roli głównej, albo zrobić sobie dostęp przez systemowe funkcje w stylu fopen/fread.......
Zapominasz, że w tej pamięci nie tylko te "floaty" siedzą (ściślej - ich obsługa) ale również obsługa uarta oraz ADC. To że masz 3 zmienne typu float o niczym nie przesądza. Przy jednej miałbyś podobnie. Oprócz tego procedura zamiany float-->str - też zajmuje swoje. W twoim przypadku wystarczyłoby abyś mnożony wynik, zapisał do liczby typu int. sprintf...
Jeśli znasz rozmiar tablicy robisz coś takiego: [syntax=c]float (*ptr)[x][y] = (float (*)[x][y]) addr;[/syntax] I potem używasz: [syntax=c]float f = (*ptr)[x][y];[/syntax]
dla flasha ostatecznie jednak użyłem swojej implementacji z biblioteki SPImemory i będę zapisywał dane w bajtach. Rozumiem, że w jakiś sposób chciałeś sobie uprościć kwestię adresowania zapisanych danych w zewnętrznej pamięci SPI. Sama biblioteka SPImemory wspiera również bezpośrednio zapis/odczyt float, string, różne typy int oraz tablice bajtów ....
float pamięć pamięć programu float float double pamięć
dioda przedłużacz czujnik spala peugeot zmiana dekoder polsat
5tech podłączenie kamer miernik grubości lakieru
Alfa Romeo 33 1.4 1993 – brak fabrycznego filtra kabinowego, czyszczenie i retrofit Programowanie kluczyka Mitsubishi ASX 2014 - instrukcje