Skocz do zawartości

farmaceuta

Użytkownicy
  • Zawartość

    27
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O farmaceuta

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. No i tak... Poinformowac kompilator zeby wynik byl traktowany jako...32-bitowy. poczytalem troche i znalazlem takie terminy jak "promocja do int" czy "jawne/niejawne rzutowanie". no i mimo ze wynik mialem jako 32bit to wyrazenie zawieralo zmienne/liczby z zakresu nie wiekszego niz 16bit i kompilator w takim wlasnie zakresie zapisal zmienna. no chyba to bylo problemem bo teraz dziala elegancko z tym ze nie rozumiem jednej rzeczy...czemu musze uzyc "jawnego rzutowania" dwa razy do dwoch pierwszych bajtow? (starsze bajty). W niczym to nie przeszkadza, ale przeczytalem rowniez ze wys
  2. Cos mi nie chce dzialac ten "printf" lub "sprintf" doczytalem ze musze dodac <stdio.h> ale nic...dopiero po dodaniu biblioteki <ArduinoSTL.h> cos pokazuje ale nie tak jak powyzej, zamiast 03F0F6AC pokazuje 0000F6AC (oryginalna zmienna)...za pomoca "Serial.println(polozenie3, HEX);" to mam 3F0F6AC i "Serial.println(q, HEX);" FFFFF6AC tu musze sie jeszcze dobrze do szkolic bo ten float to skomplikowany jest (dla mnie). 1. No wydaje mi sie ze z deklaracji tablicy tx_buf...w pierwszym kodzie uint8_t (0-255) a w drugim int8_t (-128-127 (czyli "zamiennik" char?))
  3. Panowie (bo do wszystkich tu obecnych sie zwracam) naprawde poklony w wasza strone za cierpliwosc dla mojej osoby...(juz napewno zaczynam byc irytujacy) i wielki szacunek za wasza wiedze! moge tylko domyslac sie ile ton ksiazek i internetu musieliscie przerobic...naprawde szacun! ;-). A teraz tak (hehe ;-))...czego sie nauczylem? albo Arduino jest cofniete w rozwoju albo ja...(nie musicie odpowiadac!! ;-)) , ale nie za bardzo radzi sobie z liczbami z zakresu wiekszego niz 16 bitow...jezeli chce liczbe 26bit zapisanej w uint_32t bitowo wpisac do bajtow to ok...ale przy prubie odtworzenia
  4. Moglbys rozwinac?? ...(caly czas wieluuuuu rzeczy nie rozumiem...) W long otrzymuje to co chcialem czyli...50123456
  5. Ok sprawdze to...no ale i tak cos bylo nie tak bo juz "przerobiona" zmienna long miala inna wartosc niz ta wyjsciowa (w dziesietnym systemie oczywiscie)...hmm jutro zrobie jeszcze test ale z krutkimi liczbami i zobaczymy co z tego wyniknie...dzieki wielkie za poswiecany czas i cierpliwosc:-)
  6. No i poleglem...;-/ co prawda dopiero kilka dni "rozumiem" operacje na bitach..problem polega na tym ze jesli np. starsze bity sa zerami to mi je "urywa" (przynajmniej tak to wyglada w Serial monitorze).. myslalem ze jesli mam bajty np...1111000 / 00011111 / 01111111 to po przesunieciach bitow bede mial np. long 00000000 11110000 00011111 01111111 a mam np. 11110000 11111 1111111...no chyba ze cos w kodzie przekrecilem...ech, opornie mi to idzie..:-/ byte tx_buf[8]; void setup() { Serial.begin(9600); } void loop() { float polozenie1 = 50.123456; long polozenie3 = polozeni
  7. Bede sie tego trzymal... Bede jeszcze mial powiedzmy 39.99 (czyli * 100 zapisane w 12 bitach) 50.123456 (czyli * 1000000 w 26 bitach) 10.0 (tez * 10, bo liczba moze przyjac wartosc np. 7.9 w 7 bitach) O ile dobrze pamietam to zapis z "twojego odbiornika" urwie mi liczbe po przecinku...czyli np. jesli podloze tu wartosc 12.3 to otrzymam juz na "wyjsciu" 12.0...robilem tak samo ale dopiero po oddzieleniu tego obliczenia do dwoch otrzymywalem 12.3 Edit. Wroc! ...ja mnozylem i dzielilem przez 10 a nie przez 10.0....
  8. Napewno zerkne No a co do tego mojego przykladu to moge tak zamieniac float na bajty i po "rekonstrukcji" spowrotem do float liczba ta jest widziana przez program jak normalny float i nie bedzie problemu nigdzie tak? (caly czas bardzo dziekuje za cierpliwosc i pomoc! :-))
  9. Panowie przepraszam z gory za ponowne zawracanie glowy, ale nie moge znalezdz odpowiedzi..."zafascynowaly" mnie te liczby staloprzecinkowe po tym co napisal ethanak i z tego co wyczytalem to tradycyjny float sklada sie z: 1 bit 8 bit 23 bit Natomiast staloprzecinkowa z: 16 bit 16 bit chodzi mi o to ze nie moge znalezdz zakresu tych staloprzecinkowych po przecinku...mniej wiecej kapuje ze im wiecej bitow mam po przecinku tym wieksza mam dokladnosc (wiecej cyfr) ale mniejszy zakres calkowitych liczb Przed przecinkiem...robiac test wczoraj otrzymywale
  10. Nie no teraz jest chyba poprawnie...wkoncu floaty odtwarzam z zmiennych typu bajt...wiec ta moja "kompresja" ma rece i nog.... No chociaz jedna noge?? (wlasnie czytam o tych float i staloprzecinkowych) caly czas dziekuje za pomoc!!
  11. A tutaj tylko "zarys" tego co ten glupi Jedrus sobie wymyslil...nie ma tutaj zadnych przesuniec itp na bitach bo to tylko przyklad zeby sobie ulatwic. void setup() { Serial.begin(9600); } void loop() { float A = 23.7; float B = 12.2; float C = 9.3; Serial.print("A (oryginal) "); Serial.println(A); Serial.print("B (oryginal) "); Serial.println(B); Serial.print("C (oryginal) "); Serial.println(C); Serial.println(); delay(2000); A *= 10; B *= 10; C *= 10; Serial.print("A (mnoze * 10) "); Serial.println(A); Serial.print("B (mnoze * 10) "); Serial.print
  12. Tutaj wspomniales o nr... Nie no ja rozumiem ze model w glupich rekach to cos strasznego...oczywiscie poczytam a nawet juz zaczalem...tylko ciezko sie w tym polapac na poczatku...a jak sprawa wyglada z odleglosciami?? Bo z tego co chyba zrozumialem jeszcze dawniej to nie istnieje cos takiego jak fpv i mozna tylko latac w zasiegu wzroku... Zgadzam sie calkowcie z Toba! Poprostu nie wiedzialem jak to wyglada w sensie testow i finansow...dlatego nie wnikalem...na wieksze odleglosci zaczalem dopiero uczeszczac okolo wakacji zeszlego roku a "modelarzem" jestem od nie calych dwoch la
  13. Szczerze to nie mam papierow...latalem ostatnio w pazdzierniku...cos mi sie o uszy obilo o nowych przepisach i po tym co napisales to koniecznie musze to wszystko zweryfikowac!...nr. modelu?? Juz chyba sie im calkiem poje....w tych pustych glowkach. Co do wagi to tak...to zdazylem wyczytac, tego o zakazie kamer nie wiedzialem..(kolejna paranoja glupich ludzi)...choc Ja Ci powiem tak ze od dawna nie wolno przekraczac "pewnych" odleglosci (napewno wiesz o jakie mi chodzi) a mimo to no wiadomo co...
  14. No wlasnie chodzi o to ze to ma "imitowac" autopilota...czyli lecac np. 1km od bazy trace wizje, ale w pc na aplikacji "Mission Planner" (aplikacja pokazujaca doslownie wszytko o obecnym stanie modelu ) dalej mam np. Polozenie geograficzne/wysokosc/odleglosc dopoki nie strace lacza... Ja juz latalem na ponad 10km i przy takich lotach autopilot/gps etc to cos koniecznego! (choc na szczescie nigdy nie musialem korzystac z uslug "awaryjnych")Wyobraz sobie ze na odleglosci 2km tracisz wizje bez autopilota...nie chce krakac ale raczej juz masz pozamiatane i szanse na odnalezienie modelu n
  15. Haha:-) (...wlasnie sie tak zastanawialem czy mowiles o sobie czy o poprzednikach..hehe:-)) Zakladajac ze przerobie je tak jak pisalem i po przeslaniu/odebraniu i "odtworzeniu" na float maja byc przekazane do struktury polecenia protokolu MAVLink po czym to polecenie leci przez uart do pc i w aplikacji MP mam wyswietlone parametry wlasnie w tej postaci (float) Jeszcze wiele czasu musi uplynac zanim zrozumiem o czym tu napisales... (poczatkujacy biedak) ..."nie kazdy facet z widlami to Zeus...czy tam Neptun" :-)hehe poprostu duzo duzo duzo jeszcze nie rozumiem...nigdy n
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.