Biblioteka to jedno a program to następna sprawa. W bibliotece math może być funkcji całe stado, a tobie powiedzmy potrzebne są cztery. W C kompilator wraz z linkerem wsadzi do kodu tylko to co potrzeba i po problemie. Radzę zacząć od C bo przy funkcjach matematycznych w szczególności zmiennoprzecinkowych łatwo o błąd przy programowaniu w asemblerze....
No ale dostajesz informację, że plik nie został odnaleziony... Co to ma do rzeczy czy został skompilowany dla Keila czy nie, skoro po pierwsze musi zostać odnaleziony? podając do linkowania parametr -lgui wcale nie powodujesz wyszukania pliku gui.a - linker poszuka tylko pliku libgui.a (w ramach potwierdzenia sprawdź czy biblioteka matematyczna nazywa...
Witam! Moze jednak ktos kto zna sie na makefile'ach moglby zerknac na tego mojego i podpowiedziec co mozna zmienic zeby zadzialalo. Pewnie chodzi o to ze nie dolaczane sa biblioteki libm.a libg.a i libgcc.a ale nie wiem co zrobic zeby je doalaczyc. Bede wdzieczny za kazda pomoc linker wywala, że nie znalazł biblioteki. Musisz dopisać -lm do makefile...
ARM-a mam STM32F411.Chciałbym, by był prosty w obsłudze. Pozdrawiam. Najłatwiej będzie chyba zacząć z Arduino IDE. Po dołożeniu do niego paczki dla kostek STM32, zyskujesz możliwość pisania programów dla płytki STM32411 z możliwością wyboru czy to płytka Nucleo, czy BlackPill czy jeszcze coś innego. Zarówno instalacja jak i pisanie programów pod Arduino...
No dobra, udalo ci sie polechtac moja proznosc wiec moze zrobimy tak. Opisze tutaj przykladowego mekafile-a z nastawieniem na WinAVR, Atmega8 i STK200 tak aby inni tez cos z tego mieli. W zasadzie wszystko jest opisane w angielszczyznie no ale jakby kto nie umial to daje po polsku. # Hey Emacs, this is a -*- makefile -*- #---------------------------------------...
W procedurach wlasciwie wszystkie 32 rejestry sa uzyte, a nie bardzo wiem gdzie wsadzic dane przed skokiem do procedury i gdzie bedzie wynik po powrocie. AVRgcc interface: All functions use the AVR-gcc function call interface : double func( double A [, double B] ) A := R25:R24:R23:R22 with R25 holding sign and...
Spoko, jak rozumiem to tajemnicze cmath to zwykłe [syntax=c]#include <math.h>[/syntax] tylko w wersji dla C++ (namespace)[syntax=c]#include <cmath>[/syntax] Biblioteka matematyczna pod AVR jest dostępna, tyle, ze double jest tożsame z float, no i jest liczona programowo, więc dość wolno.
Przełącznik lm mówi linkerowi aby skorzystał z biblioteki o podanej nazwie (akurat w linuksie biblioteka matematyczna nazywa się m a nie math :D ) Składnia jest następująca -l(nazwa biblioteki) Opcja związana z poprzednią która moze sie przydać to -L(ścieżka dostepu) - pozwala linkerowi dołączyć bibliotekę która znajduje się w innym katalogu niż domyślny....
Hm też mi się tak wydaje, nie wiem czemu go tam nie ma.. Makefile jest z folderu w którym jest cały projekt tego programu z biblioteki rklibavr. Makefile: # Nazwa pliku z funkcją main() - BEZ ROZSZERZENIA! TARGET = main # typ mikrokontrolera #MCU = at90s2313 #MCU = at90s8515 #MCU = atmega163 MCU = atmega8 #MCU = atmega128 # Katalog z bibliotekami...
A jakiej częstotliwości masz ten PWM? Jak mój analogowy TL431I bardzo male przekroczenie ustawionego napięcia wykryje i załączy mosfeta z obciążeniem nawet 100W, to powinno bardzo szybko spaść to napięcie na tym akumulatorze, czyli nie powinno być praktycznie zauważalne dla akumulatora bo kable jakąś tam indukcyjność też mają, a jak nie to że dodanie...
Dołączałem już math.h float.h i dalej to nie pomaga, problem chyba tkwi w odpowiednim użyciu bibliotek newlib. Poprzedni post mogl wprowadzic Cie w blad. math.h to nie jest zadna biblioteka tylko plik naglowkowy - zawiera on miedzy innymi prototypy funkcji matematycznych, definicje typow danych i stalych. Biblioteka odpowiadajaca za funkcje matematyczne...
no i się nie skompilowało Wygląda jakby brakowało biblioteki matematycznej. Pewnie trzeba linkerowi podać.
Witajcie ! Zgłębiam podstawy programowania w języku C dla AVRów, mam już za sobą miganie diodą, przyszedł czas na LCD. Mój program: [syntax=c]#include <avr/io.h> #include <avr/pgmspace.h> #include <avr/eeprom.h> #include "lcd44780.h" int main(void) { lcd_init(); lcd_locate(1,1); lcd_str("Hello World !"); // napis z pamiêci RAM...
no właśnie o te pliki lst mi chodziło jeśli nie są potrzebne to nie wiem czemu mi to nie działa makefile mam ok bo korzystam z wielu takich bibliotek i działa wcześniej w załączniku podałem przykład sprawnej biblioteki do programu głównego daje #include "lcd.h" a makefile wygląda tak # Nazwa pliku z funkcją main() - BEZ ROZSZERZENIA! TARGET...
Już na samym początku tej mozolnej drogi muszę kolegę delikatnie naprowadzić - to co kolega wyłuskał i pokazuje nam w cytacie to tylko komunikaty na wyświetlacz które oprócz roli informacyjnej nie mają wpływu na wartości rezystancji kalibracyjnych. Niektórzy forumowicze pytali o możliwość polskiej wersji językowej, więc może podpowiem, że wystarczy...
musisz dolinkować bibliotekę matematyczną, czyli libm.a. Dokonuje się tego poprzez "-lm" dodane do komendy wywołania linkera. 4\/3!!
XC to wersja gcc tak zmieniona, aby uzasadnić wprowadzenie opłat za korzystanie z XC. Ostatnio skopali coś o ile pamiętam w bibliotece matematycznej, w efekcie generowany jest długi i wolny kod. Osobiście uważam, że avr-gcc jest super ok i nie ma powodów aby wchodzić w płatne wersje kompilatorów dla AVR i ARM. Ale oczywiście co, kto woli.
witam wszystkich! mam pewien problem z wyświetlaczem 16*2 sterowany zgodnie z HD44780 pracuję na nim od jakiegoś czasu i wczoraj stała się bardzo dziwna rzecz, otóż przestał reagować na jakiekolwiek polecenie z mikrotkonrolera do tej pory korzystałem z biblioteki rklibavr - użycie jej jest bardzo proste, więc nie sądzę, żebym zrobił jakiś błąd w programie...
Szukam od kilku tygodni jakiejś ciekawej książki o programowaniu mikroprocesorów AVR w języku C w okolicznych bibliotekach i księgarniach oraz w internecie. Jednak znajduję wszystko albo na assemblera albo na bascoma. Assembler jest dla mnie zbyt żmudny natomiast bascom niesatysfakcjonujący dlatego wybór padł na C. Niestety niewiele istnieje polskich...
Juz byl taki temat ale został zamknięty. Moj problem polega na tym ze nie moge ruszyc ds1820 w C z wykorzystaniem bliotek rklib do obslugi ds. #include <avr/io.h> #include<avr/interrupt.h> #include<avr/eeprom.h> #include<string.h> #include "lcd.h" #include "ds18x20.h" #include "delay.h" uint8_t gSensorIDs[OW_ROMCODE_SIZE];...
Witam, jestem nowym użytkownikiem Elektrody. Interesuję się programowaniem od jakiegoś czasu(C++, C# głównie) i podjąłem się próby napisania odtwarzacza audio. Używam środowiska .Net, język c# + biblioteka nAudio. Moim celem jest zrobienie analizatora widma akustycznego. Jako że nie jestem jeszcze na studiach(klasa maturalna technikum) moja wiedza matematyczna...
Zapewne wy, BlueDraco, macie rację, w sensie, że da się to pewnie zrobić i bez zmiennego przecinka. Ale wracając do problemu - jak sam zauważyłeś wymagane jest dołączenie biblioteki matematycznej libm.a. Robi się to opcją -lm, w AVR Studio we właściwościach projektu masz możliwość dołączenia bibliotek z listy - to o ile pamiętam masz w opcjach linkera....
w Javie importuje się nie tyle biblioteki co klasy :)
Musisz zajrześ do źródeł - czyli do definicji _delay_ms. Jako parametr przyjmuje on argument o typie float - w efekcie jeśli podasz mu zmienną, a nie stałą znaną na etapie kompilacji to zajdzie konieczność przeprowadzenia obliczeń na typie float, co za tym idzie dołączenia biblioteki matematycznej. Tu mała podpowiedź - jeśli jawnie nie dołączyłeś libm,...
float oblicz (float liczby[N]) { int licz; float suma,srednia; for(licz=0;licz<=N;licz++) suma+=liczby[licz]; srednia=suma/N; printf("Srednia= %.2f\n",srednia); } Zajęło mi to niecałe 5 minut, więc wolałem to napisać sam niż tłumaczyć jak to napisać, program jest prosty, przeanalizuj go krok po kroku i powinieneś zrozumieć, bo moim zdaniem trudniejsze...
Jesli chodzi o c to nie wiem ale dla c++ jest cos ciekawego. Zainteresuj sie biblioteka boost (www.boost.org) a dokladnie jednym z jej skladnikow.
Dobrze, dzięki za opinię. Złożyłem zarówno szerokość, jak i długość geograficzną w jedno polecenie. Martwiłem się również o miejsce na kod, ale byłem bardzo zaskoczony, że całość zajęła mniej niż 900 bajtów (nie licząc możliwego wzrostu wykorzystania biblioteki matematycznej przez wszystkie funkcje trygonalne, których używa, takie jak atanf, sinf itp.)...
Pewnie że lepiej bez bibliotek lub z własnymi, ale im bardziej skomplikowany procesor/system, tym wiecej czasu trzeba poświęcić. Np. napisanie procedur obsługujących kolorowy ekran TFT z panelem dotykowym zajmuje trochę czasu. Jeżeli robi sie to dla jednej sztuki, to nie zawsze ma to sens. Teoretycznie zamiast używać MS Win czy Linuxa, można samemu...
Przyznam, że pytanie to jest dosyć dziwne. Czy gdzieś jakieś polskie firmy to stosują? Szczerze w to wątpię. Rodzimy przemysł jeśli w ogóle istnieje to stosuje STM32, które programuje się 1000 razy łatwiej od TMS320. Osobiście pracowałem z wielordzeniowym TMS320C6678 i jeszcze jakimś TMS320C6720. Jednak to były prace w ramach badań naukowych przy doktoracie....
A jak jest np. z biblioteką arduino.FFT? Jak już mowa o FFT, szczególnie jeśli trzeba ją liczyć szybko, to przy Pi Pico mamy do dyspozycji świetną, profesjonalną bibliotekę matematyczną firmy ARM z różnymi obliczeniami w tym FFT, w różnych wariantach typów zmiennych stało czy zmiennoprzecinkowych. I co najważniejsze biblioteka jest optymalizowana ściśle...
Witam. Dzieki pomocy tutejszego forum, znalazlem biblioteke procedur matematycznych w asemblerze AVR, jednak zupelnie nie potrafie ich uzyc. Po pierwsze nie wiem co to za asembler - AVRStudio nie przyjmuje np. takich polecen jak: public adres: Musialem wszedzie zlikwidowac slowo 'public' zostawiajac tylko - adres: AVR Studio nie przyjmuje polecen 'dc.b'...
Język C definiuje tylko minimalne wymagania dla zmiennych i ich minimalne długości. To, że na jednym CPU int będzie miał 16 bitów, nie znaczy, że na innym nie będzie miał 32 a nawet 64 bitów. Podobnie jest z float i double, one muszą być co najmniej 4 bajtowe (wykładnik + mantysa), ale to nie znaczy, że nie mogą być większe, co zwiększy precyzję. Także...
Szkoda dołączać całej biblioteki matematycznej. Dla sprawdzenia przykładu lepiej narysować kilka prostokątów "na sztywno".
Linkuj z biblioteką matematyczną, czyli - lm
Witam, To co mogę polecić: "Rachunek różniczkowy i całkowy" - Franciszek Leja, "Rachunek różniczkowy i całkowy" - Kazimierz Kuratowski. Obydwie z serii "Biblioteka Matematyczna". Do tego wspomniana, legendarna "Analiza..." spółki Włodzimierz Krysicki, Lech Włodarski. Możliwe do kupienia na Allegro i w wielu antykwariatach.
do opcji linkera nalezy dodac -lm (myslnik el em) - dolaczy to do linkowania biblioteke libm.a, ktora zawiera definicje funkcji zmiennoprzecinkowych matematycznych z naglowka math.h niemniej jednak nie wiem czemu dolaczasz wprost biblioteki libc i libgcc - zapewne przez to masz problem (też) - usun je z makefile. 4\/3!!
est szybkości togglowania GPIO musi być zrobiony na jak najniższym poziomie (rejestry, brak OR-ów lub AND-ów, brak skoków itp) Tu tak naprawdę nie ma co testować, wystarczy przeczytać notę układu. Niesądzę aby te procesor wyciągał poniżej 1 Moperacji tego typu, bo nawet AVR osiąga FCLK/2 operacji. Test operacji arytmetycznych - przy włączonych optymalizacjach,...
Wszystko zależy od tego, czy faktycznie dostępne funkcje z biblioteki matematycznej są dla Ciebie za wolne i jak bardzo za wolne. Jeżeli nie brakuje Ci czasu ani miejsca, to pisanie własnych funkcji mija sie z celem - chyba, że ten jest dydaktyczny.
Dołączyłeś bibliotekę libm.a do linkowania? To może być problemem. EDIT: chodziło mi oczywiścię o bibliotekę matematyczną libm, a nie o standardową libc... 4\/3!!
LightHouser potrzebuje bibliotek, ktore podobno sa gdzies na necie (chodzi mi o bibl. matematyczne) lub mozna je stworzyc samemu. Dziekuję za miłe słowa... ;)Ja ich nie potrzebuję, bo mam. AVRFreaks...
Nie ma takich gotowych funkcji, a raczej klas z metodami. Ewentualnie w zewnętrznych API, ale nie liczyłbym na cuda. Abrakadabra: http://www.gnu.org/software/gsl/ Jest mnóstwo innych darmowych bibliotek matematycznych, trzeba tylko użyć wyszukiwarki.
Z tego co widze nie masz dolaczonej biblioteki matematycznej (libm, -lm), sprobuj ja dolaczyc, to powinno znacznie zredukowac ilosc zajetej pamieci, ale ciagle bez gwarancji, ze sie zmiesci. Na pewno potrzebujesz typow zmiennopozycyjnych? Arytmetyka stalopozycyjna ci nie wystarczy?
Prezentacja a obliczenia to jeszcze co innego, choćby wzór na deltę (równanie kwadratowe) musisz w programie zapisać: delta= (b^b)- 4*(a*c) Sam matematyczny zapis to inna sprawa, są do tego biblioteki choćby Latex (zależy w jakim środowisku/języku piszesz).
(...) I tu takie male pytanie co wtedy robia asemblerowcy, co robia asemblerowcy jak na horyzoncie widnieje koniecznosc skorzystania z np: logarytmow? (...) Potrzebujesz bibliotek matematycznych (powiedzmy wyliczasz jakies wartosci z rownan). Wyobrazam sobie, iz da się to zrobic w asm, jak dobijesz do 60tki. To nie jest tak ani czarno ani biało......
Chodzi Ci o biblioteki matematyczne? Nie wiem - nie napisałeś w jakim środowisku pracujesz (podejrzewam, że w Code Composer). Poczytaj dokumentację i helpa do środowiska - tam powinieneś coś znaleźć na temat funkcji matematycznych. Na pewno sinus i kosinus dostępne są we wszystkich kompilatorach C. Jeśli nic nie znajdziesz - pozostaje wykorzystanie...
Plik .c jest dołączany na etapie linkowania a nie pisania kodu :) Każdy plik .c jest kompilowany oddzielne i po to masz nagłówki żebyś wiedział jakie funkcje/zmienne masz dostępne. Weź sobie na talerz taką bibliotekę matematyczną. Skąd bez pliku nagłówkowego miałbyś wiedzieć co ona udostępnia skoro masz tylko plik obiektowy bez źródła ?
gaskoin - ale zanim to pomnożysz prze E-10 to musisz zrobić 600^4, co daje duży wynik pośredni. Adamu_s + masy float, ktrzy sobie z tym poradzi, ale wzmaga dołączenia dużej biblioteki matematycznej. Skoro wynik mieści się w zakresie 15-65, to masz tylko 50 wyników, co łatwo stablicować i zamiast robić takie obliczenia po prostu odczytaj wynik z tablicy.
Do zastosowań o jakich napisałeś o niebo prostsze i łatwiejsze w wyszukiwaniu błędów oraz bardziej przejrzyste będzie jednak Delphi. Ale jakbyś chciał napisać coś więcej niż sterowanie jakimś prostym procesem i wizualizacja go to jednak C++ (jest też większy dostęp do zaawansowanych bibliotek matematycznych). Bardziej perspektywiczne ale trudniejsze...
Ale nie tylko przez to, głównie przez to, że matma w Chinach na dość wysokim poziomie. Albo dlatego, że w USA prawdziwych studentów trzeba sprowadzać. Miejscowi od małego wiedzą, że droga do sławy prowadzi przez NBA albo NFL, a nie przez bibliotekę z podręcznikiem z analizy matematycznej pod pachą. :D
Algorytm mierzony wczoraj trwa 33us (jeszcze nie optymalizowałem, skorzystam później z biblioteki matematycznej to dużo odciąży na cos sin oraz sqrt); Impulsów na obrót jest 500 przy czym skonfigurowane jest jako kwadraturowy czyli 2000. Dzisiaj silnikiem ruszyłem okazało się przy tym bujaniu że za dużą stałą czasową ustawiłem, stąd te gibania, teraz...
zagadka matematyczna edukacja matematyczna analiza matematyczna
nokia wtyczka mikrofony pojemnościowe schemat pralka termostat stały
orange przedłużenie umowy siemens iq800
Pralka: częsta wymiana grzałki, kluczyk i wyłączenie prądu Samsung RB33J3420WW – specyfikacja lodówki No Frost z dolnym zamrażalnikiem