Proszę bardzo, dzielenie 2bajtowe : DIV16_16: ;R4-AHigh R5-ALow (dzielna A) ;R6-BH R7-BL (dzielnik B) ;wynik A/B to: A-czesc calkowita B-reszta ;R4-High R5-Low - czesc calkowita ;R6-High R7-Low - reszta ; ;wykorzystywane są: 00h, 01h, 02h, 03h (R0, R1, R2, R3 in Bank0) ;wymienione obszary powinny być wyzerowane przed...
Każdy bajt liczby dzielisz dokładnie w połowie - otrzymujesz dwie czterobitowe połówki, których wartość używasz jako indeks w tablicy znaków "0123456789ABCDEF" by dopisać z niej cyfrę do stringa. string[0] = tablica[bajt>>4]; // albo [bajt/16] string[1] = tablica[bajt&15]; string[2] = 0;
Laczysz dwa bajty tempertury tak jak to robisz w programie potem mnoztsz to *10 i dzielisz przez /16 a na koniec odczytuj wszystkie bajty z ds-a i na koncu licz sume crc pozwoli ci to wyeliminowac bledy wystepujace czasem na transmisji
Kiedyś napisałem dla '51 BCD»BIN BIN»BCD MNOŻENIE DZIELENIE z możliwością deklarowania ilości bajtów do konwersji. Może komuś się coś przyda.
zamiast s_bajt=temp/0x0100 ; zrób s_bajt=temp>>8; Wprawdzie porządny kompilator powinien to sam zoptymalizować, ale jeżeli tego nie zrobi to masz niepotrzebnie dzielenie zamiast prostego przesunięcia
No to ok, nie ma problemu. W procedurze nadawania masz błąd - bo nadajesz a sprawdzasz stan odbiornika. Jeśli 1 bajt ci wystarcza to nie ma co kombinować z MPCM, dzielisz bajt na dwa np. 4 bitowe pola. Jedno to adres slave, drugie to komenda, dzięki temu masz max 16 slave i max 16 komend. Jeśli to nie wystarcza to trzeba robić wielobajtowe transmisje,...
http://www.elektroda.pl/rtvforum/viewtop... Bardzo dziękuję za info ;). przyda się pokoleniom. Ja w miedzy czasie przerzuciłem się na C i problemy się skończyły. I to nie tylko takie...
No jak byś znał zasadę działania zwykłego wyświetlacza hd44780 to byłoby Ci łatwiej zrozumieć że z tym Twoim to wszystko jest niepotrzebne ahahahahaha. Normalny wyświetlacz ma piny RS,EN i D0, D1, D2 ..do D7. Jest też pin RW, ale użytkowo jest opcjonalny więc go pominę. Pin RS słuzy do wyboru czy przesyłane dane to komenda czy znaki. Pin EN służy do...
Witam! Rowniez kiedys bawilem sie 8051 w asm, a pare miesiecy temu zaczalem uczyc sie AVR rowniez w asm, ja na poczatek wybralem ATmega8, mysle ze na poczatek jest w sam raz, jest dosc rozbudowany i co wazne tani! Wiec polecam zaczac przygode od ATmega, jesli chodzi o srodowisko programistyczne i kompilator to uzywam AVR Studio 4 -> naprawde swietne...
Dzielenie bajtu na 2 połówki jest banalne. Oto jedno z rozwiązań: [syntax=basic4gl] dim bajt as byte dim polowa1 as byte 'gorna polowka dim polowa2 as byte 'dolna polowka bajt = 99 'bajt do podzialu na 2 kawalki polowa1 = bajt swap polowa1 polowa1 = polowa1 and &B00001111 polowa2 = bajt polowa2 = polowa2 and &B00001111 [/syntax] Aby ustawiać wybrane...
Nie potrzebujesz pamiętać aż 10 liczb. Liczysz sumę 10 kolejnych pomiarów (wystarczy 2 bajty) i dzielisz przez 10. czyli potrzebujesz 2 bajty + 1 bajt na licznik=3 bajty.
Tu masz moje biblioteki w której jest mnożenie i dzielenie o deklarowanej ilości bajtów (międzyinnymi).
Witam poszukuję procedur mnożenia liczb 2 bajt X 2bajt; 1bajt X 2 bajty; 1bajt X 3 bajty. Dzielenia 2 bajt/2 bajty 2 bajty/1bajt itp. asm8051. Jeśli będą opisy,to było by fajnie. Pozdrawiam.
Dzielisz na dwa bajty, najpierw wysyłasz jeden , potem drugi... (makra low() i high())
...Jest to kod na dzielenie bajtu na półbajty i odwrotnie. Chodziło mi o zmianę wartości bajtu i zapisie jego wartości do pamieci. Może mi ktoś uzupełnić minimalnie ten kod abym go zrozumiał.. . Jestem poczatkujacy w tym temacie i będę wdzieczny za to.. Marek : Czy taka podpowiedź Cię zadowoli :?: 0102030405060708 - organizacja w pamięci uC 8-bitowa...
(...)by nie bawić się z wartością ADCW (mnożenie, dzielenie i uzupełnianie bajtu o 1). (...) Można prosić o rozwinięcie?
Witam, jak wyciągnąć najmłodszy bajt z np z liczby 53380 mają tylko mnożenie, dzielenie, dodawanie i odejmowanie ?
Wygląda na to, że SniffUART ma problem ze znalezieniem końca wiadomości. Będziesz musiał pobawić się parametrem „Read Timeout” w ustawieniach portu. Ten czas w ms określa odstęp czasowy między komunikatami. Zwykle port szeregowy wysyła wszystkie bajty naraz (używając wewnętrznego 16-bajtowego bufora, jeśli układ). Oczywiście sterownik Windows mógł...
Dlatego że 236 to prędkośc podawana w kilobitach, a nie bajtach. A jak chcesz podawać w bajtach t musisz dzielić na 8. Tak 3,6Mb/s też musisz dzielić aby mieć prędkość w bajtach. 1B=8b
[url=http://www.elektroda.pl/rtvforum/to... umieściłem swoje procedury bin na bcd, bcd na bin, mnożenie, dzielenie z możliwością deklarowania ilości bajtów do obliczeń.
jak zamaskować? anl a,#7Fh w a masz najstarszy bajt liczby
Dzielenie przez 16 to to samo co przesuwanie bajtu w prawo o 4. Czyli jest to wywalenie jakby 4 najmłodszych bitów, czyli odczyt temp będzie z dokładnością do 0,5 stopnia. Zajrzyj do notki. 5 najstarszych bitów to znak czy dodatnia czy ujemna, a 4 najmłodsze oznaczają miejsca po przecinku. Rozumiem ze zmiana z systemu binarnego na dziesiętny jest znana?...
ok, ale dlaczego aż trzy bajty?. Dzielenie liczb jednobajtowych da wynik w postaci jednego bajta. Ewentualnie 4bity (no.. powiedzmy cały bajt żeby nie k ą plikować) na reszte z dzielenia co w znacznym stopniu podniesie dokładność obliczeń. Jeśli był byś w stanie poszperać za informacją jak poprzes ó wać wynik, top byłbym wdzięczny
Wojtek M po scaleniu programem "Dzielenie i Łączenie Plików". Plik upgrade_loader.pkg we właściwościach ma 486MB (bajtów: 510 605 573) czy zrobiłem coś nie tak ? Czy windows10 który jest u mnie nie pokazuje liczb dziesiętnych?
Korzystam z ATMega8. Niestety nie mam pojęcia jak zrealizować dzielenie z resztą.
No to w czym problem ? Po wysłaniu requesta ustawiasz odliczanie czasu na okres po którym na pewno będzie odpowiedź i analizujesz to co przyszło pod kątem pożądanej zawartości... Czasem może się zdarzyć jakiś bajcik lub dwa z przodu i/lub z tyłu i trzeba to wyciąć w odpowiedniej procedurce. Ogólnie trzeba sobie dzielić zadania programistyczne na różne...
... liczbe dwubajtowa na liczbe hex? dzielisz 2 bajty na 4 nible (maska and $f dla niższego nibla/shr 4 dla wyższego nibla) otrzymane nible przekształcasz na ascii: do czystego rejestru zapisujesz nibl, jeśli wartość tego rejestru jest niższa od 10 to dodajesz do niego 48, w przeciwnym wypadku dodajesz 55, otrzymana wartość w rejestrze jest kodem ascii.....
dawno temu bawiłem sie właśnie w takie coś, sprawa dlamnie wygląda banalnie, dla pliku 24 bitowego obliczam ile można danych zmieścić w obrazku: danych_do_zmieszczenia = (rozmiar_pliku-rozmiar_naglowka) div ilosc_bitow dla obrazka o rozdzielczości 512x512 plik powinien mieć rozmiar 512*512*3+54 = 786486Bajtów. teraz ze wzoru obliczam ile danych sie...
Ja, w Bascomie dodawałem poszczególne bajty do siebie a potem ałość dzieliłem modulo przez 255 i to było dodatkowym bajtem sumy kontrolnej. Działa z zewnętrznymi (nie pisanymi przeze mnie) aplikacjami, więc chyba dobrze działa ;-)
(at)jkwim, podejrzewam, że się mylisz. Surowe dane nie są danymi szesnastkowymi, które podałeś. Surowe dane to dane dla SPI, gdzie każdy bajt dzielimy na 4 bajty w celu transferu SPI DMA: Dodano po 1 (at)jkwim, Twój skrypt jest niepoprawny. Rozpoczynasz iterację z wartością 1, a następnie najpierw zwiększasz tę wartość, więc pomijasz diodę LED 0 i diodę...
W takim razie proponuję MAX162. Archiwizacja próbek : zakładając , że program nie potrzebuje RAM ( raczej nie możliwe) to podłączając 64k Ram (chyba max dla 8051) dzielimy przez 8 bajtów( 4 kanały po 2 bajty) wyjdzie 8k sampli na kanał. Dzieląc ilość sampli przez min. czas zapisu wyjdzie ok. 400 próbek na sekundę. Oczywiście jeśli się nie mylę. Co do...
Operacje matematyczne i zapisywanie do postaci szesnastkowej. Sensu kodu nie jestem w stanie stwierdzić poza tym, że jest lekko bez sensu... Dzielenie przez liczby i obcinanie części ułamkowej to przecież nic innego jak przesunięcie w prawo. Zaś mnożenie przez 2 to w lewo. To wszystko zmieszane też z przesunięciami. Na koniec brane ostatnie 8 bajtów...
dzielisz wyraz na 2 bajty, i wysyłasz odpowiednio na jeden port i na drugi... sterowanie hyba by było najprostsze przez uart.. wtedy odebrać 2 bajty, zamaskować je przez AND i wystawić na porty.. program moge napisać.. nawet zaraz..
4 maja parametr 0A wynosił 60, a na ostatnim zrzucie 62. W Seagate wartości są kosmiczne ponieważ w jednym polu jest zapisywanych kilka wartości na raz. Np. w 01 i C3 w pierwszych bajtach jest informacja ile sektorów zostało odczytanych, a w dalszych bajtach tej samej liczby ile wystąpiło błędów. Więc albo trzeba ręcznie dzielić liczbę na bajty i wyliczać...
Witam. Timer mikrokontrolera '51 taktowanego zegarem 11.059200 MHz zliczy w ciągu jednej sekundy 921600 impulsów. Ze względu na wielkość timera (2 bajty) może Kolega zliczać setne części sekundy - ustawić przerwanie co 9216 impulsów. Każde wywołanie przerwania zwiększy zmienną o 1, czyli mamy w niej wynik pomiaru z rozdzielczością 0,01 s. Rozwiązanie...
znalazłem jeszcze dwie zmienne które nie są potrzebne: Jj nie jest używana, a zmienne L, M, można zastąpić I1, J1 które są właśnie do tego zdeklarowane. Proponuje: Dim I As Byte 'zmienne do kodowania/dekodowania PDU Dim J As Byte Dim I1 As Byte Dim J1 As Byte Dim K As Byte Dim K1 As Byte Dim K2 As Byte Dim K3 As Byte Dim K4 As Byte Dim Jj As Byte Dim...
Można zrobić tak jak kolega podał powyżej... tylko po co? short int jest 16 bitowy i zamiast dzielić go na 6 cyfr, możesz przesłać go po rs'ie jako 2 bajty. bajt1=(unsigned char)(zmienna_int&0xff); bajt2=(unsigned char)((zmienna_int>>8&... a następnie złożyć to po stronie mikrokontrolera do kupy:...
- czym jest / są: Spmcsr.0, Eecr.1. To nazwy rejestrów ATmegi z których odczytywany / badany jest pojedynczy bit . W przypadku Spmcsr bit 0 a w przypadku Eecr bit 1. Taka konwencja zapisu.... - czym są r0, r1, r30, r31 To są rejestry wewnętrzne ATmegi.... - z czego wynika dzielenie firmware-u na kawałki akurat 128 bajtowe ? Z tego, ze zapis Flasha odbywa...
VM120 to dwa bajty VB120 i VB121 a bajty dzielą się na bity, czyli V120.0 do V120.7 i V121.0 do V121.7, wykorzystując te poszczególne bity w programie zmieniasz wartość całego słowa.
Wróć do unii na pewno. Dynamiczne tablice nie są ci potrzebne. Z wyliczaniem tak średniej nie widzę problemu. Zbierasz 20 wyników. Sortujesz np bąbelkowi. Sumujesz 10 elementów tablicy licząc od 5. dzielisz przez 10. Struktura jest ci potrzebna bo gdy operujesz operacji na bajtach popełniasz błąd w przypadku przepełnień. Tak samo w przypadku dodawania...
Każdy porządny język może dzielić słowo word na 2 bajty. Najczęściej instrukcje typu Lo(word) i Hi(word) zwracające dolną i górną połówkę 16bitowej liczby.
Kompresje dobiera się do typu danych i do twoich buziek najprostsza jest metoda którą podałem, bo masz duże bloki danych które składają się z takich samych bajtów. Kompresję możesz przeprowadzić na piechotę. Z tym, że nie możesz trzymać w tym wypadku wszystkich buziek w jednej tablicy bo w zależności od buźki będziesz miał inny wymiar. Tablica powinna...
Otrzymane 2 bajty łączę w liczbę 16 bitową. Mnożę ją przez 10 i dzielę przez 16 (tj. przesuwam o 4 bity w prawo). Mam w wyniku temperaturę 10x większą niż w rzeczywistości. Ewentualne obliczenia i ustawienia wewnątrz programu robię na liczbach 10x większych. Dla procesora to żadna różnica. Wyświetlaniem zaś zajmuje się za każdym razem ten sam podprogram,...
Swego czasu w EP był kurs asemblera i tam pośród różnych innych procedur w asembelerze były procedury dzielenia wielobajtowego. Nie ma wprawdzie 16 przez 16 ale są inne DZIE3216.ASM DZIEL328.ASM http://www.ep.com.pl/pobierz.php?id=65 W końcu liczba 2 bajtowa to tez liczba 4bajtowa z dwoma bajtami równymi "0x00" Pozdrawiam ------- tutaj strona z pozostaBymi...
Dzielenie przez 8 to nic innego jak przesunięcie o 8 bitów w prawo, czyli w przypadku 8-bitowych procesorów wywalenie najmłodszego bajta wyniku. Dzielenie prze 8 to nie przesunięcie o 8 bitów w prawo, tylko o 3 bity. Do autora: dzielnie wlaczysz, tracisz czas, a na końcu koledzy podsyłają ci funkcje arytmetyczne zaimplementowane w C. Jaki jest więc...
Własnie obliczeń nie mam. Powiedzmy że mam liczbę np. 9475. W zapisie bin to jest: 00100101 00000011 jeżeli będę dzielić tylko pierwszy bajt to i potem drugi przez 16 to połączenie wyników nic mi nie da. Dlatego proszę aby ktoś mnie naprowadził na rozwiązanie. W programie wprowadzam z klawiatury 4 cyfry (w górnym rzędzie LCD) każdą wrzucam na stos (zaczynając...
Witam Mój kod nie miał być idealny, chodziło mi tylko o to by Ci pokazać na przykładzie ideę z użyciem Int() :) Co do Twojego pytania: ROMSIZE : 2000 hex Całkowity rozmiar pamięci programu w formacie szesnastkowym (2000 hex = 8192 dec, czyli Twój kontroler ma 8192 bajty na program). ROMIMAGE : 7E6 hex -> Will fit into ROM Twój program zajmuje 7E6 bajtów...
TMf co znaczy % ? Jest to procent z liczby przy dzieleniu na trzy bajty ? Wiem, że można zapisywać do rejestrów liczbę 16 bitową rozbijając ją na starsze i młodsze bajty. high z liczby LONG ?
Kłania się tzw. "arytmetyka resztowa". Zwróć uwagę, że zawsze dzielisz przez 10. Spróbuj to rozpisać na bajty albo np. słowa 16-bitowe, to może coś zauważysz. Dla liczby 16-bitowej i dwóch bajtów wygląda to tak (x0 i x1 to dwa bajty liczby): x = 256 * x1 + x0 x / 10 = 25 * x1 + (6 * x1 + x0) / 10 W przykładzie 16-bitowym istotne jest to, że redukujemy...
Włóczykiju nie ta bajka :D Racja, nie zauważyłem. Taktowanie RAM: np. dla DDR PC2-5300, częstotliwość szyny to 333MHz, efektywna razy dwa (667 MHz) bo to DDR2, dla DDR3 mnożymy razy 4, dla jedynki - też razy dwa. Skąd 333MHz? Przepustowość to 5300 MB/s, dzielimy przez 8 (bajty a bity) i mamy częstotliwość efektywną. Taktowanie zegara to nie to samo...
Chodzi o pomnożenie próbki przez liczbę x z zakresu 0-255 i potem przesunięcie o 8 bitów w prawo, żeby uzyskać próbkę o współczynniku x/255, tak? Dokładnie. Mnożenie ma niewielki narzut (procesor ma instrukcję MUL), a dzielenie przez 256 to po prostu obcięcie najmniej znaczącego bajtu. Stałą? Przecież volume_coefficient to zmienna. Owszem, ale nie...
no hola hola. trzymajac sie logiki rejestrów przesuwnych... Skoro MBI5030 ma 16 kanałów, w ktore trzeba wprowadzić po 16 bitów, czyli łącznie 256 bitów, zatem przez 256 clocków na wyjsciu, czyli DATA OUT 1-go MBI nie powinno się nic pojawić, nawet jesli operuję DATA na rozne sposoby EDIT Dobra, widze ze jest inaczej, bo taktuje 1-sze 16 clocków i co...
pubus , ten kod jest tragiczny. Jest jeszcze dla Ciebie nadzieja, że nie rzutowałeś tych liczb na double przed podzieleniem (widziałem bibliotekę graficzną, gdzie w konstruktorze w pewnej klasie był czyszczony obrazek operując na liczbach double, co można było zrobić na liczbach stałoprzecinkowych, po poprawieniu kodu, konstruktor był wykonywany w...
Wszystko wynika z organizacji pamięci wyświetlacza każdy bajt to pionowy słupek 8 pikseli więc masz w każdej kratce 64*64 piksele daje to 8 wierszy po 64 bajty każdy więc masz 512 bajtów na każdą taką kratkę 64*64 . Program musi dzielić grafikę i napisy na takie kratki i dla każdej masz osobny sygnał CS jeśli grafika ma umiejscowienie w drugiej połowie...
Proponuję zacząć od nazwania kontrolek tak, żeby opisywały to, co przechowują, a nie TextBox1, TextBox2 itd. Spotkałem się z dwiema szkołami: txtBytes, txtBits itd. lub BytesTextBox, BitsTextBox - proponuję wybrać jedną z nich. Druga sprawa, to debugger. Postaw breakpoint w pierwszej linii metody buttcalc_Click, a później krokowo przechodź do kolejnych...
eeee.... ale to przeciez bezsensu. zamiast dwubajtowa liczbe rozdzielic na dwa bajty, to ty ja chcesz rozkladac na jakies cos, ktore pozniej jeszcze trzeba przeliczac zeby poskladac spowrotem... a tajemnicza operacja jakiej poszukujesz sie chyba nazywa 'dzielenie przez 100'. ogolnie... po prostu BASCOM <: 4\/3!!
Skoro masz 8051 to dlaczego chcesz uniknąć dzielenia? Dr_DEAD-owi nie chodziło o DIV AB bo AVRy go nie mają. Ale w 8051 masz DIV więc tutaj właśnie można a nawet pasowało by go wykorzystać. Tyle że na 16 bitów sprawa się mocno komplikuje. Muszisz dzielić przez 10, 100, 1000, 10000 i kolejne wyniki dzielenia wstawiać do połówek bajtów. Mniej więcej bo...
No, to już można stwierdzić, że to nie jest CRC z wielomianu w arytmetyce modulo 2 - jak wziąłem wszystkie dane, i przeliczyłem, to na końcu było: 00000006 => 1502 (5DE) 00000005 => 0173 (0AD) 00000004 => 1895 (767) 00000003 => 1865 (749) 00000002 => 1831 (727) 00000001 => 1716 (6B4) Gdyby to było takie CRC z wartością początkową, to exclusive-or (operator...
Akurat w tym, konkretnym przypadku dzielenie przez 4 polega na pobraniu starszego bajtu (dokładnie 1 cykl maszynowy), a resztę z dzielenia mamy w dwóch pozostałych bitach, co z pewnością jest prostsze od przedstawionego wyżej mnożenia. Oczywiście cały czas mówimy tu o zmiennych stałopozycyjnych. Korzystając z tablic konwersji całe wygenerowanie łańcucha...
W życiu nie słyszałem o takich podprogramach na 51. Posiadam podprogramy mnożenia (wynik 9 bajtów) i dzielenia (dzielna dzielnik i iloraz dowolnej długości). Dodawanie i odejmowanie dowolnej długości.
Nie mam w tej cwili czasu na dokładniejszą analizę, ale zauważ że w celu uzyskania bardziej znaczącego bajtu zmiennej typu uint16_t należy podzielić przez 256, a nie przez 255. Zwiększ też wartość zmiennej ac_adder na 256, bo przy 24 otrzymasz przebieg poniżej 5Hz. Błąd jest na pewno w algorytmie bo np. to działa bez problemu (sprawdziłem dla pewności):...
Jedyne, co mi przychodziło do głowy, to przesunięcie bitowe w prawo i tak właśnie napisałem, jednak albo moja odpowiedź była zbyt ogólnikowa, albo nie o to chodzi wykładowcy. To jest ośmiokrotne przesunięcie bitowe w prawo. Ten sam efekt uzyskamy, odrzucając cały młodszy bajt. Jeżeli zaokrąglenie ma być zgodne z zasadami arytmetyki, to gdy młodszy...
Skoro rysunek 2255842600_1396547955 pokazuje, że najpierw wysyła się "address high" a po nim "address low", to można przyjąć (bez zagłębiania się w notę), że dane wysyłane po sub-adresie przesyła się w taki sam sposób: najmniej znaczące bajty wielobajtowych danych wysyłamy na końcu, zatem 0xAABB wyślemy jako najpierw 0xAA, potem 0xBB, najpierw szesnastki,...
Ok, no to tak.. liczba jest podzielna przez 3 jesli suma jej cyfr jest podzielna przez 3. 256 bitow (0 i 1) to 32 bajty. Czyli 32 liczby (0-9). podczas wpisywania cyfr (0,1) zapisujesz je do tablicy 32 elementowej, po kolei. nastepnie dzielisz te tablice na 32 mniejsze, kazda z nich bedzie zawierala jedna cyfre (0-9) zapisana w kodzie binarnym. Teraz...
Wszystko jest w porządku. Musisz tylko wiedzieć, że to o czym mówisz 1k, 2000h i 3FFFh nie dotyczy bajtów tylko 14-bitowych słów np. 0x3FFF to takie słowo. Oczywiście dla programatora nie jest istotne to, że tylko 14 bitów z 16 jest wykorzystanych. Podsumowując 400E to adres bajtu, a nie słowa i dzielisz przez 2 i masz 2007h.
Moje wpisy są na: http://www.elektroda.pl/rtvforum/topic83... nie chciałem dublować. Problem jest jednak nie do końca rozwiązany. Nie wiem jak mam generować liczbę do wysyłki do AD9833. Obecnie robię tak: 0. określm żądane F_OUT- prztykładowo 1kHz 1. obliczam liczbę: F_OUT/20000000(MCLK)/2^28 2. otrzymuję 13422 3. zamieniam na format dwójkowy...
Masz 2 MBajty/s czy 2 Mbity/s, z reguly podają to drugie wiec prędkość sie zgadza, bity dzielisz przez 8 i wychodzi realna prędkość w bajtach
Oto, co podaje ChatGPT: [syntax=armasm] ORG 1000H ; Punkt początkowy programu START: ; Wczytanie pierwszej liczby (dividend) z zakresu 0-65535 MVI D, 0 ; Wyczyść rejestr D MVI E, 0 ; Wyczyść rejestr E ; Zakładamy, że liczba jest podana bezpośrednio ; (możesz dodać instrukcje do wczytywania wartości, jeśli potrzebne) ; Przykład wartości (do testowania)...
zapisze to matematycznie w postaci "bajtowej" gdzie jedna wielka litera to jeden bajt a 0 to jeden bajt tylko że równy zero X,Y / Z,A = 0W (wynik) + 0R (reszta) teraz reszta mnozona razy 256 czyli 0R * 256 = R0 R0 / Z,A = 0V i ostateczny wynik to W,V teraz lepiej to zapisałem ??? hehe
No to w takim układzie zerujesz sobie zmienną i w pętli dla każdej cyfry od lewej do prawej wykonujesz: mnożenie przez 10, dodawanie wartości cyfry... Jedyne czego w takim układzie potrzebujesz, to funkcji do mnożenia i dodawania liczb dowolnej długości.. do konwersji w przeciwną stronę liczbę dzieli się przez 10(lub przez inną podstawę) i resztę dopisuje...
Dziękuję za podpowiedzi. Mało precyzyjnie się wyraziłem, ale i tak wiedzieliście o co mi chodzi. Wprowadziłem małą poprawkę w swoim początkowym pytaniu. Tak chodzi o przedstawienie tych działań na liczbach stałoprzecinkowych w kodach znak-moduł (ZM) oraz uzupełnienie do dwóch (U2).Oczywiście oddzielne działania wykonuje dla ZM jak i dla U2 nie łącze...
Czasem musimy podzielić wartość zmiennej przez stałą, która NIE JEST całkowitą potęgą dwójki. Można chytrze wykorzystać wbudowaną w procesor mnożarkę. A nawet bez mnożarki sposób jest dobry, bo dzielenie jest przynajmniej dwa razy dłuższe i wolniejsze od mnożenia. Przyjmijmy, że chcemy dzielić bajt X przez stałą D. Znajdźmy „k”, największą...
Jak się ma wpisaną partycje FAT to co się dziwić !!!. Echhh Proszę wgrać plik z załącznika w sektor 0 od 0 do 0 jeden sektor. Opis : http://www.elektroda.pl/rtvforum/topic14... pod koniec opisu. P.S. To miałeś wpisane : http://obrazki.elektroda.pl/9158242000_1... Wiki: FAT16 - Odmiana systemu plików FAT, z którego mogą korzystać...
Mnożenie/dzielenie przez 2 w AVRach związane jest z przejściem z adresacji słowowej, która obecna jest w pamięci FLASH AVRów, na adresację bajtową, która używana jest przez AVR-GCC. Z tego samego względu wszelkie sekcje muszą być parzystej długości, w AVRach adresuje się słowo, nie bajt.
A więc tak: Na nagłówek pliku składa się 32B (pomijamy tutaj długie nazwy). Sektor składa się z 512B (czyli mamy 16 plików/katalogów). 1. Odczytujemy 512B do bufora (sektor Root_directory). 2. Dzielimy te 512B na 16 paczek po 32B. 3. W każdej paczce bit po bicie sprawdzamy czy są one równoważne z naszą nazwą pliku/katalogu. Tzn. pierwszy bajt w paczce...
a czy chociaz ktos mogl by mi pomoc z tym jak zrobic dodawanie, odejmowanie, mnozenie, dzielenie wielobitowe? Dokladnie chodzi mi o to ze na trzech bajtach zapisuje: |tysiace setki| |dziesiatki jednosci|, |1 lub 2 miejsca po przecinku|
Optymalizacja ustawiona na szybkość i na max. X jest char, bo tylko 64 wartości, współrzędna x na wyświetlaczu graficznym. Mam 1024 bajty w pamięci SRAM, która jest "buforem" obrazu dla LCD 128x64 i piszę jak najszybszą funkcję zapalającą pojedynczy pixel. Pierwsze 128 bajtów to górna linijka wyświetlacza 1 z 8, kolejne 128 bajtów czyli 129...256 to...
Nie znalazłem w necie ŻADNEJ informacji przybliżającej mnie do odpowiedzi na zadane przeze mnie pytanie. Elektroda też nie za bardzo chciała się dzielić informacjami. Jednak odkryłem, jak i gdzie znaleźć ten brakujący bajt i darmowy program do synchronizacji CEM <> ECM w Volvo P2 (V70, XC70, S60, XC90) MY '00 - '04 jest na ukończeniu. Z braku...
[syntax=c] uint32_t bin2BCD(uint32_t val) { uint32_t retval; uint8_t count, i, *ptr = &retval; retval = 0; for (count = 0; count < BCD_DIGITS * 4; count++) { for(i = 0; i < 4; i++) { ptr[i] += 0x33; if((ptr[i] & 0x08) == 0) ptr[i] -= 0x03; if((ptr[i] & 0x80) == 0) ptr[i] -= 0x30; } retval <<= 1; if(val & (0x08L << ((BCD_DIGITS...
Hej, z kolezanka zamiezamy zalozyc w mieszkaniu internet jest to mieszkanie wynajmowane i zastanawiam sie czy mozna podpisac umowe na nas 2?? nie ze na mnie lub na nia tylko obydwie tak bylo by mi wygodniej bo jest zobowiazanie na 2 osoby i mam pewnosc ze nie zostawi mnie z rachunkiem bo sie wyprowadza albo zrezygnuje z dzielenia sie...
Szperałem forum, ale niestety nie znalazłem odpowiedzi na nurtujące mnie pytanie, O ile w necie można znaleźć gotowe rozwiązanie to ja bym chciał bardziej zrozumieć jak to działa bez tłumaczenia tego sobie z kodu na ludzki. Sprawa dotyczy 8051 i kodu w asemblerze. Potrzebuje wiedzieć jak przekonwertować 16 bitową liczbę na ciąg znaków ASCII. Chodzi...
żeby z ASCII zrobić hex - mam na myśli wyświetlenie trzeba każdy odczytany bajt osobno zamienić na liczbę hex (dwa znaki) i tak char znak1, znak2, bajt; znak1=((bajt/16)<10)?(bajt/16)+48:(ba... znak2=((bajt%16)<10)?(bajt%16)+48:(ba... o ile dobrze pamiętam % to reszta z dzielenia jeśli czegoś nie pomyliłem każdy bajt po odczytaniu...
Niestety ja pisze w C# wiec ze składnia ci nie pomogę. Ja cos takiego napisał bym tak: Odczyt danej, Podział danej na TH0 i TL0, Zapis danych do kości pod odpowiednie adresy, (i tak tyle razy ile chcesz) . . (mamy 10 odczytów) deklaracja zmiennej 3 bajty, złożenie w tej zmiennej pierwszej liczby z pamieci, deklaracja zmiennej 2 bytowej złożenie w niej...
ok pasuje, znalazłem dokumentacje z której wynika że ostatni bajt jest sumą kontrolną - resztą z dzielenia przez FFh sumy pierwszych pięciu bitów co sie zgadza 55h + D0h + 85h + 13h + 97h = 254h = 2* 100h + 54h czyli ostatni bajt 54 Czy podany sygnał jest zgodny z tym co komputer wysyła przez por RS232? sygnał wygląda tak samo?
(at)krkmar wyślij taką ramkę jak na obrazku poniżej a otrzymasz parametry o numerach 1, 2, 3, 4, 12 i 13. https://obrazki.elektroda.pl/1785642100_... Parametry rozkodujesz tak, jak to opisałem powyżej, ale może przedstawię to jeszcze raz na tym przykładzie. Do obliczeń zamień sobie najlepiej całą ramkę z HEX na dziesiętnie. Ramka odpowiedzi...
Powinno to być znacznie bardziej prostsze niż wykonywanie dzielenia czy też odejmowania, jak poczyniam przy słowie dwubajtrowym. Szkoda że nie napisałeś dla jakiego uC i w jakim języku piszesz. Np: dla AVR i GCC są funkcje itoa, utoa, dla innych trzebaby poszukać w specyfikacji kompilatora. Akurat dzielenie jest najprostszym rozwiązaniem w przypadku...
Żaden z gotowców internetowych nie spełniał moich wymagań, ponieważ mam liczbę 3 bajtową, będzie dzielona zawsze przez 1 bajt o wartości &D125 i nigdy nie zostanie reszta z dzielenia, ponieważ liczba 3 bajtowa będzie wielokrotnością liczby 125. Oczywiście mogę mnożyć 125 ileś tysięcy razy aż trafię odpowiednią wartość ale to by za długo trwało. Czy...
Pomyś sobie co się stanie z liczbą 4 jeśli podzielisz ją przez 2 ? tak na prawdę przesuniesz zawartość bajtu w prawo o jeden bit prawda? a jak podzielisz np liczbę 64 przez 16 - to masz przesunięcie w prawo o 4 bity prawda? a jeśli podzielisz liczbę dwubajtową INT np przez 64 - to o ile bitów w prawo ją przesuniesz???? a do tego jak poczytasz w PDF'ie...
Przeszedłem na php dlatego, że w bash'u nie potrafiłem policzyć crc. Jednak jeśli nie masz potrzeby liczenia crc to równie dobrze można odczytać temperaturę w bashu. Wartość temperatury to: (odczyt - 110 ) / 2 Czyli od odczytanej wartości odejmujesz 110 i dzielisz przez 2. A i jeszcze jedno. Ja biorę pod odczyt tylko jeden bajt pomimo, że w teorii są...
Cześć, taktlos, odczytanie woltów, amperów i watów z danych szeregowych CES7766 (lub CSE7759) wyjaśniono tutaj: [url=https://www.instructables.com/Sonof... Połączyć Upewnij się, że łącze szeregowe jest ustawione na 4800bps. Każdy odczyt licznika (z chipa CSE) zajmuje 24 bajty. Poniższy kod zakłada, że wczytałeś...
Tu: http://alds.stts.edu/APPNOTE/MCS51/AB-40... jest procedura dzielenia liczby 4 bajtowej przez 2 bajtową, trzeba tylko zwiększyć dzielną do 6 bajtów i liczbę obiegów pętli z 32 to 48. PS zakładam że jeśli bawisz się assemblerem to wiesz o co chodzi
witam Otrzymujesz 2 bajty z Ds-a msb oraz lsb(oznaczenie w Twoim przypadku) Następnie starszy bajt przesuwasz w prawo o 4 młodszy w lewo o 4 i dodajesz do siebie. Otrzymujesz w sumie 1 bajt ( o jakieś wartości dziesiętnej) no i odpowiednio dzielisz całkowicie pózniej reszta z dzielenia i tak dobierasz sie do każdej cyfry oddzielnie. Jeśli chcesz to...
Nie... dzielenie wymaga więcej cykli procesora... (zależy też jaki sie używa procesora ale zawsze dzielenie jest bardziej cyklochłonne od przesówania binarnego) jeśli to procesor ośmio bitowy a program ma być w assemblerze to nawet nietrzeba takich operacji wykonywać gdyż można odrazu podzielić wyraz na dwa bajty poprostu odczytując starszy bajt a potem...
Niestety o ile dobrze kojaże, w C mamy do dyspozycji tylko dwa typy zmiennych dla liczb zmiennoprzecinkowych - wspomniany float oraz double (8 bajtów, 15 miejsc po przecinku), w razie w long double, ale to nie to czego szukasz. Tak więc prostszego od float typu nie znajdziesz. Natomiast istnieje kilka innych rozwiązań dla liczb zmiennoprzecinkowych,...
u mnie zajmuje mniej miejsca a poza tym jest szybsza - dzielenie i tak zajmuje sporo czasu procesora a im większy jest dzielnik tym dłużej. Mozna to jeszcze bardziej skrócić, dac mov {ala},{do_podzielenia_pomoc+0} zamiast tego low i jeszcze pare takich mov do przepisywania wartosci - bascom robi to toche inaczej a tak mozna bezposrednio przesowac zmienne...
Tak więc ostatecznie będę to robił w następujący sposób. Pierwsza pętla, odczytuję kody ASCII Druga pętla, odczytuję bajty w czcionce (ilość tych bajtów wychodzi z dzielenia ilości pikseli przez 8) Trzecia pętla, wskazuję na kolejny Bit w Bajcie i jeśli flaga Z = 1 to wysyłam na port kolor czcionki, a jeśli Z = 0 wysyłam kolor tła. Natomiast jeśli chodzi...
Witam! Od pewnego czasu bawię się układami do transmisji bezprzewodowej komunikujące się z uC poprzez port UART. Konkretnie mam na myśli HM-R868S i HM-T868S ze sklepu [url=http://www.tme.eu/pl/katalog/moduly... TME . Mam pytanie: czy ktoś może próbował kiedyś wprowadzać jakąkolwiek...
Witam, Napisanie programiku który konwertuje liczbę jedno- bajtową binarna na BCD jest dość proste i zajmuje to nie wiele cykli procesora. Niestety kiedy usiadłem do napisania konwersji 16 bitowej liczby, już na samym wstępie zauważyłem, że prawdopodobnie procesor wykonać bedzie musiał tyle operacji, że spowolni to prace całego urządzenia i nawet użytkownik...
int howmany = file->Size / 1; ????? po co dzielisz przez 1 ?? Z pliku można czytać bajt po bajcie a bit po bicie sie nie da. W sumie odczytywanie baj po bajcie to to samo co odczytywanie bit po bicie ( 1 bajt = 8 bit) tylko w paczkach 8 bitowych. przyklad: unsigned char bit; for (int i = 0; i < howmany; i++) { file->Seek(i, soFromBeginning);...
Nie można adresować w eepromie pojedyńczych bitów, tylko całe bajty. Powinieneś czytać bajt np. poleceniem Readeeprom A , 1 Wtedy już w RAMie (nie EEPROMie) dzielisz sobie zmienną A na bity czy co tam potrzebujesz.
pcf8583 bajty bajty polskie zamień bajty
sterownik ekran nvidia windows przebarwi kolor wykorzystać wyświetlacz radia
kemppi mastertig 3500w kemppi mastertig 3500w
Jak bezpiecznie wyczyścić zaschnięty tusz w drukarce atramentowej? Jak wyczyścić zaschnięty tusz w drukarce?