Rozumiem ze to opiera sie na zasadzie, ze PRAWDA jest w kazdej sytuacji kiedy jest NIEFAŁSZ? Bo jeśli maski się spasuje na jakimś miejscu to wynikiem iloczynu bitowego moze byc 00001000 i wtedy jest PRAWDA, a w przypadku kiedy maska sie nie spasuje bedzie 00000000 i to jest FAŁSZ tak? Tradycyjne C nie ma typu boolean, więc tak. Warunek jest spełniony,...
Ja tez nie kumalem tego kiedys .. poszukaj ,poczytaj i zrozumiesz:) ps1- http://galaxy.uci.agh.edu.pl/~chwastek/l... na tej stronce masz kurs samego C , tam sa wytlumaczone operatory itp rzeczy. ps2 . co_dana & 0x80 - jedno & oznacza iloczyn (AND) bitowy tzn: mamy np to zmienna co_dana ktora ma powiedzmy wartość 185 - binarnie...
Tak jak napisał kolega wyżej... Jeżeli potrzeba więcej niż jeden bit to przez maskę bitowa zmienna = portA & 0x1F
GPIO_ODR_ODR15 to maska bitowa, a nie numer bitu - podejrzyj sam jaką ma wartość. 4\/3!!
No wszystko wygląda ok, dziwi mnie tylko maska 16 bitowy dla klasy A, ale jeśli wszystkie ustawienia adresu są z DHCP to ok. Jaki IP jest przypisany do komputera mamut.mamut ? Albo podaj jeszcze co otrzymasz jak wpiszesz route -n
W zasadzie wszystko co potrzeba napisałem... dalej zostają tylko obliczenia i odrobina myślenia. W ćwiczeniu 6 "jedynki" maski obejmują dwa pierwsze oktety adresu IP, więc te dwa oktety (w całości, nie trzeba nic przeliczać) stanowią adres sieci. Dwa pierwsze oktety obu adresów są takie same, więc należą do tej samej sieci (mają ten sam adres sieci)....
Np. testuj każdy przycisk osobno i zapalaj każdą diodę osobno wg stanu przycisku. Wcześniej zdefiniuj maski bitowe przycisków i diod. if (inputB & PRZYCISK1) PORTA |= LED1; else PORTA &= ~LED1;
Poszczególne bity tego rejestru pozwalają ci "zamaskować" określone przerwania Wyjaśnienie terminu maska bitowa znajdziesz np na Wikipedii [url=http://en.wikipedia.org/wiki/Mask_%...
Troche skomplikowanie to wygląda - ale ja nie znam C++ :-) Rozumiem, ze to czesc wiekszej całości? Działa? Ja osobiście podziały bajtów (lub liczb wielobajtowych) realizuję (podobnie jak koledzy wyżej) przez maskowanie odp. fragmentów bajtów (lub większych wielobajtowych zmiennych) za pomocą masek bitowych + odpowiednie przesunięcia bitowe.
Skoro są wyzerowane, to widać powinny być, jakie to ma znaczenie? Skoro wpisujesz coś do tego rejestru to i tak musisz stan tych bitów ustalić... A sprawdzenie można zrobić tak jak w przypadku portów, tyle, że zamiast UCSZ1, które zawiera tylko numer bitu należy zastosować (1<<UCSZ1) lub _BV(UCSZ1), żeby zamienić nr bitu na maskę bitową.
A co to takiego? # define LED_RED _BV(3) Makro _BV(x) zwraca wartość pinu a Ty chcesz zdefiniować jego numer. Wystarczy więc po prostu: #define LED_RED3 Podobnie w pozostałych przypadkach. Przecież zastosowanie tam _BV jest całkowicie poprawne. Potrzebuje maskę bitową do funkcji sterujących LEDami, a nie nr pinu.
Skoro sam napisałeś ten program, to czemu innych pytasz co oznaczają 0x7F i 0x80? Śmiem wątpić w twoje autorstwo, ale odpowiem: - 0x7F to maska bitowa, w której jedyny skasowany bit to bit 7. 0x80 to maska bitowa, w której jedyny ustawiony bit to bit 7. O pojęciu maski, bitu i bajtu nie będę pisał. - Maski te są wykorzystywane przy ustawianiu odpowiedniego...
Witam! ad 1 podpunkt; Jeśli jako wynik pobierasz zawartość rejestru po przesunięciu bądź przesunięciach to możesz przesuwać dowolną liczbę razy, a jeśli wynik składasz z wyjścia to conajmniej tyle razy z ilu bitów składa się zadeklarowana przez Ciebie zmienna. Poniżej podałem przykład funkcji obsługijącej rejestr: przesun32() ad 2 podpunkt: Tak, zadeklarowaną...
Przeanalizowałem kod z przykładu pobranego ze strony NXP "Sample Code ADC" (kod niestety nie działa... ;/) i z dokumentacją napisałem kod, który zatrzymuje się w funkcji int ADC_GetData (uint8_t ChannelNumber) przed linijką [syntax=c]LPC_ADC->ADCR |= (1<<ChannelNumber);[/syntax] i nie wiem dlaczego tak to się zachowuje :?:. [syntax=c]#include...
Przy aktualnym nagłówku nie wystarczy (patrz MSDN biBitCount ). Można zastosować inny nagłówek (BITMAPV4HEADER, BITMAPV5HEADER) i zdefiniować w nim maski bitowe pasujące do RGB565 albo skonwertować dane do RGB555 (tutaj i tak są odczytywane programowo, więc nie będzie to wieki koszt).
Czytałem podręcznik XC8 C Compiler User's Guide, również punkty poświęcone strukturom i wskaźnikom, oraz polom bitowym i jakoś mnie to nie oświeciło w kwestii definiowania prototypu funkcji z aliasami definiowanymi gdzieś indziej, bo na tym polega mój problem. Bardziej przydatny byłby podręcznik C, a nie jakiejś konkretnej implementacji w postaci kompilatora....
Klasyczny błąd obsługi wyświetlacza plus kilka innych błędów, które popełniłeś w tym kodzie dają razem takei właśnie efekty. "Klasyczny błąd obsługi wyświetlacza" polega na tym, że przed wystawieniem obrazu cyfry nie wyłączasz poprzedniej. Powinno być tak: - wyłącz cyfrę - podaj segmenty dla nowej - włącz nową cyfrę Nie potrzbujesz też żadnych if-then-else...
Oczywiście RCC_AHBENR_GPIOEEN nie mam A niby czemu? Nazwy bitów są zdefiniowane w pliku nagłówkowym i przepisywanie tego na nowo nie ma sensu ;) Nie mówię o korzystaniu z funkcji biblioteki! Tylko z pliku nagłówkowego mikrokontrolera. Bit IOPEEN to 21-szy bit w rejestrze RCC_AHBENR, stąd maska bitowa: 1<<21 = 2097152 = 0x200000. Swoją drogą zwróć...
setb p1.2 Radzę zapoznać się lepiej z architekturą 8051 - najlepiej z dokumentacji Philipsa (NXP): [url=http://www.nxp.com/acrobat_download... [url=http://www.nxp.com/acrobat_download... Guide + lista rozkazów [url=http://www.nxp.com/acrobat_download...
Przecież napisałem: Chciałbym napisać w języku C++ program dla ATmegi8, który w zależności od stanu rejestru PIN (np. w moim przykładzie PINC) oraz określonych masek bitowych generuje określone wyjście (na port B). Oczywiście fragment kodu, który jest odpowiedzialny za konfigurację portów (kierunek, stan) jest prawidłowy. Poza powyższym fragmentem...
Nie wiem czy tak samo rozumiemy "kodować bitowo"? Mam na myśli tzn maskę bitową 8 bitów czy 4 bitów czyli 4 lub 2 pary 2 bitowych wartości, pozwala zapisać 4 x 4 lub 8 x 4 różnych wartości.
void oznacza że funkcja nie zwraca żadnej wartości. Zmienna i to licznik pętli, tak jak w kodach wyżej, z każdym wykonaniem pętli jest zwiększana i dzięki temu kolejne cyfry rozwinięcia są zapisywane na kojelnych miejscach w tablicy. Wyrażenie 'break' kończy pętle, tu użyte jest gdy liczba jest mniejsza od 2 (wtedy nie trzeba jej specjalnie zamieniać...
Maska TCP/IP dla sieci wewnętrznej nie może być 8 bitowa (255.0.0.0) tylko 24 bitowa (255.255.255.0). Maska 8 bitowa używana jest tylko dla loopback'a, czyli pętli zwrotnej. Twoje adresy na poszczególnych interfejsach sieci wewnętrznej to. Host1 eth0 Konfiguracja zgodna z zaleceniami providera eth1 10.0.0.1 255.255.255.0 Host 2 10.0.0.2 255.255.255.0...
przy udostepnianiu pol. internetowego nawet nie trzeba podawac adresacji. XP ma w sobie w tym przypadku wbudowany server DHCP ktory rozda sam adresy. Wystarczy zeby klient podpiety pod ten XP mial wlaczony DHCP dla IPv4. Lub adresacje z zakresu 192.168.0.0\24 czyli np. adres 192.168.0.2 maska 24 bitowa.
The very first step jest modyfikacja pliku stm32_eth.h, plik ten zawiera definicje adresu rejestru statusowego zastosowanego PHY, oraz definicje masek bitowych zawierających informacje na temat położenie bitów prędkość oraz duplexu w tymże rejestrze. W przypadku ste100p jest to rejestr “XCVR Configuration Information and Interrupt Status Register”...
Rzeczywiście maska jest błędna. Wogole takiej maski nie przyjmie jest bitowa dziura 11110010 w trzecim bajcie - wystarczy 255.255.255.0
Jedyne, których nie mogę zrozumieć, to flagi i dowództwo. Czy to tylko całkowita maska bitowa wszystkich aktywnych flag? Mój nie zapełnia się w aplikacji internetowej - a new_pins.h nie definiuje żadnych flag powyżej bitu 9? Ponadto aplikacja internetowa nie przechwytuje „polecenia”, ale jest wymieniona w pliku readme? Dodano po 14 Utworzono PR dla...
Po pierwsze, używaj aktualnych plików nagłówkowych, z rejestrem BSRR i bez BSRRH/BSRRL. Po drugie - co jest szybciej napisać: GPIO_BSRR_BR_15 czy 1u << 15 << 16 ? Moim zdaniem radosna twórczość w postaci tworzenia definicji zawierających długie nazwy z NUMERAMI bitów na końcu jest tylko zaciemnianiem programu (słynne Atmelowe 1 <<...
Jeśli w komputerze mam ustawiony adres IP automatyczny, Polecenie ipconfig wpisane do cmd wyświetli ci adres IP komputera plus adres bramy czyli routera. Przy masce 24 bitowej najlepiej ustawić adresy IP drukarek tak aby nie kolidowały z zakresem serwera DHCP ustawionego na routera. Przykład: 192.168.0.1 - adres IP routera. 192.168.0.2 do 192.168.0.100...
Witam Obojętnie w jakim języku piszesz możesz skorzystać z "maski bitowej": Jeśli na którymś miejscu chcesz ustawić 1 to należy tą liczbe potraktować operacją logiczną OR z liczbą która na ineresującym miejscu (-ach) będzie miała 1 a na pozostałych 0. Np. 1010 OR 0100 ________ 1110 Jeśli na którymś miejscu (-ach) chcesz ustawić 0 to należy tą liczbe...
Takie operacje na bitach w strukturach nazywane są polami bitowymi. Jeżeli chcesz gdzieś zmieścić wartość 10 bitową, to przecież możesz przechowywać tę wartość w zmiennej o wielkości 16 bitów. Co do używania struktur z polami bitowymi i rzutowania na nie innych wartości, to zwróć uwagę, że są to elementy wrażliwe na kolejność przechowywania bajtów w...
Dziękuję koledze LordBlick, poprosiłem go o odblokowanie tematu, bo wydaje mi się, że mimo pozornej prostoty problemu warto się nad nim chwilę zastanowić. Zanim przejdę do odpowiedzi na post #3, powiem dwa słowa o makrodefinicjach. Wiele osób z nich chętnie korzysta, w pokazanym wyżej przykładzie zdecydowanie lepiej posługiwać się makrami LED_ON i LED_OFF...
Zastanów się co się stanie, gdy zwiększasz wartość zapisaną w rejestrze PORTB na początku pętli nieskończonej: PORTB = 0b00001000 - mamy włączone podciąganie W czasie przyciskania: PORTB = 0b00001000 PORTB = 0b00001001 PORTB = 0b00001010 PORTB = 0b00001011 PORTB = 0b00001100 PORTB = 0b00001101 PORTB = 0b00001110 PORTB = 0b00001111 PORTB = 0b00010000...
AVE... Odsyłasz do noty bo nie potrafisz napisać programu, który osiągnie max bez DMA. Czy tak ciężko przyznać, że nie masz racji? Jak napisać taki program napisałem w spoilerach. Jeśli nie możesz tego odczytać, to może powinieneś iść do okulisty? Co do GPIO to w przypadku PIC i XC8 nóżką manipulować można na kilka sposobów: 1. Można bawić się w maski...
ad.2. NAT-a używamy przy łączeniu się z siecią Internet dla oszczedności adresów publicznych oraz na styku niezależnych sieci prywatnych w przypadku pokrywania się adresacji. Stosowanie NAT-a w jednej sieci prywatnej to proszenie się o poważne problemy komunikacyjne i ogromne problemy z konfiguracją. ad.1. Zadresowałeś źle! Sieci sieci poszczególnych...
Bardzo dziekuję za pomoc. Ostatecznie zastosowałem iloczyn i maski bitowe, wszystko działa jak chciałem!
A co chcesz przesuwać? Co chcesz uzyskać w ten sposób? Maskę bitową?
Standard języka C jasno mówi, że ułożenie bitów w jednostce alokacji zależy od danej implementacji kompilatora (implementation defined). To jest teoretyzowanie, a ponieważ wszyscy prawie w uC używamy gcc to problemu nie ma. Wiele architektur ma sprzetowe wsparcie dla pól np Cortexy. Zgadza się, wspomniałem bo pojawiały się już ciekawe interpretacje...
nie ma takiej możliwości, trzeba ręcznie wyciągać bity z bajtów (maski bitowe, logiczny and i or)
Zobacz na maski bitowe w makrach LED_0_ON i LED_0_OFF - są takie same. On kasuje bit 6, pozostałe nie zmieniając, z kolei off ustawia wszystkie bity z wyjątkiem b6. W efekcie nic się na porcie nie zmienia.
ADC_CR2_CAL to stała maska bitowa. W ogóle teraz nie czekasz, bo Twoje "oczekiwania" wyglądają mniej-więcej tak: while (!1);
Start: -nadawanie wartości stałym i bitom -zezwolenie na przerwania itp. (timer pierwszy ustawiony na odliczanie 1ms) Loop: -czy było przerwanie? jeśli nie, skacz do Main_loop jeśli było przerwanie: -zapomnij o przerwaniu zliczam 1000, przerwań (4 x po 250) w celu uzyskania 1s jezeli wciaz nie ma 1000, jump -> Main_loop, jeżeli jest już 1000 skaczę...
Co do pinu będocego wejściem to zastosuj podciąganie zewnętrzne jak na maskę bitową nie masz już czasu.
Nie uzywam zadnych masek. Wszystkie routery maja skonfigurowane porty WAN statycznie. Natomiast lan-y przydzielaja adresy przez dhcp. maska sieci jest integralnym składnikiem adresu ip i chcąc niechcąc musisz jakieś mieć wpisane np 255.255.255.0 lub inna podobna pytam się bo z tego co widzę każde z urządzeń jest w innej sieci klasowej, zapewne używasz...
To pewne, że ten mikrotik ma 31 bitową maskę?
To jest konwersja na ASCII, np. do wyświetlenia na LCD lub terminalu. Pytania, które zadajesz, nie dotyczą mikrokontrolerów, a podstaw języka C. p jest zmienną wskaźnikową, czyli adresową. *p ++ = x - to zapis x pod adres zawarty w p i zwiększenie tego adresu, tak, aby p wskazywała następny bajt bufora. Jedynka w apostrofach - to znak ASCII - cyfra...
Oj nie bądźcie tacy elektrodowi, bo już memy o tym są. To ja może tak: Podane adresy są adresami sieci. Pierwszy dostępny adres w sieci to adres sieci +1, drugi +2. W twoim przypadku w LAN 1 pierwszy adres 192.168.n.113, w LAN 2 10.n.128.1 (nie wiem od czego zalezy n) Maska podsieci jest przypisana do podsieci i oblicza się ją na podstawie liczby po...
Adres swojego lapka ustawiłem na statyczny - 192.168.1.200, maska 24 bitowa a kamery wpinałem pojedyńczo więc raczej wykluczam konflikt IP.
Maska kryje niezmienne bity w adresie ip, jakbys sobie to napisal w postaci bitowej to by bylo latwiej zrozumiec. Maska 255.255.255.0 to bitowo: 11111111.11111111.11111111.00000000 czyli jest jedna "podsiec" (256 adresow ip): 192.168.1.0 - 192.168.1.255 z kolei maska 255.255.255.192 daje nam: 11111111.11111111.11111111.11000000 wiec pule adresow damy...
[syntax=c]#define DD_RC5_TOGGLE 0x20[/syntax] DD_RC5_TOGGLE to nie zmienna tylko stała i służy jako maska bitowa. Umożliwia wyłuskanie konkretnego bitu z odczytanej ramki danych.
rozdzielczosc bitowy dekoder bitowy dostęp bitowy
brother reset licznika bębna elektronika montarzu chieftec stabilne
Proteco Q60 kod OE – brak sygnału enkodera, diagnostyka i naprawa sterownika bramy CANVA N7600 radio samochodowe, panel przedni, typowe usterki, części zamienne, VR-N7600 mikrofon