No ale czemu zależy Ci na tym, żeby to było uint16_t - skoro liczba jednak jest ze znakiem, to w czym gorszy jest typ int16_t? 4\/3!!
Różnicę widać przy przesuwaniu rejestru w prawo (przy dzieleniu przez 2^n). LSHIFT przesunie wynik o zadane przesunięcie i z lewej wrzuci zawsze 0, ASHIFT sprawdzi najstarszy bit (bit znaku w U2) i w uzupełni od lewej rejestr jego zawartością. Chcesz poprawnie dzielić liczby ujemne przez 2^n - używaj ASHIFT.
A nie jest tak, że przesuwając w prawo dzielimy (zmniejszamy) wartość, a w lewo mnożymy (zwiększamy)? Czyli przesuwając bity, przesuwny także tą jedynkę na początku i nie jest ona chroniona? Pozostaje więc tylko zwykłe, czasochłonne dzielenie?
Co do zaokrąglania, wystarczy dodać 0.5 przed konwersją do int-a (odjąć dla liczb ujemnych).
Eh kolego, nie uważałeś na matematyce? Dzielenie całkowitoliczbowe to Q \cdot D + R = X , gdzie Q (quotient) to iloraz, D (divisor) to dzielnik, R (remainder) to reszta, a X to dzielna. Żeby było tylko jedno rozwiązanie to zakłada się że R \in . Dla liczb ujemnych są problemy ze znakami, więc to na razie pomińmy. Jeśli chcesz korzystać z reprezentacji...
a nie da się potraktować wartości jak uint? Jeżeli nie, to przeskalować dzieląc wartość na część dodatnią i ujemną. Dla zakresu 0..32767 wynik wprost. Dla zakresu ujemnego dodajemy stałą 32768 i wynik razy dwa albo jeden shift w lewo. Edit: można też zrobić pojedynczy shift w prawo (dzielenie na pół) i dalej przeskalować liczbę z zakresu 0..32767 Skala...
Gdyż reprezentacja liczby ujemnej nie jest jednoznaczna. W systemie zapisu U2 (najczęściej wykorzystywanym) dla liczb stałoprzecinkowych informację o tym, że liczba jest ujemna odpowiada wartość 1 dla MSB oraz odwrócenie wartości wszystkich bitów. W zależności od kompilatora niezaznaczenie wyraźnie typu liczby (signed/unsigned) może zwracać różne wyniki...
W takiej notacji, że każda cyfra jest w osobnej komórce tablicy, problemem jest obsługa wartości ujemnych. Najłatwiej jest operować na kodzie uzupełnienia do dwóch. Wtedy wyliczanie przeniesienia nie jest skomplikowane. Tutaj możesz zastosować algorytm pisemnego odejmowania, przy czym najniższe cyfry trzymać pod niskimi indeksami, aby można było działania...
Bolek: 1.Żeby nie było przesunięcia tak jak mówisz, to musisz użyć liczb ujemnych. Bo jak masz liczby -20 i 20, to skalowanie x3 zamieni to na -60 i 60 - wszystko ok Jak masz liczby 10 i 20, to skalowanie x3 zamieni na 30 i 60.. środek kwadratu jest już zupełnie gdzie indziej 2.Żeby otrzymać dobrą płynność powinieneś użyc wyników z mnożenia/dzielenia...
Cecha EA = -22 Cecha E6 = -26 wg algorytmu który podałem w moim pierwszym poście 0100 0000 0000 0000 0000 0000 * 2^(-22) 01,00 0000 0000 0000 0000 0000 = 1.0 kg -1kg 1100 0000 0000 0000 0000 0000 * 2^(-22) wniosek: najstarszy bit określa znak liczby, 1 - ujemna, 0 - dodatnia 0.1 kg 0110 0110 0110 0110 0110 0110 * 2 ^ (-26) 0,00011001100110011001100110...
temp2temp jest tylko do sprawdzenia, wykluczenia tego, że to zmienna decicelsius2 jest winna wykrzaczaniu temp2, co pokazało, że nie, bowiem w temp2 i w temp2temp przy wykrzaczeniu są inne wartości. Co do zmiennej licznik, to ona się ma nie zerować, ponieważ liczę średnią temperaturę przez cały czas działania urządzenia, a więc potrzebuję sumę wszystkich...
Witam Mam taki problem jak w temacie prosty kalkulator liczb stałoprzecinkowych 4 bitowy. W założeniach wstępnych podano mi mniej więcej baze elementów, które mam wykorzystać: Tablice wyników w pamięci ROM, wyświetlać wynik mam na wyświetlaczach 7-segmentowych kalkulator ma być prosty czyli tylko działania dodawania, odejmowania, mnożenia i dzielenia....
Próbowałem dodać pętlę if, która miałaby sprawdzać, czy nie próbuję dzielić modulo liczby ujemnej To jest ten problem. jak ewentualnie mogę to rozwiązać? Zauważ, że zastosowanie Math.Abs tutaj nic nie da, ponieważ dniem poprzednim dla 0 (niedziela) nie jest -1, ani wartość absolutna (1), lecz 6 (sobota). Zrób dodatkową funkcję - wyznaczającą dzień...
:?:Witam wszystkich! Mam problem nie wiem jak podzielić liczbę stałoprzecinkową trzybajtową przez trzybajtową w kodzie ZM czyli znak-moduł w ASM '51. Jak to dzielić w przypadku gdy dzielna jest ujemna a dzielnik jest dodatni i odwrotnie lub gdy obie liczby są ujęmne lub dodanie.Ilu bajtowy jest wtedy wynik. Jeżeli ktoś by miał taką procedure dzielenia...
Bardzo dziękuję za dzielenie się wiedzą i przydatne oprogramowanie - może wreszcie wyciągnę z szafy raspberry PI i przyda mi się właśnie do MPPT 10A :) Czy ja dobrze rozumiem, że liczby ujemne prądu kodowane są w U2 (inwersja bitowa + 1) ? Cieszę się, że może się to komuś przyda :-) Co do kodowania liczb - wartości są zakodowanie jako 16 bitowe integer...
Mam pytanko oto część programu z postu Odczyt = 1wread(2) T = Odczyt - 16 T = T * 10 T = T \ 16 T = T \ 10 Możecie mi powiedzieć dlaczego najpierw mnożycie przez 10 potem dzielicie przez 16 i dalej dzielicie przez 10 ( czyli 10*16/10=16). Nie lepiej tylko podzielić przez 16. I jeszcze jedno pytanie dotyczące liczb ujemnych Ds przedstawia liczby ujemne...
Da się robić różne cuda, ale po co? Autora nie chciałbym spotkać na drodze (pisze lewo, przesuwa w prawo ;-) ) Wedłu standardu C działanie takie o które pyta jest "implementation-defined" A że się tak zapytam czy przypadkiem nie chodzi o dzielenie przez 2^n? Jeśli tak, to czemu po prostu nie dzielisz przez 2 do odpowiedniej potęgi? Albert
dzięki wszystkim za pomoc temat uważam za zamknięty modulo to faktycznie reszta z dzielenia dla szukających tak jak ja dorzucam łyk teorii. Jeżeli a i d są liczbami naturalnymi, gdzie d nie jest zerem, można udowodnić, że istnieją unikalne liczby całkowite q i r, gdzie a = qd + r i 0 ≤ r < d. Liczba q zwana jest ilorazem, zaś r resztą. Przykłady...
Akurat drugi przykład jest bardzo kiepską ilustracją, bo CRC operuje na wielomianach w polu GF(p), gdzie p jest liczbą pierwszą, a dzielenie takich wielomianów to nie to samo co dzielenie liczb dziesiętnych (przede wszystkim nie ma tam "pożyczki"). Na dodatek nie istnieje pole GF(10), bo 10 nie jest liczbą pierwszą. Poza tym w "przykładzie" są błędy...
Ten zamieszczony kod, może zadziałać, ale tylko dla liczb dodatnich, większych od 0 (zero). Dla zera i dla liczba mniejszych od 0, wynik nie będzie poprawny, bo przeprowadzasz obliczenia na złym typie danych. Skoro dzielisz : [syntax=cpp]int la(int n) [...] return 1/result;[/syntax] To jak chcesz wynik zwrócić do INT ? Całkowitą wartość dzielenia z...
To jest dosyć ciekawy temat - tradycyjne dzielenie liczb jest czasochłonne bez sprzętowego układu dzielącego. Dlatego ludzie upraszczają sobie życie stosując dodatkowe algorytmy, działające dla określonych dzielników. Dla dzielenia przez kolejne potęgi liczby 2 wystarczy przesuwać rejestr w prawo. Z kolei przytoczona przez Ciebie procedurka dotyczy...
Mam pewien problem i mam nadzieję, że ktoś będzie mi w stanie pomóc? Polega on na tym, że mam już liczby, które są właściwym wynikiem A oraz kolumna B średnią wyników z kolumny A. Jeżeli dzielę je przez siebie to w sytuacji jak: A jest liczbę dodatnią np. 5, natomiast B l. ujemną - 2 to wynik wychodzi oczywiście ujemny tj. -2,5 Zamiarem tego działania...
Problem staje się prosty gdy możemy się posłużyć określeniem ogólnym "czas", jednak gdy mamy osobno minuty i godziny - jest inaczej. Procki nie operują na pojęciach ogólnych , tylko na liczbach i zapewniam Cię , że porównywanie liczb(nawet wielobajtowych) jest prostrze niż np. ich dzielenie. Więc może skupmy się jedynie na sposobie porównania dwóch...
Najprościej to taki układ potęgujący na jednym scalaku możesz zrobić na jednej pamięci EPROM. Możesz wtedy zrobić potęgowanie liczb więcej niż 4 bitowych. Taka pamięć kosztuje kilka złotych. Jeżeli weźmiesz zapis w kolejnych bajtach na zasadzie młodszy starszy to możesz zapisać np. tak: w adresach od 0 do 255 zapisujesz resztę z dzielenia kwadratu liczby...
Witam Mam do zrobienia kilka zadań w C++. Zadanie 1 zrobiłem, mam problem z zrobieniem pętli z zadania 2. Zamieszczam to co zrobiłem do tej pory proszę o jakąś podpowiedź . Zadania Zadanie 1 Zadanie 1 Napisać program, który: 1. wczytuje imię użytkownika (jako zmienną typu string) 2. wczytuje jeden znak informujący, czy użytkownik jest kobietą, czy mężczyzną...
Nie rozumiem po co wartości te są mnożone przez 0x3FF, a następnie dzielone przez wartość 0xFFFF. Obstawiam że chodzi o zmianę "zakresu". Jakie są (typ i rzeczywisty zakres) wartości w tym buforze? Zauważ, że mnożenie przez 0x3FF/0xFFFF to po prostu konwersja wartości z zakresu Deklaracja tablicy: Tutaj obstawiam, że chodzi o uzyskanie wartości ze...
Ale przecież opcja -fno-math-errno sprawia, że flaga ERRNO nie jest ustawiana dla tych funkcji matematycznych, które są wywoływane jedną instrukcją, tak jak na przykład pierwiastek, mnożenie dzielenie etc. Dla funkcji które wymagają litanii assemblerowej ERRNO i tak jest ustawiane. Być może. Ekspertem, jak pisałem nie jestem. Ale skąd się ta litania...
tak jak poprzednio pisałem wszystko zalezy od wielkości liczb na których operujesz i w zależnoścido nich wybierasz odpowiedni sposób ich zapisu i operacji na nich wykonywanych. Z tego co widzę to będą to liczby całkowite także ujemne ale 7mio bitowe (kod U2) ale pomysł zamieniania je na inny kod jest... troszke naciągany: po co? Program sobie poradzi...
Witam szanownych użytkowników :) Na zaliczenie mam do napisania program. Jego treść przedstawiam poniżej. Szesnascie kolejnych liczb osmiobitowych (wyniki pomiarow) umieszczono na stosie. Napisac procedure (wywolywana z programu glownego), zdejmujaca te dane ze stosu, obliczajaca ich wartosc srednia, umieszczajaca te wartosc w komorce nr 30h i powracajaca...
a nie mówiłem...drugi zajmie jeszcze więcej :) Drugi pomysł używałem na Atmega16, lecz nie wywoływałem fprintf_P(); tylko kilka razy. Jeśli wiesz jak będzie wyglądał wynik tzn ile będzie miał miejsc po przecinku i w sumie ile cyfr to zawsze możesz użyć pomysłu kolegi: elektronik12z Możesz też bawić się w dzielenie, mnożenie, odejmowanie i modulo (czyli...
Ze wszystkim sobie poradziłem, obecnie mam problem z liczbami nie całkowitymi. AVR Studio + WinAVR np mam zmienną x = 10 teraz chce zapisać w zmiennej y = x/4 Wynik to oczywiście 2,5 ale jak wykonać takie dzielenie? Takie coś nie działa: unsigned int x=10; float y y = x/4; Operacja po prawej z racji "całkowitości" obu operandów dzielenia zostanie wykonana...
Ponadto tamte kalkulatory nie mają zabezpieczeń związanych z przepełnieniem rejestrów, z różnymi warunkami gwarantującymi poprawną pracę, nie są wygaszane nieznaczące cyfry, łatwo można wprowadzić takie kalkulatory w nieskończoną pętle - zazwyczaj dzieleniem przez zero, nieprawidłowo obsługują działania na liczbach ujemnych, gdy wyliczą wynik - brak...
Policzyłem że Ziemia musi mieć trochę poniżej 18cm średnicy, aby czas się na niej zatrzymał. Wzory są chyba dobre, bo skurczyć bardziej już się nie może, bo czas stanął i wszelki ruch, inaczej trzeba by było wyciągać pierwiastek z ujemnej liczby, ale i tak dzielenie przez zero jest dziwne. Ciekawe jakie to oddziaływanie jest w stanie działać w zatrzymanym...
Algorytm z internetu http://cybermoon.pl/wiedza/algorithms/ws... Zgodnie z prośbą kod [syntax=c]double modd(double x,double y) { //{funkcja zwraca wartosc dzielenia liczb rzeczywistych} double il; il = (int)(x/y); return x-(il*y); } [/syntax] [syntax=c]void sloncewz(unsigned char D1,unsigned char M1,unsigned char R1, char wynik[15]) {...
Znalazł się znawca od przesuwania liczb i bitów ! Zrobiłem juz wiele sterowników używając nie jednego, dwóch a nawet więcej liczby ds'ów i zawsze działa bezbłęnie, nie tylko w BASCOMIE. A Ty Piotrusiu trochę pokory. Co za problem z przesuwaniem liczb zakodowanych w U2 ? Nie rozumiem . Z podziałem przez 2 i shiftem to zwyczajna literówka oczywiści powinno...
Już kiedyś pisałem tutaj o konwersji bin->bcd. Są na to specjalne algorytmy. Ponieważ nigdy mi się nie chce ich szukać, konwersję przeprowadzam metodą łopatologiczną: 1. Odejmuję od zadanej liczby 1000 tyle razy, aż uzyskam wynik ujemny. Liczba odejmowań (pomniejszona o jeden) daje cyfrę tysięcy. 2. Koryguję liczbę po odejmowaniu (dodając z powrotem...
Mnie bardziej dziwi, że kompilator w ogóle dopuścił taką składnię. Math.round nie ma? Alternatywnie możesz pomnożyć przez 15, a wynik podzielić przez 10 (dzielenie całkowite). Co prawda da różnice względem funkcji zaokrąglenia, ale w ogóle nie użyjesz FPU.
Napisałem taki post, ale chyba w złym dziale: http://www.elektroda.pl/rtvforum/topic11... Rzuuf: dzięki za przekierowanie. A co do mocy czynnej, pozornej i biernej to mam swoja teorię. Nie chcę żebyście od razu mnie stąd wygonili. Po prostu zweryfikujcie moją teorię: Moim zdaniem moc pozorna to moc zależna tylko od prądu skutecznego przepływającego...
Można to zrobić bez makra, najpierw dzielisz łańcuch na części (spacja oznacza taki podział), potem analizujesz ostatni znak, jeśli jest to myślnik to robisz z tego liczbę ujemną. Prościzna. Jeśli nie lubisz długich zapisów w komórkach, możesz to rozbić na etapy i w kolejnych kolumnach masz kolejne kroki działań.
Programy się zwykle pisze a nie robi :) Przy pisaniu programów musisz wykonać następujące kroki: 1. Zdefiniować problem W przypadku twojego kalkulatora musisz określić: - typ obsługiwanych danych - czy to będą liczby wyłącznie całkowite czy całkowite i ułamkowe (ogólnie mówiąc rzeczywiste) - rodzaje działań jakie ma wykonywać twój kalkulator, np. dodawanie,...
Zawsze zamiast dzielić można odejmować np na początek 10000 licząc ile razy to zrobisz zanim wynik będzie ujemny wtedy liczba operacji odejmowania -1 to liczba dziesiątek tysięcy. Dodajesz 10000 żeby wynik był dodatni i zaczynasz odejmować 1000 aż będzie ujemna dodajesz 1000 i odejmujesz 100 itd aż na końcu dodasz 10 a reszta będzie jednostkami . Na...
Beta = I * K Beta = Beta And 31 // dlaczego Beta And 31 ??? - to jest obliczenie kąta (i*k) and 31 to zamiana na kąt z przedziału do 0 do 2pi. bo w moim programie są 32 prubki numerowana od 0 do 31 czyli kąt też jest od 0 do 31. 31 to poprostu kąt 360st czyli 2pi. AND działa na bitach czyli m tym przypadku daje nam reszte z dzielenia przez 32. troche...
Pytanie kolegi jest dość złożone pierwsza różnica sygnał taktujący T0 może zostać wstępnie podzielony przez dzielnik więc aby otrzymać 1 sekundę należy najpierw policzyć ile cykli zegara należało by odmierzyć wiadomo że wartość ta musi być mniejsza od pojemności licznika T0 . Problem w tym że na T0 nie uzyskasz przrwania co sekundę dla kwarca np 8MHz...
Wielkie dzięki mirekk36 Rozjaśniło się i to bardzo !!! Właśnie kompiluję i sprawdzam nowe procedury Nie wiem czy się nie zawieszę na liczbach ujemnych (zmienna Single) Jak co to znów poproszę o pomoc. Rzeczywiście daruję sobie te dzielenie bitów. A w Helpie - jak to w Helpie wszystko trochę zawile wytłumaczone (choć w tym przypadku masz rację nie doczytałem...
Nie wiem też po co to dzielenie przez 16 w kodzie, przecież wystarczy przesunąć zmienną o 4 bity w prawo, a kod zmaleje w oczach :) Jeśli chodzi o C to przesunięcie bitowe liczby ujemnej jest niezdefiniowane w standardzie. Albert
Dzielenie zmiennej int16 na dwie mniejsze możesz zrobić tak:[syntax=c]int 16_t zmienna, zmienna1; int8_t mala_zmienna, mala_zmienna1; mala_zmienna = zmienna >> 8; //przesuniecie bitowe skopiuje 8 bitów starszych mala_zmienna1 = zmienna; // skopiuje tylko 8 bitów najmłodszych zmienna1 = (mala_zmienna << 8) + mala_zmienna1; [/syntax]
-Wciskamy oba klawisze i załączamy zasilanie. Na wyświetlaczu pokazuje się SEt. -Puszczamy klawisze - na wyświetlaczu mamy P1 - program 1 -Klawisz ustawiania godzin zmienia numer programu (P1 -> P2 -> P3 -> P4 ...) -Klawisz ustawiania minut wchodzi w odpowiedni program I teraz P3 to korekcja dokładności (pokazuje się "corr" a potem mozna ustawiac. W...
albo przesuniecia bitowe... Nooooo chyba nie bardzo. W środku notacja binarna, a potrzebna dziesiętna. Dodano po 12 Cześć, mam zmienną typu int wartosc . Chciałbym wyciągnąć z niej cyfry, ale rozwiązanie typu wartosc - 10*(wartosc/10) w celu poznania cyfry w miejscu jedności jest bardzo brzydkie. Gdyby chodzilo o jedną cyfrę to rzeczywiście...
Tutaj masz listing który będzie współpracował ze schematem który zamieściłeś. Kiedyś takie coś robiłem i do 100kHz chodziło na pewno. Dopasujesz to tylko do swoich potrzeb, ale na razie to załaduj i zobaczysz co będzie. I to wszystko na jednym liczniku się robi. '********Pomiar czasu trwania impulsu ujemnego przebiegu prostokątnego i częstotliwości*********...
Niepotrzebnie sobie życie komplikujesz tym inwerterem "różnicowym". Jak rozumiem - chodzi o odwracacz ze sprzężeniem katodowym. Jest on najgorszy jeżeli chodzi o symetrię napięć wyjściowych (konieczne jest zróżnicowanie rezystorów obciążenia w anodach gdy się chcę tę asymetrię zlikwidować), w przeliczeniu na liczbę zaangażowanych lamp daje dwukrotnie...
Nie widzę tu jakichś prawidłowości. Ja widzę, pierwsza - regularnie występują bajty synchronizacyjne 7f, 7f a po nich wartości binarne. Jedno jest pomieszane - część bajtów jest HEX a część jako ASCII a to strasznie miesza - trzeba te ASCII zamieniać na HEX i potem dekodować liczby. Problem jest jak pojawi się spacja bo słabo ja widać a też ma swój...
Witam. Nie mogę sobie poradziź z wprowadzaniem liczb dwucyfrowych z klawiatury matrycowej. Moja klawiatura jest obsługiwana z wykorzystaniem przerwania od Timera0. Jeśli możecie to prosze o pomoc i propozycje rozwiązania tego problemu. Poniżej zamieszczam część mojego kodu programu ....... [wyciety fragment] ....... Do 'pętla nieskończona DO...
Dziś miałem egzamin pytania te same ale nie do końca.. Pierwsza strona baner jak opisany wyżej był z linkiem do index.html menu po lewej a treść strony po prawej.. wszystko czcionka w kursywie i baner i menu ma być na wszystkich podstronach.. java owszem opisywany wyżej kalkulator i alert jak jest puste pole ale odnośnie dzielenia trzeba napisać alert...
NWD jest ciekawe, dzieli każdą liczbę przez taką samą zmienną aż znajdzie wspólną :) dla przykładu (136,26) będzie sobie dzielił przez 26,25,24 ... 2, mnie bardziej interesuje przypadek w którym for(i=y;i>1;i--) { if ((y%i==0) && (x%i==0)) { break; } } return i < 0 ? -i : i; i <...
A ja robię tak: Odczytuję 16 bitów z DS18B20 (i jest to liczba signed, np. int), następnie mnożę przez 100, dodaję do tego 8 i dzielę przez 16. Dzięki temu mam gotowy wynik temperatury w setnych Celcjusza, a potem to już z górki (liczba ciągle jest jako signed). Też tu nie ma zmiennych typu float/double oraz nie ma żadnych przesuwań bitowych i sprawdzania...
Poprawiłem "odrobinkę" ten twój kod. uses crt; VAR a,b,c : integer; o : char; function dodawanie(a,b:integer):i... begin dodawanie:=a+b; end; function odejmowanie(a,b:integer):... begin odejmowanie:=a-b; end; function mnozenie(a,b:integer):in... begin mnozenie:=a*b; end;...
od czegoś trzeba zacząć aby pojąć temat. No napisałem, że takie minimum żeby zbudować sieć, to wiedza na poziomie Cisco CCNP. To jest osiem semestrów (CCNA+CCNP) po 80 godzin. Ciężko kilkaset stron materiałów i 700godzin zajęć opisać na forum w kilku postach. Do tego prawo budowlane i prawo telekomunikacyjne. Naprawdę nie da się napisać dla kogoś kto...
Połącz binarne reprezentacje 7 binarnie - 111, 0 binarnie - wiadomo :). Wysyłasz 00000111 00000000 (spacja dzieli poszczególne bajty). Połącz to w jeden ciąg i przelicz na postać dziesiętną ;). Widać program interpretuje te 2 bajty jako składową całej,16-bitowej liczby, a nie poszczególne cyfry. Co do kodowania liczb ujemnych - spróbuj wysłać coś, co...
nie rozumiem: while (scanf("%d", &liczba)==1) - tego kompletnie nie rozumiem - wg mnie to oznacza: "czyń co następuje dopóki liczba wczytana od użytkownika jest równa jeden" - ale to bez sensu - ja dopiero zaczynam programować i wolę narazie proste pętle typu while(a==b) a tu w tej bętli pojawia się "scanf" - do tej pory scanf używałem wewnątrz...
inne uwagi: - nie sygnalizuje dzielenia przez zero przy A DIV B i A MOD B - nie wyświetla dziesiętnej liczby ujemnej (czyli liczby z minusem) ani w przypadku liczby B ani wyniku. W przypadku liczby A można by dać wynik dziesiętny trochę grubszą czcionką. - brakuje operacji np. -A czyli dopełnienia do dwóch ((NOT A)+ 1) - także operacja była by przydatna...
no tak co do tego to się zgodzę bo już obczaiłem sprawę menu itp jeżeli o to chodzi jest idealny nie wiem tylko nadal czemu mi nie działa to ale cóż spr sobie eclipse może wygodniejsze będzie do pisania takich aplikacji a netbeansa będę używać do okienkowych Hmm odnośnie tych zabezpieczeń jak to zdziałać bo u nas na przykład z c++ jak miałem zajęcie...
Witam. Mam niecodzienny problem. Może nie do końca związany z DSP, ale po części tak. Ma sobie dwukanałowy przetwornik ADC. Próbkuję napięcie i prąd z częstotliwością jakieś 100kHz. Otrzymuje wartości dodatnie jak i ujemne (przetwornik bipolarny ale przesuwam poziom). Z pomiarem napięcia i prądu skutecznego nie mam problemu (podnoszę próbki do kwadratu,...
No tak, przyjrzałem się formatowi REAL w Siemensie i rzeczywiście wyszło na to, że będzie działać. Dzielenie /R można przeprowadzić na Integerach, a nawet DINT, ale tylko pod pewnymi warunkami: 1. OBIE liczby nie są typu REAL (czyli mają tak samo niepoprawną cechę) 2. Liczba DINT jest nie dłuższa niż 23 bity (czyli mieści się w całości w polu mantysy...
To widziałam ze brakuje przy jednym d tego %. Program źle wykonuje działanie sum czyli sum=1*a+3*b+7*c+9*d+1*e+3*f+7*g+9*h+1*i+... on nie liczy tego poprawnie. w wyniku daje jakąś absurdalną liczbę ujemną
Atom, wydaje mi się, że sprawiłeś, iż od teraz jestem mądrzejszy :) MSB nadaje flagę, a bity 14,13,12 i 11 są ustawione na 1, by nie zawyżać wartości odczytu. Tak więc nie muszę przesuwać bitów, nie muszę kombinować. Wystarczy, że sprawdzę MSB i jeśli będzie się świecił, mam tę liczbę potraktować jako ujemną (zanegować i poddać obróbce, by wyłuskać...
Shift pozwala szybko dzielić lub mnożyć tylko przez kolejne potęgi dwójki czyli, żeby się nie rozpisywać ograniczę się do bajtu :2,4,8,16,32,64,128 i 256 Ten Shift tam nie musi zostać. Umieściłem go tam bo liczba przez którą Ty dzieliłeś była potegą dwójki :D Shift Zmienna, Right, 1 ' podzieli ją przez dwa Sgift Zmienna, Right, 4 ' podzieli ją przez...
Podam na AT89C2051, ale to jest to samo, trochę inne liczby tylko $regfile = "89c2051.DAT" $crystal = 12000000 Dim T1ov As Word , Cnt1 As Word On Timer1 T1_int Nosave Enable Interrupts Enable Timer1 Impuls Alias P3.5 'tu podłączamy impulsy wtryskiwacza Dim Liczba As Long Cursor Off Noblink Cls '***************Pomiar czasu trwania impulsu ujemnego...
O zasilaniu czy sprawności kodu nie pisałem z prostych przyczyn: Piszącego w Bascom interesuje tylko to by program działał a nie ciągnął mało prądu (zasilanie bateryjne i Bascom? Nigdy nie słyszałem by ktoś to łączył) Piszącego w Bascom interesuje by progam działał niezależnie czy musi użyć procka z 16kb czy 32kb Ja wolę by program mieścił się w 1kb...
(...) ce_pln: 528.02 } 5.03.2025, 19:40:04node: function 207 function : (warn) "Debug → Wh:20, rce_pln:528.02" 5.03.2025, 19:40:04node: debug 148 topic1 : msg.payload : Object { command: "udevice", idx: 448, nvalue: 0, svalue: "0.01" } Takie zgłasza wartości. mogę cały przepływ podesłać. (at)ElektrodaBot Bezpośrednia odpowiedź na pytanie Z przedstawionych...
Program wygląda dużo lepiej. I = 1wread(2) pobiera dwa bajty w których znajduje się temperatura. Polecam zajrzeć do karty katalogowej DS18B20 str.4. W I znajdzie się liczba 16 bitowa, gdzie pierwsze 4 bity to znak, następne 8 bitów to część przed przecinkiem, a cztery ostatnie to to co po przecinku. Liczby ujemne są w kodzie U2. S = I / 16 Powyższe...
Witam goreckidiy. Twój projekt spełnia funkcę, którą chciałeś osiągnąć. Ale jest ale :) Niezwykłe zbiegi okoliczności sprawiły, że to działa (mam nadzieję) prawidłowo. Spójrz na zdjęcie. http://obrazki.elektroda.pl/9690955600_1... W programie masz coś takiego:[syntax=text]'*********WAŻNE!!!*... data1 = data_in - 1048574 'tyle suwmiarka...
W przestrzeni mając 3 punkty podstawy dowolnego ostrosłupa oraz 3 odległości tych punktów od wierzchołka bez problemu można wyznaczyć wierzchołek, tylko trzeba skorzystać z: wyznacznika 3x3 (czterokrotnie), własności iloczynu skalarnego wektorów, wyznaczenia wektora normalnego do płaszczyzny: a/ Najpierw należy wyznaczyć wektor normalny płaszczyzny...
Ponieważ w pracy konieczne było stworzenie słownej wartości bez użycia VBA uczyniłem cos takiego i przy okazji dzielę się przykładem. A nuż się komuś przyda. (zapewne sa na sieci podobne rozwiązania ale stwierdziłem że sam potworze trochę) Metoda uwzględnia wartości ujemne i ma ograniczenie do 999.999.999,99 . Nie robiłem zabezpieczenia jak ktoś wpisze...
masz źle zrobione rzutowania, przesunięcia i dzielenia, to na pierwszy rzut oka: float temp=0.0; temp = (float)(((uint16_t&#... | (((uint16_t)temp2)&l... chcesz zmienne 8 bitowe przysuwać o 8 bitów to musisz je rzutować na typ 16 bit - inaczej tracisz cały bajt. Ponadto durgą zmienną...
Antystatyk - co oznacza że nie działa? Skąd wiesz że nie działa? Testujesz to na procesorze czy w symulatorze bascoma? 1) wywal "Enable Timer2" ponieważ już w TIMSK aktywowałeś przerwanie 2) wstawiasz w przerwanie komendę PRINT (robisz sobie jaja) i twierdzisz że nie działa. A wiesz ile czasu zajmuje wykonanie się tego? 3) jeśli mimo wszystko testujesz...
Jaki to jest czujnik ? Seria Dallasa/Maxima DS18xx ?? i tu jest Twój błąd: Przypisz zmienną odczytaną z czujnika jako signed int z jednym zastrzeżeniem: jesli wynik jest rzeczywiście jako char (8-bit) to do gdy liczba jest ujemna to wypełnij wszystkie bity zmiennej na lewo od najsarszego bitu=1. Wtedy będziesz mógł robić ze zmienną co ci się podoba...
Zmienne x1 i x2 odczytujesz z wykresu. Odnieś się do pojęcia [url=http://pl.wikipedia.org/wiki/Wzmocn... napięciowe. Wzmocnienie napięciowe zawsze odnosi się do stosunku dwóch napięć. Jedno z tych napięć nosi miano napięcia referencyjnego i może nim być poziom samego napięcia wzmacnianego - ale nie jego wartości chwilowe,...
Też kiedyś pisałem w asm ale to było w czasach gdy kompilatory C były drogie i niezbyt inteligebntne. Teraz czasem robię wstawki w asm ale to bardzo rzadki przypadek. Dlaczego wolę C? Np taki kod: [syntax=avrasm]b2d ; konwersja 16-bit bin na dec ; dzielenie przez 1000d = 0x03E8 movlw0x03 movwfxw1 movlw0xE8 movwfxw0 callb2da movwfst1 ; dzielenie przez...
co wy konie jesteście czy co bo kombinujecie jak niewiem założenia : brak instrukcji dzielenia ( bo jesli by było to dzielimy przez 10 i w wyniku mamy 1 cyfrę a w reszcie drugą cyfre , nic prostrzego ;) ) Nie korzystamy z pamięci bo np 1200 nie ma takiej instrukcji ;/ .........ldi r18,liczba bin do zaminy .........clr r16 next1: .........subi r18,100.........;...
Problem rozwiązany. W datasheet zalecany jest rezystor podciągający ok. 5k. Jednak dalej, jest informacja, że podczas niektórych operacji (m.in. przy konwersji temperatury) zapotrzebowanie na prąd, może wynieść 1,5 mA. 5V/5kohm = 1mA max. Zmiana rezystora na 3,3k rozwiązało problem. Szkoda tylko że maxim jest mało konsekwentny w swojej dokumentacji...
http://obrazki.elektroda.pl/4997872700_1... Przedstawiam prosty kalkulator czterodziałaniowy, zbudowany na polskich układach: * MC14007 - jednostka centralna kalkulatora (8 cyfr, dodawanie, odejmowanie, mnożenie, dzielenie, podnoszenie do kwadratu, pierwiastkowanie, liczenie odwrotności oraz pamięć) * CQYP-95 - czerwony wyświetlacz...
Witam. Składam sobie zegar z termometrem na Attiny2313 i DS18B20 lecz mam problem z ujemną temperaturą. Do odczytu temperatury używam programu kolegi "Elektrooonik" ponieważ zajmuje najmniej kodu co jest tu dla mnie ważne i z 1-Wire styczność mam pierwszy raz więc wpierw wolę mieć jakiś przykład. Program Oryginalny do pomiaru temperatury wygląda tak:...
Jasna sprawa :) THX. Dodano po 3 ok, wygrzebałem jakis stary układ testowy ATmega16 i niestety poniższy program nie działa na PCB, w AVR Studio wygląda ok. Gdy przytrzymam przyciski: A0, D0 oraz D4 spodziewam sie zapalonych B0 i B1, jednak nic sie nie pojawia, gdzie przeoczam error? :| #define F_CPU 1000000 //1MHz dla delay.h #include <avr/io.h>...
A więc tak. Mam miernik WFS w domu przy CB i 15 metrów kabla. Wskazuje mi 1.2. Ale gdybym poszedł z tym na dwór i mierzył przy kablu 5.5 metra to być może wskazywało by mi SWR poniżej jednego... Coś mi tu nie gra... może mi ktoś to wytłumaczyć łopatologicznie :idea: Takie zjawiska jak SWR poniżej 1 mają charakter fenomenów natury podobnie jak zorza...
Witajcie, Dzisiaj przychodzę do was z kolejnym subwooferem, tym razem jest to Klipsch RT10D, który się nie włącza. Totalnie zero reakcji, bez względu na to, czy coś się klika na panelu, czy podaje sygnał audio. Płyta to - Indigo Canada 640047. (Tak, wiem, że kondensatory są wymienione i że było dłubane przy płycie.) Cały subwoofer dzieli się na 3 płyty:...
O kurde zapomniałem :D Jeszcze raz przepraszam. Używam ATTINY 2313 a jako czujnik DS1820 A tu program: Config 1wire = Portd.5 : Dim Odczyt(2) As Byte , A As Byte , Dim T As Integer , Tmin As Integer , Tmax As Integer Deflcdchar 1 , 4 , 14 , 21 , 4 , 4 , 4 , 4 , 32 Deflcdchar 2 , 4 , 4 , 4 , 4 , 21 , 14 , 4 , 32 Do 1wreset : 1wwrite &HCC : 1wwrite...
Ja też nie rozumiem. Jak widzę niepotrzebne użycie real i dzielenia w algorytmach, które z założenia mają być szybkie mózg mi się wyłącza. [syntax=c]void glcd_line(int x0, int y0, int dx, int dy) { int d, d2x, d2y, sx, sy, x1, y1; d2x = ABS(dx) << 1; d2y = ABS(dy) << 1; sx = SGN(dx); sy = SGN(dy); if(d2x > d2y) { d = d2y - (d2x >>...
Zastanawiam się czy tego kalkulatora nie dało by się odtworzyć. Odtworzenie schematu na podstawie płytek, przy tym stopniu upakowania oraz szerokości ścieżek nie stanowi większego problemu. Przerażeniem napawa konieczność rozplatania wiązek przewodów łączących złącza i mozolne rozpisywanie połączeń. Pachnie niezłą gimnastyką, ale też do zrobienia....
http://obrazki.elektroda.net/11_12667578... Wszystko powinno być tak proste, jak to możliwe, ale nie uproszczone – Albert Einstein. Taka idea przyświecała przy projektowaniu tego układu, żeby zrobić ciekawą i funkcjonalną rzecz przy zastosowaniu możliwie najprostszych rozwiązań. Urządzenie można zastosować jako miernik od 1/4Hz do 100MHz,...
Nie zmienia, bo masz błąd w innym miejscu. Dokładnie to miałem na myśli-że błąd jest gdzieś indziej. Zastanów się, co oznacza nazwa trybu CTC (?) – w ang. jest to ‘Clear Timer on Compare’ (pol. - wyzeruj zawartość licznika/timera, gdy jego zawartość jest równa wyznaczonej z góry i ustalonej, bądź to wyliczonej jakiejś wartości w zmiennej...
Witam, Mam taki problem - napisałem sobie procedury do obsługi wyświetlacza LCD, nie mogę tylko poradzić sobie z wyświetleniem na LCD zawartości rejestru (16 bitowy). Procesor ATmega 8. Próbowałem takie coś: void pisz_int(unsigned int t) { unsigned char bufor[20]; itoa(t,bufor,10); pisz_text(bufor); } ale nie...
Witam. Jakiś czas temu przerobiłem zasilacz ATX dodając do niego regulacje napięć i prądu. Zasilacz działa jak powinien. Dwa napięcia oraz prąd chcę wyświetlać na trzech wyświetlaczach 7-segmentowych, w sumie 12 znaków. Napięcia są wyświetlane prawidłowo. Mam jednak problem z interpretacją/zrealizowaniem pomiaru prądu. W ujemnej gałęzi napięcia wyjściowego...
Witam. Mam pytanie dlaczego mój termometr nie działa poprawnie. Zapamiętuję temperaturę maksymalną lecz nie zapamiętuje temperatury minimalnej. Minimalna temperatura jest tylko zapamiętywana tylko przy minusowych temperaturach. Oto program: Config 1wire = Portd.5 : Dim Odczyt(2) As Byte , A As Byte , Dim T As Integer , Tmin As Integer ,...
"to może 8051 wykorzystam tylko i wyłącznie jako kontroler klawiatury, natomiast samplowanie i sterowanie przetwornikiem C/A powierzę innemu mikorokontrolerowi (np. jakiemu?) - w ten sposób wilk będzie syty i owca cała =)" 8051 może służyć jako kontroler klawiatury i wyświetlacza. Ale co do procesora zajmującego się syntezą to musi Pan najpierw oszacować...
Chodzi mi szczególnie o to że przy wczytywaniu jak podaje samą urojona "i" program sie wysypuje i nie mam bladego pojęcia co jest źle oto kod : [syntax=cpp] #include <iostream> #include <cmath> /// using namespace std; class zespol{//clasa zespolonych private: friend class uklad; friend class wektor; friend class macierz; public: double...
Proszę o wytłumaczenie mi o co dokładniej chodzi w tych wykresach. Osie logarytmiczne stosuje się gdy zakres danych wartości jest bardzo szeroki tzn różnią się one wieloma rzędami wielkości (jak u Ciebie). Oś taka pozwala zachować mniej więcej stałą dokładność względną (np procentową) bo dla małych wartości jest "rzadka" a dla coraz większych zaczyna...
Najtrudniej analizuje się własny kod, bo zawsze patrzy się przez pryzmat wiedzy o tym co on powinien robić i nie dostrzega się drobnych błędów :) Zgadzam się z tym w 100%. Przy Bascomie rzadko sięgałem do PDF'ów kontrolerów, przy C nie da się bez tego wszystkiego zrobić. Bez tych 500 "przekręceń" licznika nawet w Bascom by nie poszło, jak zwykle zbyt...
http://obrazki.elektroda.net/85_12656115... Projekt powstał z czystej ciekawości… co można zrobić na Attiny13? Otóż można, i to dużo. W tym przypadku ten malec zmierzy nam napięcie, prąd, temperaturę, przeliczy, a wyniki w przystępny sposób pokaże na wyświetlaczu alfanumerycznym (typu HD44780). Jak by tego było mało, program został napisany...
Cześć, Tak w ogóle to dzięki z zainteresowanie tematem :) A wiesz chociaż dlaczego ? Ti oraz Td też w tym wzorze widnieje, sprawdź sobie na jakiej podstawie jest wyznaczane K_I i K_D to się dowiesz dlaczego wzór się różni od "teoretycznego". Hmmm może faktycznie mało precyzyjnie się wyraziłem, w każdym razie chodziło mi o to, że bazując na kodzie PID...
znalazłem operacje dzielenia, ale w ty przykładzie zatwierdzanie jet tylko przez 7 przełącznik, a u mnbie zatwierdzanie ma być na przełącznikach 5, 6, 7 oraz wyświetlenie wyniku odpowiednio na diodach. Oto ten pprzykad: ;DZIELENIE - na podstawie wzoru programu z pracowni. ; Dana w ACC KODWYJ EQU 9216 DASCII EQU 9248 ; INILCD EQU 9408 BSEGAT 0 BLAD:DBIT1...
dzielenie liczb konwersja liczb ujemnych dzielenie liczb asemblerze
schemat aparatura czujnik tłumik silnik pompa hydrauliczny
suszarka elektrolux suszarka elektrolux
Router 5G z 4G/LTE i Wi-Fi 6 do wideokonferencji Opticum Sloth Combo Plus H.265 – nie uruchamia się po aktualizacji firmware