Witam. Czy ktoś z kolegów natknął się na procedury dzielenia dla AVR. Konkretnie chodzi mi o dzielenie liczby 24bit przez 16bit lub 32bit przez 16bit wynik liczba całkowita może być bez reszty no i warunek procedura nie może przekraczać 450cykli. Serdeczne dzięki za pomoc. Pozdrawiam Marek D.
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...
bez urazy, kolego olekewaagata, zanim zaczniesz kogoś pouczać przeczytaj tekst ze zrozumieniem! ;)) Autor wątku miał problem z propagowaniem przeniesienia - moja odpowiedź dotyczy DOKŁADNIE zalecenia, jaką instrukcją uwzględnia się przeniesienie. A podany przeze mnie przykład dotyczy sumowania, z jakim ma problem autor - czyli dokładnie liczby _16bit_...
Zacznę od tego, że programuję mikrokontroler ATmega8. Operuję na liczbach 16bitowych w postaci 8bitMSB - część całkowita, 8bitLSB -część ułamkowa w zapisie stałoprzecinkowym. Teraz chciałbym podzielić dwie takie liczby 16bitowe. Stosując procedurki dzielenia ze strony Atmelka otrzymuję wynik w postaci część całkowita i reszta. Zastanawiam się jak tą...
a ma ktoś może dzielenie liczby 16bitowej przez 8 bitów. Szukam czegoś bardzo szybkiego, tyle że sam jestem na tyle tępy żeby coś takiego spłodzić
Przygotować Ci gotową procedurę zamieniającą liczbę 16bit na ciąg tekstowy, gotowy do pobrania przez Twój program czy chcesz "pobawić się" z tym sam ? Napisałem wyżej, że posiadam procedurę dzielącą liczbę 16bit przez liczbę 8bit.
Witam forumowiczow, problem jak w temacie: czy liczba jedynek w liczbie 16-bit jest podzielna przez 4. Nie mam kompletnie pojecia jak sie za to zabrac, a potrzebuje na wczoraj. Czy ktokolwiek chcialby pomoc lub chociaz dac wskazowke?
Witam mam prblem poniewaz chcial bym zmienna Word wypuscic na 8 nuzek AVR. I mam pytanie jak moge to zrobic aby najpierw na naprzyklad porciea bylo pierwsze 8 bitów zmiennej Worda o pozniej na tym samym porcie bylo koleje 8 bitów tej samej zmiennej Word. Oczywiscie kolejnoc wysylania na ten porta nie ma zanaczenia. Program pisze w bascomiee
Wszedzie szukam i nie moge znalezc, potrzebuje pojdzielic liczbe 16 bitowa przez 8 bitową w asemblerze Ostatecznie moze byc nawet 8 bit przez 8 bit, bez reszty, choc z reszta tez moze byc. Robie miernik prękości obrotej z enkodera (4096 na obrót). Licznik 16 bitowy zlicza impulsy, potem co 1sekunde wyzwala sie przerwanie ktore podzieli liczbe zliczonych...
Proboje wysylac dane z PC przez rs232 do mikrokontrolera i w zwiazku z tym mam pytanie - jak mozna podzielic liczbe z zakresu wiekszego od 255 tak aby byla zapisana w postaci dwu 8-bitowych czesci ktore moglbym wyslac po rs-sie do uP? Czy jest jakas funkcja ktora to robi? Dodano po 47 Zapomnialem dodac że chodzi o jezyk C :)
Chodzi mi o algorytm dzielenia liczby 14bitowej zapisanej dziesiętnie na dwie liczby 8 bitowe zapisane dziesiętnie. np.liczbie 8148 odpowiadają dwie 31 i 212. liczbie 8276 odpowiada 32 i 84. nie chodzi o konkretny język programisty tylko o algorytm. resztą zajmę się sam. dzięki.
Witam Po przemnozeniu liczb 12345*2500 dostaje taki wynik 30862500 = 01D6ECA4, ale mnie nie intersuje cala ta liczba tylko jej czesc np 3086 jak ja skrocic (obiac bity) chodzi mi o asseblera na AVR. Za pomoc serdecznie dziekuje
witam, musze zrobic dzielenie 2 doubli, czyli musze podzielic dwie mantysy 52bitowe. Nie moge uzyc koprocesora, wiec pozostaja rejestry 32bitowe. Probowalem trzymac jedna mantyse w 2 rejesrach (eax, ebx) w jednej byly by 32 bity w drugiej 20. Z druga tak samo. Uzylem algorytmu dzielenia przez odejmowanie, pomijajac fakt, ze jeszcze nie dziala tak jak...
Witam was serdecznie Mam taki oto problem jak już wyplułem po korekcji dziesiętnej liczbę: np. 2133 to teraz jak to w asm napisać żeby wykonać taką operacje (liczba znajduje sie oczywiście w 2 rejestrach:) np R6 (21) R7 (33) 10000 : 2133 czyli 10 tysięcy podzielić przez tą liczbę?? Jak to zrobić, bo wszystkie memoniki poznałem i nie znam prostego przejścia
Witam! Moja pytanie dotyczy prawdopodobnie nie tylko tej rodziny mikrokontrolerów, a pytanie jest następujące: W jaki sposób podzielić port wyjściowy, np. B, który jest 16-bitowy, na 2 oddzielne (wirtualne, używane przeze mnie) porty 8-bitowe. Innymi słowy, normalnie, jak wyślę liczbę 255 na port B, to będzie to tak: PORTB=255; //wynikiem będzie 00000000...
Mam obraz pewnego roma a szerokości magistrali danych 16bit. Chce wykonać układ na 2 układach 8bit (wiadomo, cena 16bit... no i 8bitowe romy mam). W jaki sposób rozdzielić obraz 16bitowy na 2 pliki po 8bit? Czy będzie to co drugi bajt?
Dziś siedze całą noc nad tym jak wymyśleć algorym prostego dzielenia liczby 16bit przez liczbe 8bit ze wzracaniem reszty na procesor 8bit i szczeże mówiąc nic nie wymyśliłem.... Jedynym sensownym rozwiązaniem jest realizacja klasycznego sposobu dzielenia:( Moje pytanie brzmi... czy da sie jakoś inaczej zrealizować funkcje dzielenia?? np tak jak w mnożeniu...
Witam Mam mały problem, potrzebuje dzielić liczbę 16 bitową, a rejestry są 8 bitowe. Jak się do tego zabrać?
Jest sposób aby wykonać ta procedurkę w asemblerze , ale nie wiem ile ona potrwa- a tobie zależy na szybkim wykonaniu obliczenia. Poniżej opisałem jak według mnie mogłoby to działać: Np. A=256 ; B=64 Deklarujemy tablice w której będą procentowe podzialy liczby (25%,50%,75%,100% itd) 1) porównanie liczb A=B, A>b, A<B 2) A>B (inkrementujemy odpowiednio...
Nie moja funkcja - znaleziona gdzies kiedys w necie kiedy piców uzywałem. Ale działała Dodano po 1 Przypomniało mi sie gdzie ja znalazlem - na stronie piclist
Nie wiem w takim razie w czym problem, to prosta matematyka. A procesor ma funkcje mnożenia i dzielenia 8bit wystarczy zrealizować rozszerzenie na 16bit.
wlasnie z ty dzieleniem mam największy problem, 8051 jest 8-bitowym. Napisałem sobie kiedyś podprogram do dzielenia 16bit./8bit. liczbę, ale nie wykorzystam go do dzielenia przez 1000 i 10000. Musiałbym mieć dzielenie 16bit. przez 16bit. na mikro 8-bit. Czuje, że nie poradził bym sobie z takim dzieleniem. Nie ma jakiejś innej możliwości?
W atmega8 nie zmieści Ci się dzielenie? Wolne żarty. Przecież funkcja dzielenia 8bit/8bit to kilkanaście instrukcji... 16bit/16bit to ciut ponad 20 instrukcji. Oczywiście istnieje algorytm bin->bcd bez użycia dzielenia, nazywa się "shift-and-add" i jest opisany np. [url=http://www.engr.udayton.edu/faculty...
55/44 A=1 B=11 ,a nie B=25 11*100/44=25 zastosuj dzielenie 16bit/8bit ponieważ reszta*100 to max 11bitów DIV-em nie da się dokładnie jak jest 01 jako 0,01 to wynik jest 1 jak jest 1 jako 0,1 to wynik jest 10 co tu sprawdzać ?
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...
długa zmienna ? Rozumiem że miałeś na myśli liczbę bitów/bajtów Ale na samym początku Ci tłumaczyłem jak to nalezy robić: 1 mierzysz prędkośc i np. mnożysz przez 2 i zapisujesz do akumulatora 16bit 2 powtarzasz punkt powyzej a następnie dzielisz przez dwa 3 i tak do us... śmierci i w ten sposób masz zawsze w tym akumulatorze aktualną prędkość średnią...
Witam serdecznie, Chciałbym się podzielić z Państwem programowym rozwiązaniem szybkiego dzielenia przez (małą) stałą liczby 8 bit. Długo szukałem jakiegokolwiek wytłumaczenia dlaczego AVRy nie zostały wyposażone w moduł sprzętowego dzielnia, i niestety wprost tej informacji nie znalazłem. Uniwersalne procedury, zgodnie z opracowaniem Atmela o nazwie...
Daj sobie spokuj z dzieleniem liczb 16bitowych w 8 bitowym procesorze, bo jeśli nie chce Ci się zrozumieć tego banalnego algorytmu zamiany na BCD to na pewno nie będzie Ci się chciało przekopać przez algorytm dzielenia liczb dwa razy dłuższych niż procesor ;) Algorytm jest bardzo prosty, przesuwasz w lewo a to co odpada wrzucasz do jednostek, robisz...
To przyklad funkcji do konwersji liczby na stringa z zastosowaniem operatora modulo. Dlaczego tak długo i nieelastycznie? void IntToString(unsigned int value,char *buff) { unsigned char a=0; unsigned int podstawa; // wartosc poczatkowa tzreba dobrac do // przypadku i dlugosci unsigned int ; for(podstawa =1000000U;podstawa>0;)...
jak zadajesz takie pytanie, to zawsze podaj: -jaki procesor -ile ew. masz miejsca w pamieci (na tablice itd.) -raczej podawaj dokladnie problemy, bo to jest dosyc ogolne... -jaka ma byc dokladnosc tego jest cos takiego jak fixedpoint math - to taka matematyka na liczbach ulamkowych z uzyciem liczb calkowitych. Polega to na tym, ze zamiast...
OMG... odpadlem [; czlowieku! liczba twoja zajmuje dwa bajty. wiec najpierw zapisz ... pierwszy, a potem... drugi. po co te kombinacje? moze zapisuj to jako ilosc wielokrotnosci jakiejs fajnej liczby pierwszej (np 23) oraz reszta - bedzie jeszcze bardziej bezsensownie. mozesz zapisywac w eepromie 16bitowo? no to w ogole po co te kombinacje? moze pokombinuj...
Zamiana sygnału na różnicowy pozwala podać bez zniekształceń większą amplitudę sygnału, a przez to uzyskać lepszy stosunek sygnału do szumu wnoszonego przez układ próbkujący na wejściu ADC. Czyli mimo, że sygnał jest typu Single-Ended, to warto w torze dopasowującym zmieniać go na różnicowy? AFE ma przed przetwornikiem PGA, który mogę ustawić na x2...
Witam! Mam pytanie odnośnie poniższego programu. Program realizuje dzielenie 16bitowe. Liczby są wprowadzane przez porty P1,P0(dzielna) i P3,P2(dzielnik).Wyniki natomiast zapisywane do komórek pamięci 30h,31h. Program działa poprawnie,lecz gdy wpisuje dzielnik 0 to program się przywiesza i juz dalej nie liczy. Czy ma ktoś może pomysł jak to zabezpieczyć...
Tak, zgadza sie. Troche sie ostatnio spieszylem i zapomnialem ta linijke dopisac. Zorientowalem sie i mialem to zrobic w pozniejszym czasie. Widze ze czujnie sledzisz. Dzieki. Teraz to samo zrobie dla liczby 16 bitowej. Mam algorytm na dzielenie wielobajtowe, ale musze poszukac czegos takiego: 16bitow podzielone przez 4 bity. Ewentualnie zmodyfikuje...
Korzystam z kodu zawartego na stronie: http://avr-asm.tripod.com/div2424.html Niestety nie działa on poprawnie i nie potrafię ustalić dlaczego: 1.Dzielę liczbę 4999401(4C48E9 hex) przez 100(64 hex) powinienem otrzymać 49994(C34A) 2.Testy na symulatorze AVRStudio potwierdzają poprawne działanie funkcji w odpowiednich rejestrach(R18,R19,R20) po wykonaniu...
najpierw muszę zaprojektować analogowy filtr wedłóg schematu 1 w pdf kolegi następnie muszę wyliczyć alfa , beta i gama które są stałe dla każdego filtru a następnie muszę postępować według algorytmu z rysunku 9a Dokładnie tak :!: , ale musi być jakieś ale :D . Podane zostały jedynie uproszczone wzory na alfa, beta i gamma, wykorzystujące SAA (Small...
http://obrazki.elektroda.pl/1852929500_1... http://obrazki.elektroda.pl/5115381900_1... Mimo upływu lat w dalszym ciągu lubię od czasu do czasu odświeżyć sobie w pamięci elektroniczne brzmienia lat 80tych, kiedy to po raz pierwszy miałem okazję usłyszeć „syntetyczną” muzykę pochodzącą z wielkich drewnianych...
[syntax=basic4gl] $regfile = "M32def.dat" $crystal = 16000000 '************************* WYSWIETLANIE-porty ********************************** Lcd_port_ddr0 Alias Ddrb Lcd_port1 Alias Portb Lcd_port_ddr1 Alias Ddrb Lcd_rs Alias Portb.lcd_rs_number Lcd_reset Alias Portb.lcd_reset_number Lcd_cs Alias Portb.lcd_cs_number Lcd_sck Alias Portb.lcd_sck_number...
Witam Już wiem co miałem nie tak. Opóźnienia to jest to na co trzeba uważać w dallasie (jak tego nie zrobisz porządnie, to nici z Twojej pracy). Ja wykorzystywałem na początku delay’a który najmniej mógł zliczyć (teoretycznie) 5,7814us (bo #include <avr/io.h> #include <stdlib.h> ///////////////////////// LCD define /////////////////////////////////////...
dzielenie liczby dzielenie liczba 16bit bascom dzielenie liczby
jakie czujki zewnętrzne wymienic matryce laptopie tylny lampa sprinter
Jak przywrócić kolorowy obraz na TV JVC? Wymiana modułu SAM w Mercedes Vito W639: kodowanie i zgodność