Niestety popularne Cortex-M0 (np. stm32f0discovery) nie mają tej instrukcji, a ręczna zamiana kolejności bitów jest zabójcza dla wydaności. Tablica 512 bajtów załatwia sprawę.
InterlockedCompareExchange to podstawowa operacja udostępniana przez (każdy) procesor. Na 32 bitach działa zawsze, na 64 bitach zazwyczaj. Przy okazji dba o spójność cache, wstawia memorybarrier. Z tego buduje się bardziej złożone mechanizmy synchronizacji. Uważaj z takimi wnioskami "na przerwaniu wystarczy...". Współbieżność jest trudna. Efekty obecności...
Witajcie po krótkiej przerwie weekendowej! ;) Otóż zaimplementowałem w swoje aplikacji dwie metody tak jak pisałem w poście wcześniej: 1. podział danych na 2 B (po 6 b na każdy bajt) + znaczniki na ostatnich 2-óch bitach dla LSB ("11") i na ostatnim bicie dla MSB ("0") 2. obliczanie parzystości bitów i ustawianie flagi na przedostatnim bicie w MSB...
Chodzi Ci może o odwracanie bitowe ? Jeżeli tak, to zasada działania jest względnie prosta. mamy próbki w tablicy o indeksach powiedzmy i = 0..n-1. teraz bierzemy drugą taką tablicę (to tak dla uproszczenia, w rzeczywistości nie jest ona konieczna, bo można zrobić to na tej samej tablicy) dla każdej próbki o indeksie i odwracamy kolejność bitów w zmiennej...
Więc tak: Nie zmieniałem jeszcze kolejności cewek, a skupiłem się na szybkiej zmianie programu sterującego. Przypomniałem sobie podstawy C, a szczerze to skorzystałem z makra, które uwolniło mnie od konieczności wpisywania bezpośredniego ustawiania bitów w porcie. U góry zdefiniowałem makra "sbi" dla ustawiania oraz "cbi" dla kasowanie bitów pojedynczych....
Podalem ten dokument w polskim jezyku : ActionFront - Tłumaczenie “Drive-Independent Data Recovery: The Current State-of-the-Art”"] Streszczenie Pojęcie “odzyskiwanie danych” w tym dokumencie oznacza dostęp do logicznie i/lub fizycznie uszkodzonego dysku, którego użyteczna kopia bezpieczeństwa nie istnieje. Obecne techniki odzysku...
Witam, A czy S7 1200 nie ma w bibliotece bloku do przesuwania bitów np. w prawo ale przesuwanie kołowe?. Nie ma TIA pod ręką to nie sprawdzę na 100%;) Ewentualnie funkcja i zamiana ręczna bitów. Pozdrawiam,
Witaj! Rozważałem różne warianty kodowania danych dla WS281x. Przy metodzie TIM+DMA+GPIO sterujesz na raz 16 lub ewentualnie 8 pinów na raz (transfer DMA jest 1- lub 2-bajtowy). Wtedy albo blokuje się niektóre peryferia (czasem akurat to co jeszcze jest potrzebne), albo trzeba MCU o dużo większej liczbie pinów. Ponad to dochodzi poprzesuwanie bitów,...
Przykładowo jesli bity sa w porcie PORTB ... : //moc - bajt pierwotny PORTB=0x00;// bajt wtórny (przestawiona kolejność bitow for(d=0;d<8;d++) //zamiana MSB z LSB { if(bit_is_set(moc,d)) sbi(PORTB,(7-d)); } działa to na całym bajcie - przekształć w zaleźności jak masz poukładane ... sbi ustawia bit .
Myślę, że można zamienić pomiędzy sobą dowolne linie adresowe, tak samo jak można dowolnie zamienić pomiędzy sobą dowolne linie danych. Jest tak tylko z tego względu, że wśród adresów jak i danych nie ma żadnych poleceń sterujących pamięcią, a pamięć ma taki sam czas dostępu przy operacjach sekwencyjnych jak i losowych. Mieszanie linii adresowych będzie...
Domyśliłem, się, że "szlaku nie przecieram", ale biorąc pod uwagę fakt, że na elektrodzie nikt(przynajmniej nie znalazłem) tego nie robił. Oczywiście co do połączenia i poprawności działania układu się pierw upewnię "na sucho" czyli bez podpięcia do radia, za pomocą uP zrobię tak, że stan jednego z wejść uP postaram się odwzorować na LC, więc gdy mi...
Z tego co widzę to źle ustawiasz stan niski na pinach. Dla CLK_PIN najlepiej zrobić to na XOR bitwise ^= Tak, to poprawiłem zaraz po Twojej wiadomości. Nie wiem czy dokładnie o to chodziło ale stan niski działa (wg mnie poprawnie). Swoją drogą dobrze jest zajrzeć jednak do dokumentacji scalaka. Wyraźnie jest pokazane, że najpierw musi być ustalony...
Pomogę koledze w obsłudze tego przetwornika bo 2 lata temu sam z tym walczyłem. W nocie masz schemat i może go niedokładnie zastosowałeś. Po pierwsze on ma dwa kanały które a sposób ich obsługi jest określony przez zaprogramowanie trybu pracy. Ale o tym poźniej. Najpierw musisz się zdecydować jaki tryb wybierasz domyślam się że chodzi o zamianę napięcia...
Co do hex zgadzam sie, czyli wpisując 0x47 (=71 dec) ustawiasz prędkość 9600 przy swoim kwarcu. A właśnie.. może podłączyłeś sobie kwarc, ale go nie używasz? Ustawiałeś fusy na zewnętrzny rezonator? Bo może chodzisz na 1MHz? Może coś nie tak z oprogramowaniem na kompie/kablem/przedłużką? Teraz akurat moge podać Ci tylko z pamieci połączenia, a więc:...
Wywal te Twoje Andy i Ory i na końcu napisz tak i pozamiatane :D [syntax=vbnet]Cyfra4_dzien.0 = Alarm_dzien(rotate_alarm).6 Cyfra4_dzien.1 = Alarm_dzien(rotate_alarm).5 Cyfra4_dzien.2 = Alarm_dzien(rotate_alarm).4 Cyfra4_dzien.3 = Alarm_dzien(rotate_alarm).3 Cyfra4_dzien.4 = Alarm_dzien(rotate_alarm).2 Cyfra4_dzien.5 = Alarm_dzien(rotate_alarm).1 Cyfra4_dzien.7...
Dziękuję za cenne uwagi. Spróbuję je wykorzystać. Aktualnie udało mi się doprowadzić do sytuacji że nie mam już zgłaszanych żadnych ujemnych Path Slack i Max Clock mam na poziomie 113MHz przy wymaganych 108MHz. Kod w VHDlu praktycznie został ukończony i prototyp działa poprawnie poza jednym przypadkiem. Chociaż wydaje mi się że jest to problem bardziej...
(at)ElektrodaBot Tak wygląda wynik działania: ./ana5 6200DSUB.ROM Attempting to open 6200DSUB.ROM Length: 63488 bytes [INFO] PCIR at 0x108 -> Vendor: 0x10de (NVIDIA), Device: 0x163 [INFO] ROM image length (from PCIR): 63488 bytes Found 1. NVIDIA pattern at 0x94b3 (Decimal: 38067) VESA table...
na każdym który napiszę jest tak samo, w nowym temacie powyżej podałem ustawienia fuse bitów, zaraz wkleję kawałek na którym teraz się bawię Dodano po 4 to kod na którym teraz się bawie '***************************************... '-------------------- konfiguracje ----------------------------------------... $regfile...
https://obrazki.elektroda.pl/9080758700_... XVI32 to darmowy program pozwalający na wygodne otwieranie, edycję oraz inspekcję dowolnego pliku w trybie szesnastkowym, działający (zdaniem autora) na platformach Windows 9x/NT/2000/XP/Vista/7, chociaż u mnie i na Windows 10 zadziałał. Tutaj w skrócie pokażę jego możliwości, gdyż jest to...
Tylko u mnie nie jest to żadna sekwencja. Kanaly 11 i 12 są zamienione. No właśnie - dlaczego? Jak to stwierdziłeś? Próbowałeś kilka razy pod rząd uruchomić konwersję? Moje 30+lat zabawy z elektroniką sprawia że nie pytam po pierwszej nieudanej próbie. Nie mówię że nie robię błędów, ale jak pytam - to znaczy że pomysły mi się skończyły i raczej lekko...
Witam Jeżeli masz książkę Andrzeja Rydzewskiego to na stronie 82 zobacz stan początkowy rejestrów. Na stronie 138 jest opis rozkazu PUSH to może coś się wyjaśni W skrócie, jeżeli nie przestawisz początku stosu to pierwszy bajt odłożony na stos znajdzie sie pod adresem 08H (jest to adres rejestru R0 z banku rejestrów nr1 ) standardowo używany jest bank...
Różnica nie polega na zamianie miejscami movs i strh, tylko na tym, że w jednym kodzie zapis jest wykonywany _PRZED_ ustawieniem bitu PG w rejestrze CR (to jest to "str r3, [r5, #16]"), a w drugim _PO_. Bez "volatile" kompilator może sobie przestawić ten zapis gdzie mu się podoba, natomiast w odwrotnym przypadku zostanie on wykonany w takiej kolejności...
Witam. Przeczytałem tematy związane z tą tematyką i nadal jestem trochę w niepewny. Chcę się upewnić, czy dobrze rozumuję. Chcę napisać własną funkcję w języku C realizującą FFT. Funkcja ma być uniwersalna, żebym mógł ją sobie przenosić na różne uC. Na początek, nie musi być szybka, byle by zadziałała. Ulepszaniem zajmę się potem. A więc co wiem i co...
A to przykład programu z użyciem Shiftout: (źródło: http://www.sklep.microsense.pl/product.p... "Przykładowe programy...") [syntax=basic4gl] 'Program sterowania multipleksowego wyświetlaczem matrycowym 7x5 LED 'za pomocą rejestru 74LS164 'Znak do wyświetlenia jest ładowany do zmiennej Znak typu String 'Częstotliwość sterowania kolumn wyświetlacza...
https://obrazki.elektroda.pl/8661538600_... Zainspirowany podcastami o historii komputerów (podcast #19 - Magnetofon w służbie informatyki Komputery, nawet wczesne modele z lat 50tych, potrafiły wykonywać obliczenia z niezwykłą prędkością i wydajnością. Wciąż jednak problemem była pamięć. Dostępne formy RAMu mogły pomieścić program,...
Cześć Napisałem w assemblerze program zegara na 89c2051, który miał się komunikować ze sterownikiem wyświetlacza alfanumerycznego VFD na układzie 10937p50 za pomocą łącza szeregowego. Wymagana była transmisja synchroniczna. Sprzętowe łącze szeregowe c2051 wydawało się stworzone do tego, jednak po uruchomieniu układu na wyświetlaczu pojawiały się śmieci....
Bardzo was proszę, pomóżcie mi, ja już wysiadam męcze się chyba 4 godzinę z tym prostym programem i nic... pomyły mi się już skończyły... Miało być tak: - wywołanie przerwania przyciskiem - odczytanie znaku z pamięci (procedura reading) - zamiana na znak graficzny z tablicy (procedura szukaj) A jest tak: - wywołuję przerwanie - następuje wyświetlenie...
w x mamy zmienną do przewrócenia. Kod w sumie żywcem skopiowany z kodu w asemblerze MC68000, stąd zapewne efektem będzie raczej mała wydajność. No ale w każdym razie ten sposób działa w C szybciej niż manipulacje pojedynczymi bitami (a przynajmniej powinien). Algorytm jest najszybszym sposobem zamiany kolejności bitów w słowie 32 bitowym na 68000, a...
Bo FFT jest duuuuużo szybsze. Złożoność obliczeniowa DFT to O(N^2), FFT to tylko N*log(N), gdzie N - ilość próbek. Wraz ze wzrostem N złożoność obliczeniowa FFT rośnie dużo wolniej niż bezpośredniej implementacji DFT. Dla przykładu bezpośrednia implementacja DFT dla 128 próbkek to 128^2 = 16384 operacje. FFT to około 270 operacji. Dla 1024 próbek to...
Tak też myślałem, sporo taktów procka.... Właśnie pomyliłem kolejność bitów szyny danych i myślałem, że załatwię to w kilka taktów a tu brrr. Nie znalazłem niestety w AVR nic oprócz przesuwania bitów, przesuwania cyklicznego czy zamiany nibli i obawiałem się, że tak właśnie będzie...:-(. Dzięki...robiw
Wypadałoby zauważyć, że bitmapy są domyślnie zapisywane top-bottom, czyli od "spodu" do "góry". Dzieje się tak, gdy wysokość bitmapy jest dodatnia. Proponuję odczytywanie każdego wiersza bitmapy poprzedzić funkcją seek/fseek: 00000001 <- konsola bccccccc <- paint, b=biały, c=czarny
Miałem jedno zadanie, w którym trzeba było zamienić z kodu NKB na kod GRAYa Na 4 bitach. Tabelki uzupełniało się wpisująć wg schematu niżej. Dla każdego bitu (y) osobno, w sumie 4 tabelki. NKB GRAY x3 x2 x1 x0 y3 y2 y1 y0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 1...
Witam, Pracuję na zestawie ZL3AVR z Kamami. Kwarc mam ustawiony na wewnętrzny 8MHz. Przerabiam lekcję 15 z Kursu programowania mikrokontrolerów w języku C z EdW. Podłączyłem wyświetlacz zgodnie z kursem, ale nic się nie pojawiło na wyświetlaczu. Sprawdzałem połączenia, przylutowałem przewody do drugiego wyświetlacze i też nic. Poniż zamieszczam kod:...
zamiana bitów zmiana kolejności bitów zamiana bitów miejscami
zasilanie napędu drzwi garażowych ustawić diseqc asrock k10n78fullhd
serwer minecraft serwer minecraft
Light-Dependent Resistor (LDR) vs. Photoresistor: CdS, CdSe, RoHS, Models, Circuit Use, Faults Input-output tables in electronics: truth tables, state tables, function tables, EDA tools