Witam, mam pytanie odnośnie SDCC i zmiennej typu float. Probuje wyświetlić zmienną typu float na LCD. Zmienną taką mogę wysłać na RS232 poprzez printf_fast_f() ale cos zrobić kiedy potrzebuję użyć sprintf(). Widzę, że kiedyś miał Pan podobny problem więc może już go Pan rozwiązał. Z góry dziękuję za pomoc.
Tu masz coś o sbrk(), ale dla innego skryptu linkera, więc nieszczególnie Ci pomoże. Twój jednak wygląda mi na dobry (pozatym, że heap_ptr można zainicjalizować normalnie, bez tego if() ). Jak chcesz uciszyć warningi o nieużywanej zmiennej, to wystarczy na początku funkcji zrobić - _s_r = _s_r i po problemie. http://www.elektroda.pl/rtvforum/topic14...
Google printf float avr gcc -- pierwszy wynik to [url=http://winavr.scienceprog.com/avr-g...
The total number of bytes that may be passed to this function is limited due to the memory restrictions imposed by the 8051. A maximum of 15 bytes may be passed in SMALL or COMPACT model. A maximum of 40 bytes may be passed in LARGE model. Taki sam komentarz jest przy funkcji scanf. W Twoim przypadku po przygotowaniu napisu przez sprintf wypisuj go...
Zrozumiałem ;) Właśnie do tego służy funkcja printf o której napisałem. Trzeba określić format na float i precyzję na jedną liczbę. Na stronie manuala funkcji printf jest link do sprintf gdzie formatowanie jest dokładnie opisane. Pozdrawiam, Krzysztof.
Hey. Zrob tak: Pierwszy sposób: #include <stdlib.h> .... float Wynik = 1.123; .... dtostrf(tmp,6,3,pomiar); //zamiana float na string wypiszNaLCD(pomiar); // twoja funkcja wypisująca ciąg znaków Drugi sposób (użycie printf-a): W pliku Makefile dodajesz: # If this is left blank, then it will use the Standard printf version. #PRINTF_LIB...
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...
Nie szukałem jeszcze jak się konwertuje float do string'a, ale jak nic nie znajdziesz możesz skorzystać z pomysłu flapo213... Z tym, że w programie możesz sobie w każdej chwili rzutować dane na int. Jest to jednak bardzo obliczeniożerne, dlatego pewnie pracownicy microchipa nie poszerzyli printf o float'y. Więc możesz zrobić tak: float liczba=12.4;...
Trzeba #include <math.hpp> żeby poszło RoundTo(); (też troche nad tym spedziłem zani doszłem :) ) Jeszcze jest jedna metoda do formatowania (o ile pamietam) AnsiString A; A.printf("",);//tutaj normalnie formatujesz liczbe jak w printf Label1->Caption=A;
Ach, znowu ta stdio... Tyle z nią problemów, że powinni jej zakazać używać ;). U mnie nie działa system("pause"), zależy to od kompilatora, dlatego zamiast tego warto pamiętać o czyszczeniu standardowego wejścia, poprzez wczytywanie znaku nowej linii: #include <stdio.h> int main() { float f, c; printf ("podaj ilosc stopni...
I w czym problem? to co napisałeś a main wkładasz do pierwiastki() a w main wywołujesz funkcje pierwiastki() [syntax=cpp] #include<stdio.h> #include<math.h> void pierwiastki () { float a, b, c; float delta, pdelta, x1, x2; printf("Program liczy rownanie funkcji kwadratowej ax2+bx+c=0.\n"); printf(" Podaj parametry a, b, c\n"); printf("a...
No tak by było chyba najlepiej... razem z printfem: printf ("%g",convert_temp(tds... Zdaje się, że trochę przekombinowałem... :p Pytanko: A czy to nie powinno wyglądać tak: float convert_temp(unsigned int temp) { unsigned char sign = 0; float ret = 0; if(temp & 0x8000) { sign = 1; temp = ~temp + 1;...
Pull request - https://github.com/openshwprojects/OpenB... Wyłączono tuyamcu i dht. Zachowano aht2x i włączono zawijanie funkcji printf dla float printf. Potrzebny kolejny test ota. (at)pkaczmarek2 Zmieniłem sposób obsługi kroku "Przygotuj środowisko CI" w przepływie pracy. Jeśli buduje wersję nierelease, to ten krok jest pomijany,...
ODp2: Zeby wyswietlic folat na LCD musisz uzyc funkcji printf lub dtostrf ( polecam ta druga bo zajmuje znacznie mniej pamieci ) . Itoa i ltoa konwertuja tylko liczby staloprzecinkowe. Funkci dtostrf szukaj w stdlib.h w katalogu WinAVR, jest tam opisana. ODP1: Jak masz zadeklarowana zmienna p_gora_1?? Jesli nie float to zadeklaruj ja jako float, albo...
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.......
Nie "float main" a "int main" Nie <iostream.h> tylko <iostream> I wtedy - albo: using namespace std; i cout << (costam) albo: bez using namespace i piszemy std::cout W pętli for nie przecinki a średniki. Pierwiastki źle liczysz - pow to potęga. sqrt - pierwiastek kwadratowy, cbrt - sześcienny. #include <iostream> #include <math.h>...
w printf znak procent jest znakiem specjalnym, pierwszy wiersz jest niewłaściwy. Jak wszystko w C efekt jest Undefined Behaviour czyli błąd ale czasem może działać . Jak chcesz świadomie drukować % to dwa razy %%, ale nigdy tego nie robię. - do drukowania bez formatowania są prostsze, szybsze funkcje jak puts itd... Wywód o niezadeklarowanych typach...
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...
Idz na latwizne - wklej ten kod:) #include <REG51F.h> #include <stdio.h> //RW na stale do masy //cztery starsze bity P1 steruja czterema starszymi LCD sbit RS = P1^1; sbit EN = P1^0; void delay (int czas) { int k=0; while (k!=czas) { k++; } } void waitms (int ile)// Czekanie ok 1msdla zegara 11059200Hz...
https://obrazki.elektroda.pl/4767840700_... Wczoraj opublikowana została nowa rodzina modeli Qwen3 oferująca rozmiary od 0.5B do 235B. Jej flagowy model, Qwen3-235B-A22B może z powodzeniem rywalizować z modelami takimi jak DeepSeek-R1, o1, o3-mini, Grok-3, i Gemini-2.5-Pro. Nowe modele Qwen3 obejmują zarówno modele dense , jak i typu...
Witam! Przypomniałem sobie o tym projekcie jak zadzwonił do mnie dziś jeden z dystrybutorów elektroniki z prośbą o sample. Zrobiłem to z rok temu na zlecenie klienta. Założenie było takie: potrzebowali płytki aby podłączyć przy użyciu I2C, SPI lub asynchronicznie wyświetlacze alfanumeryczne. Warunkiem było - musi obsługiwać jakieś printf z floatami,...
Oto odpowiedź: http://mikrokontrolery.blogspot.com/2011...
Nie masz zlinkowanego wyświtlania floatów, więc nic Ci się nie wyświetli. google: "how to printf float avr"
Dzięki za podpowiedź ale w WinAVR + PN2 nie ma dostępnych opcji linkera poza ustawieniami w makefile. Nie mam pewności czy to tutaj ale tylko tutaj jest coś o FLOATach. Dopisałem "-lm" w każde możliwe miejsce ale to nie pomogło. Skopiowałem całą tamtą instrukcje ale też nic to nie dało :( Oryginalny makefile wygląda tak: ---------------- Library Options...
Przeczytaj ten artykuł: http://mikrokontrolery.blogspot.com/2011...
Wartość odczytywana z termometru po modbusie to "17036" czyli w hex 0x428C . I jest to transmitowane w float... czyli liczbie 32bit, jest to temperatura około 69 stopni .. Dodano po 3 jak wyświetlić tego float'a np funkcją printf żeby otrzymać tą liczbę około 70 ?
juz dziala :-) ale musialem troche policzyc i zrobic mala modyfikacje w twoim kodzie nie bylo zmiany kierunkowosci portu (DDRx) dodalem i dziala :-) Ale niestety znowu mam maly problem z printf nie potrafie wyswietlic liczby float robie tak -> float t; printf ("Temp=%f",t); moze posiadasz jaks biblioteke do UART-a bo ta co mam jest jakas dziwna ?? Pozdrawiam...
Witam! Właśnie uczę się pisać w C++. Używam kompilatora Dev-c++. Napisałem prosty programik. Oto jego kod: #include <stdio.h> #include <conio.h> int main(void){ printf (" ...::: Obliczanie obwodu i pola prostokata :::...\n\n"); float a; printf ("Podaj dlugosc boku A\n");...
#include<conio.h> #include<stdio.h> float czytaj (float tab[]); float mnoz(float tab[]); int main() { float tab[5]; czytaj(tab); printf ("po wymnozeniu srodkowego elementu tablicy przez 3 ta tablica wyglada tak:\n"); mnoz(tab); getch (); return 0; } float czytaj (float tab[]) { float i; printf ("podaj 5 liczb: \n"); for(i=0; i<5; i++)...
Problem leży w operatorze '/' - dzielenie. W C oznacza on zarówno dzielenie całkowite (DIV) jak i dzielenie normalne (liczb zmiennoprzecinkowych). Odpal sobie taki kod : #include <stdio.h> #include <stdlib.h> int a; int b; float x; main(){ x = 0.5; // = 0.5 :) printf ("x = %g \n",x); x = float(1/2);...
Co Wy macie do tych floatów :P ... Więc proszę Was - nie przezywajcie tak tych floatów, bo widzę, że tylko jak przy okazji AVRa pojawi się słowo float to od razu jest wrzawa... Nie pisz w liczbie mnogiej, bo tylko kol. tehaceole ten temat poruszył. Poza tym nie widzę by kol. tehaceole robił "wrzawę", tylko zadał pytanie. A dyskusji na temat tego czy...
jesli chodzi o ustawienie float dla printf przy robieniu Makefile to ustwione. Rano z braku pomysłów odwróciłem czujnik i teraz mam: 1 5V 2 do procesora i do 5v przez rezystor 3 do masy wczesniej miałem podłączone wg noty katalogowei i nie działało, nie rozumiem dlaczego
Memory region Used Size Region Size %age Used MFlash32: 12408 B 32 KB 37.87% RamLoc8: 420 B 8 KB 5.13% Jak widzisz sporo printf zajmuję pamięci, dodaj do projektu symbol CR_INTEGER_PRINTF co spowoduje znaczne zmniejszenie objętości kodu wynikowego. Jednak nie ma nic za darmo, printf przestanie obsługiwać float ale bez liczb zmienno przecinkowych można...
Printf + float na tym procesorze to proszenie się o problemy. Te para ma spore wymagania pamięciowe i można się przejechać przy małych procesorach. Wszystko jeszcze zależy od tego z których bibliotek korzystasz. Konwersję temperatury z DS można wykonać w prosty sposób bez używania floatów. http://mikrokontrolery.blogspot.com/2011...
Witam Problem z poniższym kodem polega na tym,że zmienna 'pierwiastek' przyjmuje wartość 0 niezależnie od wartości 'delta'. Kiedy deklaruję pierwiastek jako int i delta jest równa 4,9,16 itd. problem znika. Co jest przyczyną? Będe wdzięczny za podpowiedź. #include <stdio.h> #include <stdlib.h> #include <math.h> #define STALA1 4 int...
Działa. Dziękuję za pomoc :) problem mam jeszcze z tym [syntax=c] #include <stdio.h> #include <stdlib.h> #include <math.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char *argv[]) { FILE *f=fopen ("C:\\users\\magdalena\\desktop\\newton m.dyguda\\program\\1.txt",...
#include <stdio.h> int main() { float r; printf("Podaj promien kola: "); scanf("%f", &r); printf("Promien kola to: %f", 3.14 * (r*r)); return 0; }
Dodaję jeszcze raz o uzupełnione próby. To pilne. Mam problem z zadaniem, tzn. napisaniem programu, który ma za zadanie: - pobrać od użytkownika liczbę - zapisać ją w postaci heksadecymalnej - wyświetlić obie liczby - zapisać je w pliku. Mogę używać funkcji: - int, char, double, float - printf - scanf - if else - pętle for i while - switch - tablica...
Witam. Mam do napisania program wyliczający wielomian Legendre'a, jak na załączonym zdjęciu. http://obrazki.elektroda.net/90_12319572... Napisałem programik, który według mnie powinien chodzić poprawnie, jednak tak nie jest. Wyrzuca mi błąd na pierwszej klamrze poniżej void. Powiem, że programik pisałem w Borlandzie. A oto moje wypociny :)...
Cześć. Użyj funkcji prinf i odpowiednich przełączników. Przykład z http://www.cplusplus.com/reference/cstdi... : printf ("floats: %4.2f %+.0e %E \n", 3.1416, 3.1416, 3.1416); W twoim przypadku: [syntax=c]printf ("moja liczba = %f" , liczba);[/syntax] Albo zapis do buforu: [syntax=c]sprintf (bufor, "moja liczba = %f" , liczba);[/syntax]
Witam! Po pierwsze: Obliczasz pole funkcją Heron zanim wprowadzisz dane. Po drugie: zmienne a, b, c deklarujesz jako zmiennoprzecinkowe a funkcji scanf każesz interpretować je jako całkowite typu int. Musisz zmienić formatkę %d na %f Po trzecie: funkcja printf wyświetlająca wynik nie ma formatki %f zatem wyniku nie wyświetli. [syntax=c]#include <stdio.h>...
---------------------------------------- a=1.234 b=3.987 dzialanie: / ________________________________________ (1.234/3.987) = 0.310 ESC- konczy prace programu Dwa błędy: Trzy błędy: [syntax=c]float odejmij (float d, float e) { return (a-b); } [/syntax]
Ave, zauważyłem niespotykane przeze mnie wcześniej zachowanie funkcji sprintf (podejrzewam, że printf zachowuje się tak samo) w przypadku zaokrąglania zmiennej typu float. Załóżmy, że chcemy wyświetlić zmienną var typu float o wartości -0.00123f. Do formatowania wywołujemy funkcję: sprintf(bufor, ".2f", var); W rezultacie otrzymujemy wynik "-0.00" -...
Nie mogę przekierować printf na port szeregowy UART0. Podczas kompilacji mam: arm-none-eabi-gcc -nostdlib -L"E:\Programowanie\LPC1768\wor... -Xlinker -Map="printf_LPC1768.map" -Xlinker --gc-sections -mcpu=cortex-m3 -mthumb -T "printf_LPC1768_Debug.ld" -o "printf_LPC1768.axf" ./src/cr_startup_lpc175x_6x.o...
Spróbowałem swoich sił, jednak jest problem z pętlą, jakby ktoś mógł poprawić ten program, byłbym wdzięczny. [syntax=c]#include <stdio.h> #include <stdlib.h> #include <math.h> int main (void) { float x,y; printf ("Podaj litere:\n"); scanf ("%c", &x); if ((x >= '65') && (x <= '90')) { x=x+'32'; printf("Zmieniona litera...
NIe kompiluje się pod dev c++ bo użyłeś funkcji niestandardowych clrscr() i getch() (getch jest w razie czego w conio.h). zrób tak: #include <stdio.h> #include <math.h> #include <cstdlib> main() { float a; //clrscr () ; printf ("Podaj x: "); scanf ("%f",&a); if(a<0)...
Piszesz: Wpisuję taki program w Dev-C++: i to ci działa? Kompilator nie wywala błędu że main() musi być int a nie void?Używaj cout i cin zamiast printf i scanf. Wynik dzielenia musi być zmienną float,bo jak a<b to u ciebie iloraz=0. system("pause") i getch() mają takie samo działanie,ale system wypisuje dodatkowe info. Zamieszczam poprawiony kod,poprawione...
Panowie! Małe pytanko, jak odbywa się zgłaszanie przybliżenia liczby float? Np. uzywając funkcji printf zgłasza się to jeśli dobrze mi wiadomo w następujący sposób: %3.2f - dwa miejsca po przecinku. Natomiast ja chciałbym aby operacje na wcześniej zgłoszonej liczbie float odbywały sie na ścisle określonej precyzji. Chciałbym uzyskać wynik np. do dwóch...
Witam, mam zadanie do wykonanie w C a jestem troche zielony z tego wiec prosze o pomoc jaka kolwiek. Z góry dzieki. Tresc zadania: Stworz program generujacy komentarz zawierajacy dane o autorze i dacie utworzenia. Napisałem najprościej jak się tylko dało i musze dodać dwie rzeczy: zapis do pliku i jezeli wpiszemy w swoje dane cyfry a nie litery to wyskakuje...
W międzyczasie znalazłem i zadziałało. Trzeba to wpisać tak: http://obrazki.elektroda.pl/7334378700_1... Trzeba uwzględnić że -Wl,-l jest już dodane na początku. Nie potrafię tego wyciąć. Przynajmniej ktoś następny już nie będzie się musiał męczyć czytając ogólniki. Dodano po 20 No i jeden problem rozwiązany ale jest już następny: Dodano...
printf winavr printf eclipse freertos printf
przekrój przewodu kolumny zielony dioda sharp termostat bascom
lodowkie samsunga habotest ht118e
Zamienniki układu scalonego MDA2020: TDA2020, TDA2030 i inne Jak smarować głowicę tokarki CNC? Porady i środki smarne