przesunąć bitowy

Znaleziono około 1430 wyników dla: przesunąć bitowy
  • [Atmega 16] [C] Nieprawidłowe działanie I2C - przy starcie I2C wysyłany dwa razy mniejszy adres

    wychodzi na to, że Atmega 16 z jakiegoś powodu przekręca nadawany adres Jak się nie czyta dokumentacji tylko przegląda po łebkach - to tak to jest. Jak wysyłasz adres to bit 0 w TWDR jest bitem kierunku a bity 1-7 to adres. Twój adres EEPROM jest już 8 bitowy :) bo tak to producent w DSie zrobił (uwzględnił to że bit 0 jest kierunkiem) https://obrazki.elektroda.pl/1310316600_...

    Mikrokontrolery AVR   02 Maj 2024 09:51 Odpowiedzi: 6    Wyświetleń: 456
  • Dlaczego przesunięcie bitowe w AVR zwraca nieoczekiwany wynik?

    Napisz z jakiego kompilatora korzystasz i na jakim poziomie optymalizacji kodu wynikowego. Jeśli chodzi o standardy C to ISO99 mówi o ujemnym przesunięciu bitowym " the behavior is undefined" i właśnie dlatego lepiej unikać takich operacji. Jeśli koniecznie musisz być przygotowany na ujemne przesunięcia może utwórz własną funkcję: [syntax=c] uint8_t...

    Mikrokontrolery AVR   24 Lip 2011 14:37 Odpowiedzi: 18    Wyświetleń: 2672
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • Miernik częstotliwości na AVR - od 1Hz do 10MHz

    http://obrazki.elektroda.pl/7329866000_1... Miernik częstotliwości o całkiem niezłych parametrach, bo potrafiący mierzyć częstotliwości od 1Hz do 10MHz (9,999,999Hz) z rozdzielczością 1Hz w całym zakresie. Idealny do generatorów funkcyjnych lub jako zwykły miernik. Do tego tani i prosty w wykonaniu, z ogólnodostępnych części, a małe wymiary...

    DIY Konstrukcje   27 Mar 2020 13:07 Odpowiedzi: 54    Wyświetleń: 47055
  • REKLAMA
  • [ARM7] Jak wykonać cykliczne przesunięcie bitowe w assemblerze?

    Jedyną "trudnością" jaką musisz pokonać to to, że przesuwać tak da się tylko w prawo :)

    Mikrokontrolery ARM   09 Sie 2011 12:55 Odpowiedzi: 4    Wyświetleń: 1642
  • REKLAMA
  • [GCC] Przesunięcie bitowe powyżej 14 bitów - nieoczekiwany kod asemblera

    Dodaj do jedynki ul i powinno działać: 1ul<<i Domyślny rozmiar zmiennych to zapewne 16-bitów i do tego jeszcze standard mówi o zmiennych ze znakiem, więc twoja liczba (1<<cokolwiek) nie może być większa niż 32767. Jedynka na ostatniej pozycji oznacza liczbę ujemną, więc kompilator dokonuje dopasowania 16-bitowej liczby ujemnej do 32-bitowej...

    Mikrokontrolery   03 Kwi 2009 14:03 Odpowiedzi: 2    Wyświetleń: 1133
  • Jak przyspieszyć przesunięcie bitowe o zmienną na AVR ATmega32?

    A to jeszcze lepiej - wzór na zastąpienie prawostronnej jedynki zerem: x = x & (x - 1); co można też zapisać tak: x &= x - 1;

    Mikrokontrolery   14 Lis 2008 15:45 Odpowiedzi: 7    Wyświetleń: 1703
  • C18: Przesunięcie bitowe liczby ujemnej w lewo z dopełnieniem jedynkami

    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

    Mikrokontrolery PIC   02 Gru 2011 17:22 Odpowiedzi: 13    Wyświetleń: 3731
  • STM32F411RE I2c eeprom: Zapis i odczyt z at24c256, Funkcja i2c1_burst_write, Rejestr DR, Adres 0x50

    Cześć Adres może i dobry, ale jest to adres 7 bitowy - bez uwzględnienia najmłodszego bitu zapisu. Trzeba tą wartość przesunąć w lewo o 1 bit i do tego ustawić lub nie bit zapisu: #define i2c_rw_bit 1 // transmit slave addres I2C1->DR = ( saddr << 1) | i2c_rw_bit ; No i przydałoby się dodać jakieś timeouty w tych pustych pętlach czekających...

    Mikrokontrolery ARM   23 Sie 2021 20:11 Odpowiedzi: 4    Wyświetleń: 855
  • REKLAMA
  • Program mnożący arduino 4 wejścia jedno wyjście cyfrowe.

    Na pewno będzie szybciej 3 razy mnożyć niż 4 A jeszcze szybciej dwa razy mnożyć i wykonać przesunięcie bitowe w prawo, bez jakiegokolwiek dzielenia.

    Arduino   29 Sty 2019 21:18 Odpowiedzi: 31    Wyświetleń: 1635
  • [C][ATMega8] Komunikacja radiowa - sprawdzenie kodu.

    1. Kod można skrócić o połowę. 2. Stosuj sobie przesuniecie bitowe zamiast liczb szesnastkowych bo można się pogubić. 3. To nie C++ tylko C.

    Mikrokontrolery   20 Lut 2011 07:27 Odpowiedzi: 14    Wyświetleń: 3160
  • Delphi: Konwersja 8 bitów z StringGrid na byte i odwrotnie do uC

    w pierszym przypadku dla rozwinięcia i czytelności - przesunięcie bitowe w lewo - shl - powinno się znaleźć ;)

    Programowanie   21 Wrz 2009 16:02 Odpowiedzi: 2    Wyświetleń: 2639
  • AVR mnożenie 8x8 bez znaku - różnice w procedurach Atmel i kursu

    Przesuwa sie w prawo bo na ostatnim miejscu nic już sie nie zmieni i dodaje sie wprost wartość jak sie okręci rejestrem określona ilość razy to i tak wyjdzie dokładnie to co ma wyjść może to troszkę bez logiki ale działa jak powinno. A wynika to z tego że rejestr z wynikiem jest 16 bitowy składa sie z 2 rejestrów. Jak kolega by chciał przesunąć liczbę...

    Mikrokontrolery   23 Sty 2007 02:29 Odpowiedzi: 5    Wyświetleń: 2850
  • Jak wprowadzić opóźnienie sygnału zegara w Spartan 50 FPGA?

    Tak jak napisałem 25MHz x 5 i użycie IDDR2 = 250MHz. Z taką częstotliwościa przychodą dane. Wewnatrz są zamieniane na 8 bitów + dodaje 2 bity kodowania nadmiarowego. To wszystko przesówa sygnał o około 20ns. Reset jest z danymi jako określony ciąg 8 bitowy który trzeba wyłapać. Musze przesunąć zegar 25MHz o około 20ns.

    Programowalne układy logiczne   22 Cze 2010 21:05 Odpowiedzi: 17    Wyświetleń: 2309
  • platforma z posuwami x , y

    Witaj c4r0 ! jeden napęd jest na pewno taki sam ...hehe twoja jest trochę bardziej trójwymiarowa:) Nie zastanawiałem się specjalnie nad położeniem prowadnic ale nie jest źle...kilogram utrzymuje bez problemu :) . platforma nie działa z prawdziwymi programami CNC. Każdy z silników wykorzystuje 4 bity z 8 bitowego portu LPT. gdy chcę przesunąć silnik...

    DIY Poczekalnia   02 Maj 2009 11:48 Odpowiedzi: 7    Wyświetleń: 3146
  • REKLAMA
  • Sterownik z największą ilością wyjść (100-300)?

    Ze zmianą DATA chodzi mi o to żeby na wejście DATA wysłać 8 bitowy kod na dane wyjście. Następnie na CLK posłać impuls i przesunąć bit rejestru i posłać znowu 8 bitów na następny (kolejny) rejestr przesuwany. To chyba najprostszy sposób. Może trochę wolne ale bardzo proste w konstrukcji. Wykorzystanie demultiplekserów było by fajne gdyby nie to że zmieniają...

    Automatyka Przemysłowa   26 Cze 2008 18:28 Odpowiedzi: 19    Wyświetleń: 4464
  • Arduinop - C++ - Zapisywanie do eeprom wiekszej liczby ujemnej

    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]

    Arduino   12 Sty 2016 23:22 Odpowiedzi: 16    Wyświetleń: 2001
  • Jak narysować graf układu iteracyjnego do mnożenia 16-bitowej liczby binarnej razy 3?

    Witam! Widzę, że tok poszedł w inną stronę. Rozwijając swój wywód postaram się dalej go rozwinąć. Co prawda liczby mają być 16 bitowe, lecz ja postaram się to ograniczyć do 4 bitów, gdyż zachowanie się bitów z przedziału powiedzmy od 3-go do 14-go jest podobne. Tak więc powiedzmy że mamy 4-ro bitowy argument. Kolejną czynnością będzie doprowadzenie...

    Projektowanie Układów   06 Sty 2013 15:41 Odpowiedzi: 13    Wyświetleń: 7170
  • PIC32MX575F512H - Komunikacja przez SPI z przetwornikiem

    Nie stykało coś na płytce. Wróciłem do przesyłania danych 32bitowych teraz to jakoś wygląda i ma sens jeśli chodzi o przebiegi. Pierwszy i drugi przebieg przy napięciu ref 5V. Górny mierzone napięcie 2,5V dolny 0V. Teraz tylko muszę otrzymany 32 bitowy wynik przesunąć przemnożyć przez: wynik = wynik & 0x3FFFFFF; i mam 25 bitów danych przesuwam bity...

    Mikrokontrolery PIC   24 Lis 2014 16:15 Odpowiedzi: 5    Wyświetleń: 1704
  • OLED 0,96" ssd1306 - inicializacja, brak reakcji

    Witaj [syntax=c]#include <avr/io.h> // jak tego nie dodam to wywala błąd, tak powinno być ? [/syntax] Dołącza plik nagłówkowy do sterowania wyjściami/ wejściami dla mikrokontrolera AVR. [syntax=c]for(i=0x80;i;i>>=1){ //tej pętli nie rozumiem, jak to może działać ? : )[/syntax] Pętla działa dopóki i jest prawdą, czyli jest różne od zera....

    Mikrokontrolery   06 Maj 2016 18:04 Odpowiedzi: 7    Wyświetleń: 1572
  • [C] Jak zapisać dane do pamięci bit po bicie - ATmega16

    Witam ! Przyklad dla zmiennej 8 bit unsigned char dana=0; //deklaracja zmiennej 8bit unsigned char a,b; //wartosci odczytane z przetwornikow signed char x; //roznica dana=dana<<1; //przesuniecie bitowe w lewo if( (a-b)>x) //sprawdzenie warunku dana=dana|1; //wpisz "1" Mysle ,ze o to chodzilo. Pozdarwiam ogr

    Mikrokontrolery   22 Kwi 2008 13:17 Odpowiedzi: 4    Wyświetleń: 1583
  • Jak zbudować obwód do dzielenia 4-bitowej liczby przez 2? Przesunięcie bitów.

    Witam. Skoro tak to zastosuj układ CD40194. Pozdrawiam.

    Początkujący Elektronicy   03 Sty 2025 15:21 Odpowiedzi: 5    Wyświetleń: 126
  • [EM78P153S/ASM] - Przesunięcie bitowe - dziwne zachowanie

    Dokumentacja mikrokontrolera EM78P153S znajduje się [url=http://www.emc.com.tw/eng/database/... Problem niby trywialny. Mam taki kod, realizowany w przerwaniu od timera: [syntax=asm]rlc W1_POM rlc W1 rlc W2_POM rlc W2 rlc W3_POM rlc W3 rlc W4_POM rlc W4 rlc W5_POM rlc W5 rlc W6_POM rlc W6 [/syntax] W1...W6 i W1_POM...W6_POM...

    Mikrokontrolery Pozostałe   19 Gru 2013 22:27 Odpowiedzi: 6    Wyświetleń: 4074
  • Zasady nagrywania i odtwarzania dźwięku na taśmach magnetycznych, układy korekcyjne

    Odnowię wątek po paru latach :). Prawda jest taka: praw fizyki pan nie zmienisz. Aby obliczyć ilość danych możliwych do zapisania, trzeba znać pasmo przenoszenia magnetofonu, oraz zastosować jedną z technik modulacji zapisywanych danych. Najprostsza to MFM (piszę z pamięci, odsyłam do googla), polega na nadawaniu nośnej o określonej częstotliwości....

    Początkujący Elektronicy   15 Wrz 2009 22:25 Odpowiedzi: 18    Wyświetleń: 2018
  • Całkowanie w C. Jak to policzyć? Jakieś sugestie? Przykład?

    Czy takie całkowanie "trapezowe" ma sens w przypadku równomiernego próbkowania? Jest dokladniejsze, rownomierne probkowanie nie ma tu nic do rzeczy. Co do samego sposobu calkowania to wystarczy sobie wyprowadzic wzor na pole obszaru pod funkcja liniowa. Sklada sie to pole z sumy pola trojkata prostokatnego i prostokata czyli wzor podany powyzej. programowo...

    Mikrokontrolery   03 Cze 2008 01:41 Odpowiedzi: 22    Wyświetleń: 4701
  • STM32F407 - Diody nie gasną przy użyciu rejestru BSRR, ostrzeżenie kompilatora

    Rejestry GPIOx->BSRRH i GPIOx->BSRRL to "połówki" rejestru BSRR opisanego w manualu, a więc wpisywanie tam wartości większych niż 16-to bitowe nie odniesie żadnego skutku. Zobacz czy w nagłówkach nie ma albo dostępnego rejestru GPIOx->BSRR (bez ...L albo ...H) albo odpowiednich makr GPIO_BSRRx_Bx_xx (z ...L... lub ...H...). W ostateczności w liniach...

    Mikrokontrolery ARM   24 Gru 2015 16:28 Odpowiedzi: 13    Wyświetleń: 1554
  • Dlaczego przesunięcie bitowe w ATmega daje 0xFFFFCBCF zamiast 0xEBAACBCF?

    Witam. Mam problem z przesunięciem bitowym. Mam taki kod: long int wire_temp(void) { long int zmienna_w; int temp1, temp2; temp1 = 0xCBCF; temp2 = 0xEBAA; zmienna_w = ((temp2 << 16) | temp1); return zmienna_w; } i wynik działania jest błędny. zamiast 0xEBAACBCF jest 0xFFFFCBCF. Widać, że dwa najstarsze bajty się...

    Mikrokontrolery AVR   10 Kwi 2009 22:41 Odpowiedzi: 4    Wyświetleń: 5075
  • Jak zaimplementować konwerter 2 liczb BCD na 8-bit binarny w VHDL?

    Mnożysz lewą cyfrę przedstawiającą wartości dziesiątek x10 i dostajesz 10100 binarnie mnożenie warto zrealizować jako odpowienie przesunięcie bitowe, gdy mnożysz x10 to tak jakbyś mnożył x8 i mnożył x2 27x10 = 27x(8+2)= 27x8 + 27x2 = 27x2^3 + 27x2^1 czyli wynik mnożenia dowolnej liczby x10 jest rowny sumie jej przesuniecia w lewa o 3 bity i przesuniecia...

    Programowalne układy logiczne   21 Maj 2009 10:25 Odpowiedzi: 2    Wyświetleń: 2159
  • Konwersja uchar na uint: nieprawidłowe przesunięcie bitowe, godzina = 0x00 zamiast 0x22

    a czemu dwa razy na bcd?

    Programowanie   24 Sty 2015 19:11 Odpowiedzi: 2    Wyświetleń: 1029
  • Jak poprawnie zainicjować wyświetlacz LCD HD44780 z ATtiny2313?

    Widzę tam trochę dziwne założenia: W definicjach masz podane, że wykorzystujesz piny D3-D6, co prawda kolejno, ale nie na granicy nibble, natomiast w kodzie: [syntax=c] // Funkcja wysyłająca 4 bity danych do wyświetlacza LCD void Send4BitsLCD(uint8_t data) { PORTD &= 0xF0; // Wyczyszczenie starszych 4 bitów PORTD |= (data & 0x0F); // Ustawienie...

    Mikrokontrolery Początkujący   18 Gru 2023 12:06 Odpowiedzi: 9    Wyświetleń: 561
  • Jak obliczyć średnią z pomiarów w assemblerze z dziesięciobitowego AC?

    Przede wszystim, jesli oczekujesz pomocy, musisz podac na jaki procek ten assembler. Po komendach widze ze nie jest to x86, czyli PCet. Byc moze chodzi o jakis mikrokontroler. Nie wiem czy wiesz, ale assembler nie ejst przenoscym jezykiem i nie ma jakies jego standardu - w przeciwienstwie do Ansi C czy pascala. Dalej nie wiem czy wiesz, ze nawet jesli...

    Programowanie   05 Kwi 2006 15:51 Odpowiedzi: 2    Wyświetleń: 1026
  • AVRStudio4 - przesunięcie bitowe nie działa w trybie krokowym, ATmega8, avr-gcc

    Napisałem zanim się domyśliłem - dlatego wykasowałem pytanie o optymalizację :) Takie rzeczy ćwicz w Cmaniaku, bo kod kompilatora dla AVR może robić różne uproszczenia.

    Mikrokontrolery Początkujący   26 Lis 2013 11:38 Odpowiedzi: 4    Wyświetleń: 1071
  • Jak w Pascalu zapisać bity z BYTE do tablicy boolean?

    Nie znam składni pascalowej, więc napiszę w pseudokodzie: a = 10000011; b = 10000000; for (i=0;i<8;i++) { if ((a and b) == 0) then tablica[i] = false; else tablica[i] = true; przesuń "b" bitowo w prawo; }

    Programowanie   16 Gru 2009 16:56 Odpowiedzi: 13    Wyświetleń: 2449
  • [Bascom] Odczyt Chip ID układu AT42qt2120 z adresu 0 za pomocą I2C

    Czy mógłbyś napisać dlaczego 0x38 i 0x39 ? Bo adres musisz bitowo przesunąć o jeden w lewo (czyli przemnożyć x2) ze względu na bit R/W, który znajduje się na końcu transmisji.

    Mikrokontrolery AVR   31 Sty 2021 19:45 Odpowiedzi: 4    Wyświetleń: 510
  • Jak w Borland C++ zamienić plik binarny na int krok po kroku?

    for - pętla, tak jak napisałeś bit= (buf>>j)&1; Operacje bitowe: ">>" przesuniecie w prawo,"&" operacja AND-owania. Poczytaj o operatorach w c i będziesz wiedzial

    Programowanie   29 Maj 2007 11:47 Odpowiedzi: 6    Wyświetleń: 2123
  • Jak poprawnie zastąpić komendę bit_is_set w AVR AT90S2313?

    Jak piszesz: if (PINB7!=0) to tak jakbyś napisał: if (0x80!=0) Wynika to z faktu że PB7 to makro odwołujące się do nogi procesora a dokładnie do bitu rejestru który trzyma stan tej nogi. Dlatego nie działa. Następne co cię trapi: 1<<PB7 Tak to przesunięcie bitowe. Więc jeśli piszesz: if (PORTB & (1<<PB7))...

    Mikrokontrolery   24 Mar 2007 11:36 Odpowiedzi: 6    Wyświetleń: 6365
  • Efekt świetlny (nieustraszony) bascom attiny2313 błąd w kodz

    Tu masz troszkę prościej, z użyciem operacji przesunięcia bitowego (krótszy kod, łatwiejsza zmiana prędkości linijki led) Dim Led As Byte Dim Kier As Bit Config Portb = Output 'wszystkie porty b jako wyjścia' Portb = &B00000000 'wszystkie porty b w stanie niskim Config Portd = Output 'wszystkie porty d jako wyjscia Portd = &B0000000 'wszystkie porty...

    Mikrokontrolery AVR   05 Cze 2010 17:05 Odpowiedzi: 5    Wyświetleń: 2509
  • Atomowość dzielenia w ARM, przerwania UART, średnia wartość napięcia ADC

    Dzielenie zrobiłem jako przesunięcie bitowe , więc teraz chyba na pewno nie będzie problemów z atomowością. Dziekuje za pomoc wszystkim.

    Mikrokontrolery ARM   28 Lip 2021 11:42 Odpowiedzi: 15    Wyświetleń: 1257
  • Jak przesunąć bity w liczniku do początku po naciśnięciu przycisku?

    Możesz użyć przesunięć bitowych shl i shr. Poczytaj: http://pl.wikipedia.org/wiki/Przesuni%C4... i tutaj: http://doctor.programuj.com/operatory-bi... Nie napisałeś nawet w czym kodujesz! Pozdrawiam!

    Mikrokontrolery AVR   19 Cze 2010 16:20 Odpowiedzi: 6    Wyświetleń: 2739
  • Optymalizacja kodu BASCOM dla termometru 2-liniowego - jak zmniejszyć rozmiar?

    operacje mnozenia i dzielenia dumnie opisane jako przesuniecie bitowe lepiej zrealizowac jako przesuniecie bitowe ;) polecenie Shift, szczegóły w helpie... inne propozycje jak bede mial wiecej czasu ;) Pozdrawiam

    Mikrokontrolery   23 Lis 2005 14:46 Odpowiedzi: 6    Wyświetleń: 1601
  • Jak zamienić wartość 10-bitową na 8-bitową w C dla przetwornika ADC?

    Przesuń w prawo o 2 bity.

    Mikrokontrolery   23 Lip 2005 15:03 Odpowiedzi: 15    Wyświetleń: 4060
  • Dzielenie przez 256 w mikrokontrolerach AVR i definicja urządzenia szeregowego

    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...

    Nauka Elektroniki, Teoria i Laborki   12 Cze 2021 16:16 Odpowiedzi: 1    Wyświetleń: 363
  • STM32: Jak zredukować próbkę 24-bitową do 16-bitowej i odwrotnie?

    Ale projektuję nową wersję swojego urządzenia i nie wiem czy lepiej będzie stłumić sygnał dzielnikiem hardware-owo czy software-owo. Zwykle lepiej jesty wykorzystywać pełną rozdzielczość ADC, a potem ew. robić przeliczenia softwarowo. Czyli tak jak ci kolega doradzał - przesunięcie bitowe i tyle. Jeśli z 24 bitów robisz 16 to nie ma siły - jakoś te...

    Mikrokontrolery ARM   10 Cze 2024 15:47 Odpowiedzi: 33    Wyświetleń: 855
  • Termostat [C][AVR] - problemy z "wieszaniem się"

    nieprawda przesunięcie bitowe "zwróci" liczbę 16 bitową

    Mikrokontrolery AVR   19 Wrz 2010 10:25 Odpowiedzi: 7    Wyświetleń: 2310
  • Logo8 i nieregularności w odczytach falownika fotowoltaicznego przez modbus

    To po twojej stronie masz problem, zmienne pewnie są 32bitowe a ty czytasz 16bitowe rejestry tak ustawiłeś w Logo. Zmień na Dword i zrób przesunięcie bitowe. Większość liczników odczytuje się jako Real 32 bit lub wodomierze 64 bit

    Automatyka Przemysłowa   23 Maj 2022 19:41 Odpowiedzi: 5    Wyświetleń: 480
  • Atmega644PA - Obsługa przerwania, multipleksowanie ADC

    Chciałbym zwrócić uwagę na odczyt wyniku konwersji: [syntax=c] ... uint16_t ConversionResults[ADC_CHANNELS]; // zmienna 16bitowa ... ADMUX = 0x60; // AVCC with external capacitor at AREF pin, left adjust result; // left adjusted, czyli przesunięty o 6 bitów w lewo !!! ... static const uint8_tChannelMUX[ADC_CHANNELS] = {0x61, 0x62, 0x63}; // włączony...

    Mikrokontrolery   10 Sty 2016 16:07 Odpowiedzi: 53    Wyświetleń: 2877
  • Analiza funkcji C++: unsigned qq i x(a,b) - co realizują?

    << - przesunięcie bitowe w lewo (na polski - pomnożenie razy 2) >> - przesunięcie bitowe w prawo (na polski - podzielenie przez dwa do części całkowitej) ~ - negacja logiczna (NOT) & - iloczyn logiczny (AND) *x - wskaźnik na element (podczas definiowania; podczas użycia - jest to wartość elementu wskazana przez wskaźnik)

    Programowanie   17 Wrz 2010 19:55 Odpowiedzi: 15    Wyświetleń: 1726
  • Dziwny sposób przeliczania ADC na V z użyciem '>>'

    To jest przesunięcie bitów w prawo. Czyli bitowo 0b00010000 >> 1 da 0b00001000 . Często użyte jako optymalizacja w kodzie zamiast dzielenia (chociaż nowoczesne kompilatory powinny to robić same) gdzie >>10 będzie równoznaczne z /1024. Gdybyś policzył 5115000/4995 to byś to zauważył.

    Mikrokontrolery   15 Lip 2011 06:22 Odpowiedzi: 3    Wyświetleń: 1235
  • Kod asemblera do obliczania CRC na mikrokontrolerze 8051

    Poniżej przedstawiam działającą procedurkę jaką sobie napisałem do obliczania CRC16 w komunikacji po ModBusie z falownikami. Nie wiem tylko pojęcia czy algorytm obliczania dla ModBus jest jednakowy np z tym dla czujników dallasa z 1-wire ale CRC to CRC :) ;crcl, crch - zmienne zdefiniowane w wewnętrznej RAM ;-----obliczanie CRC16----r0, r1, acc----...

    Mikrokontrolery   11 Kwi 2018 14:58 Odpowiedzi: 7    Wyświetleń: 3911
  • Jak uzyskać tablicę z shortami? Aplikacja C#, zamiana typów.

    To co chcesz osiągnąć robi się poprzez tzw przesunięcie bitowe i na twoim przykładzie wygląda to tak: [syntax=csharp] short wynik = (short)((147 << 8) | 7) [/syntax]

    Programowanie   19 Sty 2016 09:16 Odpowiedzi: 6    Wyświetleń: 675
  • ATMEGA16 - zmienny czas trwania pętli for w programie

    Jesteś pewien, że działa prawidłowo? Domyślnie kompilator wpisuje wartości stałe do jak najmniejszego możliwego typu, czyli stała "1" będzie uint8_t (dla procesorów 8-bitowych). Przesunięcie w lewo "ośmiobitowej jedynki" o wartość większą niż 7 w wyniku da 0. Najlepiej będzie tak jak napisał kol. BlueDraco, tylko, żeby bezpośrednio zamienić to co masz...

    Mikrokontrolery AVR   19 Mar 2014 20:53 Odpowiedzi: 5    Wyświetleń: 1347
  • [ARM]ECLIPSE] - Compilacja stałe w OR w literałach a dwie opeacje w kodzie

    Racja - ale myslałem ze tam stała moze byc 16 bitowa. To nie chodzi o to ilu jest bitowa, tylko jaka ma "szerokość". Stały operand w takich instrukcjach może być 8-bitową stałą przesuniętą o dowolną ilość bitów. Tak wiec 0xff000000 też może być zawarte w takiej instrukcji, ale już 0x80000001 - nie. Dodatkowo ten 8-bitowy operand może być też w formie...

    Mikrokontrolery ARM   13 Mar 2016 14:29 Odpowiedzi: 13    Wyświetleń: 873
  • [ATmega8] ATmega8: Wewnętrzny pull-up nie działa z wieloma przyciskami - co robię źle?

    Dzieki wielkie, ustawilem przesunięcie bitowe tak jak powiedziales i zadziałało :)

    Mikrokontrolery Początkujący   08 Wrz 2012 09:14 Odpowiedzi: 2    Wyświetleń: 1758
  • JAVA - Początki z Javą - przesunięcia bitowe

    Witam wszystkich ;) Uczę się samodzielnie javy z książki pt. " Praktyczny kurs JAVA". Mój problem polaga na tym, że zatrzymałem się na zadaniu którego treść brzmi " Zdeklaruj zmienną typu int o dowolnej nazwie. Przypisz jej wartość 256. Wykonaj trzy działania : przesunięcie bitowe w prawo o dwa miejsca, przesunięcie bitowe w lewo o dwa miejsca oraz...

    Programowanie Początkujący   17 Paź 2013 16:15 Odpowiedzi: 6    Wyświetleń: 13491
  • BX9000 Beckhoff: Zapis bitów 8-15 na WORD w TwinCat - błędy w przesunięciu bitów

    Bo zmienna BOOL jest 8-bitowa. W pierwszej kolejności konwersja na WORD a następnie przesunięcie.

    Automatyka Sterowanie PLC   22 Lis 2020 10:32 Odpowiedzi: 2    Wyświetleń: 501
  • [C] Jak zdefiniować nazwy pinów Atmega16 dla wyświetlacza 7-segmentowego?

    Nie pomyślałeś ;-( Sprawdź: 1. co daje przesunięcie bitowe liczby 0 o 5 pozycji 2. jak działa operator bitowy | lub |= Albert

    Mikrokontrolery AVR   24 Cze 2011 20:27 Odpowiedzi: 22    Wyświetleń: 2450
  • Atmega8, kwarc zegarkowy, Timer0 multipleksuje tylko do 64..

    TCCR0 = _BV(x<<CS00); Źle użyłeś makra _BV. _BV(x) jest równoznaczne z ( 1 << x ), czyli w Twoim przypadku próbujesz wykonać podwójnie przesunięcie bitowe. Jeżeli x = 3 (CS00=0): _BV(3<<CS00) = _BV(3) = (1<<3) = 0b00001000 czyli TCCR0 będzie równe 0b00001000 . Innymi słowy, próbujesz ustawić bit tylko do odczytu, zamiast...

    Mikrokontrolery AVR   22 Gru 2010 23:21 Odpowiedzi: 4    Wyświetleń: 2823
  • Atmega - Rejestr przesuwny 74HCT4094 wpisywanie bajtów.

    Dzięki za pomoc BlueDraco, podziałało 1ul << x : ) , nie przyszło mi na myśl że przesuniecie bitowe działa tylko dla 16 bitów, ciągle człowiek się czegoś uczy. Jeszcze raz dzięki i pozdrawiam!.

    Mikrokontrolery AVR   12 Sty 2014 10:12 Odpowiedzi: 4    Wyświetleń: 1569
  • Jak przekonwertować liczby na format BCD dla PCF 8583 w języku C?

    wlasciwie te dwa sposoby to identyczne sa :D... tylko oczywiscie, jesli chodzi o iplementacje, to lepiej stosowac przesuniecie bitowe (pomnozyc przez 2^n to to samo co przesunac liczbe o n miejsc w lewo... dzielenie w prawo :)), gdyz procesor szybciej to liczy :)...

    Mikrokontrolery   01 Wrz 2009 03:19 Odpowiedzi: 7    Wyświetleń: 4417
  • stm32f103rb nucleo HAL funkcja nie zmienia wartości rejestrów

    Dzięki za sugestie. Znalazłem błąd. Błędna była ustawiona kolejność portów. W moim przypadku największym utrudnieniem w programowaniu jestem na tym etapie sam ja. Przesunięcie bitowe, które wskazał Freddie Chopin również było błednie przeze mnie ustawione, zmieniłem i wszystko funkcjonuje jak powinno.

    Mikrokontrolery ARM   02 Maj 2018 16:17 Odpowiedzi: 10    Wyświetleń: 825
  • Dlaczego użyto OR przy przesunięciu bitowym w kodzie z diodami LED?

    Witam Mam następujący kod: [syntax=c] int main() { DDRD = 0xff; PORTD = 0x00; DDRB = 0x00; PORTB = 0xff; while(1) { if(!(PINB & 0x02)) { PORTD <<= 1; PORTD |= 1; _delay_ms(100); } if(!(PINB & 0x04)) { PORTD >>= 1; _delay_ms(100); } } } [/syntax] Oczywiście na początku są includy do io.h i delay.h - mam podlaczone diody pod port D...

    Mikrokontrolery Początkujący   08 Sty 2012 00:50 Odpowiedzi: 3    Wyświetleń: 2111
  • [BK7231N / SM2185N] Spectrum Smart 9W RGBCW light bulb

    Nie, ale komunikacja jest bardzo prosta. https://obrazki.elektroda.pl/7419975100_... To samo z SM2185: https://obrazki.elektroda.pl/2023822600_... Porównaj obrazki, wygląda na to, że się zgadza. (at)lesnyziutek może jest jakieś ewidentne niedopatrzenie lub popełniony błąd, np. czy podczas testów masz uruchomiony sterownik...

    Smart Home Urządzenia   02 Gru 2023 11:12 Odpowiedzi: 16    Wyświetleń: 2565
  • VersaMax - ModbusMaster nie wysyła zapytań po starcie, co robić?

    To przesunięcie bitowe nie działa jak powinno ... Tz wychodzi jak by przechodziło tylko od T11 do T15 i w T15 się zatrzymuję... Jak to zrobić w pętli ? Tz T1,T2,T3,T4,T5,T1,T2 ...itd ?

    Automatyka Przemysłowa   11 Lip 2016 05:54 Odpowiedzi: 15    Wyświetleń: 1032
  • Atmega8 - Timer1 zmiana współczynnika wypełnienia

    Kłopot w tym, że ja wcale nie rozumiem tego fragmentu kodu: [syntax=c] if ((przechowuje = ((przechowuje << 1) & 0x0F) | ostatnia) == 1) { keypin_pressed = 1; } [/syntax] operator "&" - bitowa koniunkcja (AND), << przesunięcie bitowe. Wartość zapisana w przechowuje musi być możliwa do zapisania w formie zero jedynkowej, aby można...

    Mikrokontrolery AVR   24 Lut 2014 18:26 Odpowiedzi: 18    Wyświetleń: 2394
  • Jak wykonać przesunięcie cykliczne 8-bitowego kodu z bitem C?

    Witam. Mam pewien problem. Mam wykonać (na papierze - prowizorycznie) przesunięcia cyklicznego w prawo i w lewo (jak dotąd rozumiem, umiem) z uwzględnieniem bitu C. No i tu zaczynają się schody. Wymęczyłam wujka google i nic nigdzie nie znalazłam.. :( Zadanie to mam wykonać na kartce, dla 8 bitowego kodu binarnego. I przesuwać kolejno o 1, 2, 4, 5 bitów....

    Programowanie Początkujący   08 Cze 2012 00:30 Odpowiedzi: 3    Wyświetleń: 2288
  • Dostęp do bitu określonego przez zmienną w Step7.

    Może mało eleganckie rozwiązanie, ale: 1. Skopiować zmienną Kontrola_produktu do zmiennej tymczasowej. 2. Użyć rozkazu przesunięcia bitowego w prawo na zmiennej tymczasowej. Przesunięcie o N bitów, gdzie N to zmienna Miejsce_kontroli. Wynik zapisać do zmiennej tymczasowej 3. Użyć rozkazu iloczynu bitowego z 2 zmiennych: zmiennej tymczasowej i liczby...

    Automatyka Przemysłowa   19 Lip 2011 10:58 Odpowiedzi: 6    Wyświetleń: 2333
  • I2C Atmega16 i AT24C04 w C – konfiguracja SCL/SDA, adresowanie, zapis TWDR

    Przesunięcie bitowe jedynki w lewo o PD1 miejsc. A PD1 = 1 czyli : 0 0 0 0 0 0 0 1 << 1 = 0 0 0 0 0 0 1 0

    Mikrokontrolery   17 Wrz 2007 06:50 Odpowiedzi: 7    Wyświetleń: 1203
  • Niestabilne wyniki pomiaru napięcia 12-bitowego w ATXMEGA32E5 - co sprawdzić?

    Ale mi zależy na bardzo uśrednionym wyniku. Mierzę temperaturę średnią w odcinku 5 minut. Nie zależy mi na szybko zmiennych odczytach. Od siebie tylko dodam, że w tej Xmedze ADC posiada funkcję uśredniania wyników. Wystarczy wybrać liczbę pomiarów i przesunięcie bitowe wyniku.

    Mikrokontrolery AVR   01 Cze 2016 22:08 Odpowiedzi: 24    Wyświetleń: 1908
  • Odczyt DS18B20 z Atmega16 - brak MSB, tylko LSB się zmienia

    uwaga techniczna - przy dzieleniu przez potęgę dwójki, lepiej jest robić przesunięcia bitowe, gdyż zajmują wiele wiele mniej operacji. http://www.atmel.com/dyn/resources/prod_... tutaj możesz zobaczyć na pierwszej stronie ile co zajmuje operacji. Przesunięcie bitowe to jedna instrukcja... :)

    Mikrokontrolery AVR   24 Sie 2010 21:00 Odpowiedzi: 59    Wyświetleń: 5056
  • C++: Jak efektywnie wyodrębnić i zakodować cyfry z tablicy int?

    mozesz mi tylko wytlumaczyc jak dziala ta petla while a raczej to w niej bo jakos nie moge tego rozszyfrowac :] Moze w ten sposob bedzie bardziej czytelne: while(rozmiar >= (1 << i)){++i;} (1 << i) to po prostu przesuniecie bitowe (przesuniecie "1" o i bitow w prawo). Aby wiedziec, ile bitow wystarczy do zapisania...

    Programowanie   05 Mar 2006 00:30 Odpowiedzi: 5    Wyświetleń: 1214
  • C++ - kopiowanie sklejonych tablic znakowych do innej tablicy

    Prawie tak, jak myślisz, z tym że nie masz co zamienić liczby na binarną, bo już taką masz w komputerze. ;) Wyznacz resztę z dzielenia przez 2, dodaj ją do sumy, wykonaj przesunięcie bitowe w prawo o jeden. I tak 32 razy. Teraz zapisz to sobie w kodzie.

    Programowanie   25 Lut 2013 19:46 Odpowiedzi: 21    Wyświetleń: 2109
  • Termometr LCD na ATmega8 - nieprawidłowe znaki po stopniu Celsjusza

    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

    Mikrokontrolery AVR   15 Gru 2011 00:32 Odpowiedzi: 43    Wyświetleń: 9444
  • Dlaczego przerwanie timera w ATmega8 nie działa? Dioda na PB1 nie świeci

    Tez mi sie wydaje dziwne ze nie mozna tak zrobic ale niestety tak jest.Zrozumielem dokladnie o co ci chodzilo jako ze kiedys sam lamalem sobie glowe nad asmem ale w razie jakby chciec to zrobic w ten sposob lepiej jest dac przesuniecie bitowe bo bedzie ono efektywniejsze.

    Mikrokontrolery   21 Kwi 2005 20:07 Odpowiedzi: 18    Wyświetleń: 10049
  • C++: Jak utworzyć tablicę 55 nieparzystych liczb i przesunąć ją o 3 miejsca?

    Bitowe OR czyli ustawi najmłodszy bit na 1 czyli będzie nieparzyste np. 2 binarnie to 10 3 binarnie to 11 Dodano po 2 same parzyste liczby k=( (rand()%118) -9) &(~1); ~ oznacza negacje bitową.

    Programowanie Początkujący   16 Lis 2014 23:51 Odpowiedzi: 9    Wyświetleń: 2220
  • Odczyt danych z DHT11 przez Atmega 8 w C++: błędny odczyt CRC, temperatura i wilgotność wynoszą 0

    Witam ponownie, Już praktycznie panuję nad tym programem, robię na nim różne eksperymenty "naukowe" :). Ale jednej rzeczy nie rozumiem i nie znalazłem nigdzie wytłumaczenia. Chodzi o ustawianie bitów przez przesunięcie bitowe w lewo. Tu fragment, który mnie niepokoi: [syntax=c]#define DHT11_INPUTPIN PC4 . . . . . DHT11_DDR |= (1<<DHT11_INPUTPIN);...

    Mikrokontrolery AVR   03 Gru 2021 17:57 Odpowiedzi: 29    Wyświetleń: 1230
  • Atmega328p: Generowanie PWM 3k-50kHz w trybie CTC, problem z częstotliwością

    U mnie nie działa... Sam nie wiem, podobno można to w łatwy sposób rozwiązać sprzętowo. No nic, będę dalej próbował. Co rejestrów to jakoś tak się nauczyłem, a jak mam większą liczbę to z pomocą przychodzi mi kalkulator:) Chociaż pewnie przesunięcie bitowe jest łatwiejszą operacją. Dzięki z pomoc. Pzdr

    Mikrokontrolery Początkujący   30 Paź 2013 22:20 Odpowiedzi: 5    Wyświetleń: 1653
  • [ATmega32][ASM][AVR Studio 4] prosty sterownik silnika krokowego

    No ale to już chyba taki szczegół...przesunięcie bitowe, a raczej rotacja bitów zamiast ustawiania sbi na "chama". To już jest taki zabieg kosmetyczny chyba, narazie wolałbym pogłówkować się nad przerwaniami, jak wdrożyć je w kod. Chyba, że czegoś nie zrozumiałem :) Ale i tak dzięki za podpowiedź, bo na pewno skróci to mój kod.

    Mikrokontrolery AVR   24 Paź 2011 10:37 Odpowiedzi: 7    Wyświetleń: 2164
  • ADC w ATmega128 czy poprawnie napisałem obsługę PWM

    Sorki błąd PWM jest 8 bitowy czyli max OCR0 = 255 Czyli nie wiem czy ja w tej chwili dobrze kombinuje jeżeli nie to mnie popraw wypelnienie>>4 ma być zamiast 4 wpisane 2 jako przesunięcie bitowe w prawo

    Mikrokontrolery AVR   15 Kwi 2015 08:43 Odpowiedzi: 8    Wyświetleń: 1101
  • Jak dodać zegar do termometru DS18B20 na AT89S8252 bez zakłóceń?

    Tak na wszelki wypadek mozesz poczekac wiecej niz 250 ms (sugeruje poczekac 750 ms tyle co dla DS18S20).Moja uwaga co do samego programu: nie znam sie na bascomie ale nie ma tam przypadkiem czegos takiego jak przesuniecie bitowe >> i << ? Przeciez zarzynasz ten biedny procek dzieleniem i mnozeniem arytmetycznym !

    Mikrokontrolery   28 Lip 2004 07:03 Odpowiedzi: 32    Wyświetleń: 9244
  • [lua] BME280 - Jak prawidłowo odczytać temperaturę z rejestrów 0xFA-0xFC?

    Czy błędnie obliczona wartość wilgotności może mieć związek z tym, że w pewnym momencie przesunięcia bitowe prowadzone są na liczbie ujemnej -38 ? Jeśli przesunięcie bitowe byłoby robione w C/C++ to nie spodziewałby się problemów ale w Lua to ciężko stwierdzić. Chyba najprościej będzie Ci sprawdzi na piechotę na jakimś przykładzie np. zadeklaruj wartość...

    ESP8266 i ESP32   21 Lut 2019 12:44 Odpowiedzi: 49    Wyświetleń: 4557
  • Jak ominąć delay() w AVR Studio i sprawdzić wciśnięcie przycisku?

    Dzieki za pomoc udalo mi sie zrobic dzialaja przyciski, uP reaguje na nie, ale mam pytanie o ta instrukcje: if((PINB&(1<<PB0))==0) PINB oznacza pine portu B ale nie pisze jaka tylko ogolnie? &-wskaznik czyli w tym momencie jak dziala? 1<<PB0 -przesuniecie bitowe o 1 bit w lewo to wiem, ale dlaczego przesuwamy?Po co to przesuniecie?...

    Mikrokontrolery   07 Mar 2007 09:34 Odpowiedzi: 7    Wyświetleń: 1170
  • [C/C++] Jak przesunąć elementy tablicy znaków w C++? Cześć

    Cześć, mam przykładową tablicę znaków: [syntax=c] char tab[6] = {'1', '2', '3', '4', '5', '6'}; std::cout << tab[0] << std::endl; // wyswietla 1 [/syntax] czy można na takiej tablicy zastosować operacje przesunięcia bitowego? Jeśli tak, to w jaki sposób to zrobić? Chciałbym, żeby pierwszym elementem tablicy po zastosowaniu przesunięcia bitowego...

    Programowanie Początkujący   12 Cze 2017 20:14 Odpowiedzi: 9    Wyświetleń: 2634
  • Jak ustawić rozmiar stosu w kompilatorze avr-gcc (WinAvr).

    <<1 to przesunięcie bitowe w lewo, czyli pomnożenie przez 2. Używa się go w w/w przypadku, bo adres w pamięci programu dotyczy danych 16bit, a odczyt zawartości poprzez adresowanie rejestrem Z i instrukcją lpm jest 8bit. A zadałem takie pytanie, bo mozliwe, że w tym makro jest to już uwzględnione.

    Mikrokontrolery   05 Maj 2005 10:38 Odpowiedzi: 13    Wyświetleń: 3594
  • LCD 4x20 z przesuwanym i migającym kursorem w 4 wierszu

    komunikat jest jasny - nie można przesuwać bitu o niecałkowitą liczbę. To tak jakby w sali było 37.4 osoby ;d (ADCH<<2*2.56) poczytaj o priorytetach operatorów w C. Mnożenie ma większy priorytet niż przesunięcie bitowe więc chcesz przesuwać o 5,12 bita w lewo

    Mikrokontrolery AVR   06 Wrz 2010 22:14 Odpowiedzi: 122    Wyświetleń: 9164
  • Konwersja odczytu IEEE 754 na inny format, np. int.

    poziom:=cisnienie* 10.19716; (*wartosc rzeczywista - przeskalowanie ciśnienia na wysokosc slupa wody*) poziomCentymetry:=TRUNC(poziom*1... (*poziom w centymetrach+ odcięcie czesci po przecinku*) 1. czyli poziomCm = cisnienie * 1019.716, spodziewasz się wartości od 0 do 1000 cm, więc cisnienie < 1.0 bar 2. ciśnienia...

    Automatyka Przemysłowa   01 Mar 2011 10:18 Odpowiedzi: 11    Wyświetleń: 3754
  • Jak działa #define LED_PIN (1<<PC7) w programowaniu mikrokontrolerów?

    Witam, zaczynam zabawę z programowanie mikrokontrolerów.Wszystko mi ładnie działa, tylko nie rozumiem niektórych elementów kodu, który wklepuje. np. #define LED_PIN (1<<PC7) nie chodzi mi tutaj o samo użycie funkcji tylko o to jak za pomocą tego kodu definiowany jest pin PC7? Jaką daje wartość to przesunięcie bitowe? Nie wiem, skąd wziąć wartość...

    Mikrokontrolery AVR   13 Paź 2011 10:52 Odpowiedzi: 8    Wyświetleń: 1512
  • Obliczanie średniej 10 liczb typu char w C na '51/'52 - konwersja int do char?

    Działanie suma = suma << 1 to mnożenie przez 2. Dzielenie realizuje się przesuwając w prawo a nie w lewo. Dodatkowo można w ten sposób dzielić tylko przez kolejne potęgi liczby 2, a ponieważ 10 nie jest potęgą 2, więc nie da się dzielić przez 10 poprzez przesunięcie bitowe. Porponuję zrobić dzielenie przez 8 lub przez 16 (przesunięcie o 3 lub...

    Mikrokontrolery   21 Cze 2004 21:03 Odpowiedzi: 4    Wyświetleń: 1014
  • c++ - Optymalizacja obliczeń dużych potęg liczby 2 do 1 000 000

    Sekundę, ale gdzie jest ta potęga? Ja tu widzę ciąg 2 * 2 = 4; 4%10 = 4 4 * 2 = 8; 8%10 = 8 8 * 2 = 16; 16%10 = 6 6 * 2 = 12... A na marginesie, potęgowanie liczby 2 to nic innego jak przesunięcie bitowe o 1 w lewo, które jest 20 razy szybsze od mnożenia.

    Programowanie Początkujący   11 Gru 2014 10:10 Odpowiedzi: 7    Wyświetleń: 2427
  • STM32 NUCLEO-F446RE - problem z zapalaniem i gaszeniem diody LED na PA5

    Mam pytanie, a jeżeli robimy to przesunięcie bitowe GPIOA->BSRR = 1 << 5; a potem GPIOA->BSRR = 1 << 21; czy to jest równoznaczne z wpisaniem: GPIOA->BSRR = 0x20; GPIOA->BSRR = 0x200000; 1<<5 == 10 0000b == 0x20 1<<20 == 1 0000 0000 0000 0000 0000b == 0x100000 1<<22 == 10 0000 0000 0000 0000 0000b == 0x200000

    Mikrokontrolery ARM   04 Gru 2016 18:27 Odpowiedzi: 17    Wyświetleń: 1317
  • Re: Anduino Leonardo - Regulacja PWM poprzez napięcie na ADC

    2. Uzyj funkcji map https://www.arduino.cc/en/Reference/Map aby przeskalować z wartości 10 bitowej do 8 bitowej przyń bitowo o 2 miejsca w prawo. Nie potrzebna jest do tego biblioteka. Tak masz rację, do takiej prostej konwersji wystarczy przesunięcie.

    Arduino   30 Lip 2016 15:10 Odpowiedzi: 8    Wyświetleń: 1812
  • [c] Jak działa konwersja binarnego na dziesiętny w C? Wyjaśnienie kodu

    Zaczynasz wprowadzanie znaków od najstarszych pozycji, nie? Jeśli zaczniesz od 0, to będziesz miał (na starcie) liczba = 0 liczba = 0*2 + '0' - '0' // kody ascii objaśnił Łuk_F czyli liczba się nie zmieni, ciągle będzie wartość 0. Gdy trafisz na pierwszą jedynkę dostaniesz liczba = 0*2 + '1' - '0' czyli w liczbie pojawi się 1. Kolejna jedynka liczba...

    Programowanie   27 Lis 2008 08:59 Odpowiedzi: 4    Wyświetleń: 1127
  • Atmega8 - Nieprawidłowe działanie diod LED i przycisków na portach PD i PB

    PORTB=0xFF; czyli PORTB= 1111 1111 PINB = 0001 0000 Używając & przycisk PB4 powinien otrzymać wartość 1, czyli, że jest wciśnięty. Dobrze będę stosować przesunięcie bitowe. Niestety, ale kompiluje na razie w Programmer's Notepad, ale fusebity ustawiłem w twoim programie na 12 Mhz i taki oscylator mam wpięty do nóżek XTAL1 i XTAL2 (czyli 1 nóżka kwarcu...

    Mikrokontrolery Początkujący   27 Sie 2013 20:14 Odpowiedzi: 27    Wyświetleń: 2739
  • MBI5031 - funkcja pinu GCLK w schemacie układu

    ... poprzez odpowiednie przesunięcie bitowe. Myślałem o tym ale tak się składa że potrzebuje 40 i 80mA. W ogóle to się zastanawiam czy nie postawić tego wszystkiego na PIC18f23k20- cena nawet będzie niższa, 16MIPSów ma, ale muszę zbadać empirycznie czy to się w C sensownie wyrobi w czasie (20 porównań z prędkością 25kHz, UART 250k i jakaś drobnica w...

    Mikrokontrolery   04 Mar 2016 18:28 Odpowiedzi: 70    Wyświetleń: 10540
  • Jak skonfigurować rejestry ADC w Atmega8 do odczytu potencjometru?

    Jak teraz patrzę to źle napisałem wartości w ADCH :) Ale mnie więcej o to mi chodziło. Tak czy siak, zależy od ustawienia ADLAR. Jeśli ADLAR ustawiasz na "0" to wynik masz przesunięty do prawej dwóch 8-bitowych rejestrów. A więc jeśli interesuje cię wynik 8 bitowy to nie możesz wziąć ADCH, bo będziesz miał tylko 2 MSB a co z resztą? Jeśli ustawisz ADLAR...

    Mikrokontrolery AVR   20 Lut 2012 08:56 Odpowiedzi: 23    Wyświetleń: 6248
  • [C] Jak poprawnie użyć #define do obliczeń KHZ2MS w C?

    #define KHZ2MS(x) (1/(x))*1000 1<<KHZ2MS(27) liczy się jak 1<<(1/(27))*1000 czyli daje w wyniku 1. Ja sobiście nie wiem gdzie w tym przykładzie była by jakaś zachycka bo akurat przesunięcie bitowe jest w kolejności wykonywania za mnożeniem i dzieleniem

    Mikrokontrolery   11 Paź 2008 22:26 Odpowiedzi: 10    Wyświetleń: 7165
  • STM32F407 - Jak ustawić priorytet przerwania dla EXTI5 i wyższych?

    Ja zrobiłem bezsensownego ora tylko w przykładzie, funkcja CMSIS robi za to bezsensownego anda i o jedno bezsensowne przesunięcie bitowe więcej Biorąc pod uwagę fakt, że 99,666% przypadków użycia tej funkcji to stały parametr, myślę że optymalizator sobie z tymi przesunięciami poradzi. Teraz sprawa się nieco komplikuje, ale to nie problem. Komplikacja...

    Mikrokontrolery ARM   16 Gru 2013 11:09 Odpowiedzi: 15    Wyświetleń: 2076
  • Jak zredukować błąd całkowania w żyroskopie LISY300AL?

    Da się zrobić tylko układ będzie trochę bardziej skomplikowany. Można odsunąć akcelerometry (żyro pomiędzy) od siebie i mierzyć przyspieszenia liniowe i odśrodkowe i na tej podstawie np. przy dodatkowym użyciu FK liczyć obrót. W segway masz kilka żyroskopów ustawionych pod różnym kątem do siebie. Temat jest bardzo ciekawy. Od rozwiązań prostych do bardzo...

    Robotyka Modelarstwo i CNC   08 Lut 2012 08:58 Odpowiedzi: 18    Wyświetleń: 5068
  • Jak podzielić liczbę 14-bitową na dwie 8-bitowe w zapisie dziesiętnym?

    ok, już wyjaśniam - operacje bitowe wykonują się dużo szybciej niż dzielenie, przykładzik: liczba AND 255 - zerujemy wszystkie bity oprócz ostatnich ośmiu które pozostają bez zmian. Jest to odpowiednik reszty z dzielenia przez 256. przesunięcie bitowe w prawo jest odpowiednikiem części całkowitej z dzielenia przez jakąś potęgę dwójki - przesunięcie...

    Programowanie   07 Lip 2006 08:16 Odpowiedzi: 4    Wyświetleń: 1398
  • Zasilacz laboratoryjny z uC - problem z PWM i ustawieniem timera w C

    Podaj typ procesora. I nie pisz takich potworków: "TCCR0|=0b01011001; //licznik T0 tryb pWM , prescaler " Bo to wymaga sięgania do dokumentacji danego procesora i studiowania co autor zrobił. Zastosuj makro _BV albo przesunięcie bitowe. Każdy bit w takich rejestrach ma swoją nazwę. Poza tym flaga w TIFR sama się wykasuje tylko wtedy gdy jest obsłużone...

    Mikrokontrolery AVR   27 Sty 2011 23:29 Odpowiedzi: 9    Wyświetleń: 2283
  • Lampka RGB na ATiny2313 by pawel.kn.

    1 << XXX ( gdzie XXX = np 5) ( 000000001 << XXX ) to jest to samo co 0000100000 Czyli zwykłe przesunięcie bitowe, w tym przypadku w lewą, a wszystkie pozostałe miejsca które "ciągną się za 1 są zerami. no wlasnie tak myslalem... ale nie ropzumiem w takim razie co ma robic instrukcja np... DDRB |= 1<<PORTB2; jak ona zadziala??

    DIY Konstrukcje   11 Lis 2010 14:58 Odpowiedzi: 110    Wyświetleń: 73978
  • Różne rodzaje języka C - błędy, frustracja, co wybrac?

    Operatory postaci: zmiennaA += zmiennaB; zmiennaA |= zmiennaB; zmiennaA &= zmiennaB; //itp... są równoważne zapisowi: zmiennaA = zmiennaA + zmiennaB; zmiennaA = zmiennaA | zmiennaB; zmiennaA = zmiennaA & zmiennaB;//itp... Co do samych operatorów: "|" to bitowe OR "&" to bitowe AND "~" to bitowa negacja. Zapis (1 << 3) to przesunięcie...

    Mikrokontrolery   25 Cze 2010 17:02 Odpowiedzi: 5    Wyświetleń: 1728