dobrze, a nie lepiej w przerwaniu napisać warunek, że jeśli zmienna bitowa równa się jeden to robi to a jeśli nie to tamto końćząc podprogram1 zrobisz SET tej zmiennej a kończąc podprogram2 RESET :D
Tak jak napisał kolega wyżej... Jeżeli potrzeba więcej niż jeden bit to przez maskę bitowa zmienna = portA & 0x1F
Witam... Można to zrobic na wiele sposobow. Sa bardziej lub mniej prymitywne. W zaleznosci od potrzeb stosuje sie rozne metody "detekcji", "programowych blokad" itp Ja zrobilbym to np tak: ----------------------------------------... 'Blokada zadeklarowana jako zmienna bitowa If P1.1 = 0 Then Goto Instrukcja blokada...
Wskaźnik masz na dword, więc zmienna jest 32 bitowa i shr operuje tylko w obrębie tej zmiennej... masz operację przesunięcia z przeniesieniem (nie pamiętam rozkazu), przesuwaj po jednym bicie w pętli i przepisuj przeniesienie.
robisz to mniejwiecej tak: signed char tab1[256]; signed char tab2[256]; int temp; for (i=0;i<255;i++) { temp=(int)tab1[i]+(i... if (temp>127) temp=127; if (temp<-128) temp=-128; tab1[i]=(signed char)temp; } kod ten dziala nastepujaco:...
Jest to bitowa zmienna pomocnicza. Prosty przykład zastosowania: Załóżmy, że aby załączyć wyjście trzeba wyzwolić 3 wejscia - I I - I I - I I - ( ) adres wyjścia Q0.0 ale można zamiast adresu Q0.0 użyć markera np M0.0 i wtedy program będzie wyglądał tak: - I I - I I - I I - ( ) adres wyjścia M0.0 - I I - ( ) adres wejścia M0.0, a wyjścia Q0.0 W tym...
1. Używasz nowych wektorów przerwań, ale starej funkcji SIGNAL. Zamiast niej używaj ISR(): http://www.nongnu.org/avr-libc/user-manu... 2. Zmienna accumulator jest 16-to bitowa a nie dbasz o sprawdzanie, czy już przekroczyła rozmiar tablicy. 3. Poza tym, jaki sens mają dwa przerwania, skoro przerwanie od Timer2 opiera się o...
stany = twiread(NOACK); twistop(); LCD_GoTo(22,1); LCD_WriteText(" "); LCD_GoTo(22,1); int i = 128; for (; i; i>>=1) LCD_WriteText((stany&i?"1&q... Przeanalizujmy zatem. Linie 1 i 2 pomijam bo to dzieło kolegi. Linie 3 i 4 są zbędne. Linia 5 ustawia...
To może zacznij od wyszukania analogii w swoim kodzie. Na pierwszy rzut oka ciągle powtarza się zapis/odczyt rejestru układu. Wydziel to do oddzielnej funkcji. Co chwilę odmierzasz timeout transferu TWI. To również można wydzielić do tych funkcji. Na chwilę obecną trudno zrozumieć flow Twojego programu bo co chwilę powtarza się sekwencja zapisu/odczytu...
Ad.1 Generalnie wygląda to dobrze, ale nie wiem czy do końca wiesz co robisz. Port A to unsigned char, więc zmienna 8 bitowa reprezentująca 8 wejść (lub mniej, różnie to wygląda dla różnych portów). Zapis DDRA=0 powoduje, że wszystkie piny na porcie A zamieniają się w wejścia.. to samo dotyczy PORTA - ustawiasz wszystkie piny portu. Dlatego przy czymś...
Jeżeli chodzi ci o to aby wpisując 5+0+1+2+3 mieć liczbę 50123, to można to zrealizować bardzo prosto. w pętli głównej dajesz coś takiego: tmp=get_key();//zakładam że 0 jest kiedy nic nie wciśnięte if(tmp>0) { liczba*=10;//jeżeli podstawa = 10 liczba+=tmp; } zmienna liczba musi być przynajmniej 16 previous_tmp=tmp; tmp=get_key();//zakładam...
Wysłałem filmik na youtube for (i=0;i++<1000;) line(rand()%640,rand(... ok 200 średniej długości (400p) linii/s (nie wiem jak szybka jest funkcja rand() ) 2. Koncentryczne okręgi - ta matryca ma tylko 3 składowe co daje 7 kolorów +tło jednak wizualnie kolorów...
W c ten program gdzies w internecie widziałem.. Bedzie wymagał być moze małego dostosowania. Mam go ale niestety w asm pod atmege 16. ; Programowalny pilot RC5, obsługa interfejsów optycznych i pamięci EEPROM ; Rafał Baranowski (C) 2004 .INCLUDE "m16def.inc" ; SEGMENT DEKLARACJI .EQU OSC_FREQ= 1000000; częstotliwość pracy w Hz .EQU...
UL to jawne zdefiniowanie stałej jako należącej do typu unsigned long (kiedy kompilator nie jest w stanie tego domniemać z wartości, jak w tym przypadku). Podobnie L to typ long a LL to typ long long (rozszerzenie gcc). Ewentualne wyjaśnienie szczegółów: W AVR gcc typ int ma 16 bitów. I taki jest domyślny typ stałej 1. Jeżeli kompilator nie promował...
Tak poradziłem zmieniłem ustawienia kodowania dla 4 kamer, mialem ustawione kodowanie obrazu H.265 i bitrare 3072 Kbps klatek pełna liczba , prędkość bitowa stala, jakosc wideo najwyższy ,rozdzielczość 1920*1080P Teraz ustawiłem H.265+ i bitrate 8192 Kbps klatek pełna liczba , prędkość bitowa zmienna , jakość wideo najwyższy ,rozdzielczość 1920*1080P...
Tak, może być to zmienna bitowa.
Flaga to zmienna bitowa. Ma ona za zadanie zasygnalizowanie jakiegoś zdarzenia. W Twoim przypadku chodzi o zasygnalizowanie wystąpienia przerwania. Wystarczy np. coś takiego: Up: Set flaga Return Oczywiście zmienna bitowa flaga musi być wcześniej zadeklarowana: Dim flaga as bit W pętli głównej sprawdzasz czy flaga jest ustawiona: If flaga = 1 then...
Hmm. Głośno myśląc kombinowałbym tak: Zadeklarowałbym zmienną Double (osiem bajtów) pod określonym adresem w pamięci za pomocą Dim...As...At... Zmiennej tej nadałbym jednym ruchem wartość odpowiadającą poszczególnym bajtom "teoretycznej tablicy" - Zmienna = &HABCDE Dostęp do poszczególnych elementów uzyskałbym przez zmienna bitowa = INP(adres). Nigdy...
Witam. Jak sprawdzić w którym momencie wykonywania programu jest ustawiana konkretna zmienna bitowa w DB (DB niezoptymalizowany, TiA Portal 15, sterownik S7-1200)? Mam pewien problem i nie mogę dojść o co chodzi. Wraz z zainicjowaniem jednego z wejść cyfrowych na PLC (czujnik) ustawia się zmienna bitowa w DB. Na podglądzie WatchTable widać, że niby...
Kolego Kamil22011 "Dim Licz As Byte" oznacza zdefiniowanie zmiennej bajtowej o nazwie Licz. Zmienna bitowa była by w tym przypadku za mała bo w jednym bicie można zapisać tylko dwie liczby:0 lub 1. A co oznacza polecenie Dim jest wyjaśnione na początku 8 ćwiczenia "Mikroprocesorowej Oślej Łączki"
Hmm, moim zdaniem gdzieś jest zmienna 8 bitowa (Byte) musisz zmienić ją na większy typ. np. Word, Long.
count to zmienna 8 bitowa więc nie może przyjąć wartości 336. Ustawiasz przerwanie TOIE1 ale go nie obsługujesz. Ponadto zmienna count jest zwykłą zmienną globalną inkrementowaną jawnie, więc nie ma potrzeby deklarować ją jako volatile.
Stringa jak stringa, zmienna 8 bitowa ;) A z tym zapisem, oczywiscie nie jest to blad, ale chyba lepiej kazdy bit z osobna zalaczac ;)
Witam . Jeśli dobrze widzę to głównej pętli programu masz zmienną short int dane . Jest to zmienna 16 bitowa bo tak zapewne przyjmuje kompilator . A ty tymczasem próbujesz wcisnąć dane zawarte w niej do rejestru U2TXREG który to jest 8 w porywach 9 bitowy . Może napisz coś więcej jakie błędne dane jak zauważył kolega wyżej .
Jak ma wyglądać deskryptor HID dla jednej osi(np X) ale jako 32 bitowa zmienna ze znakiem ?
Spróbuj z tym programem. $regfile = "attiny2313.dat" $crystal = 1000000 Dim Zmienna as Bit 'zmienna bitowa 'konfiguracja portów, stan spoczynkowy = 1 przy przyciskach i przy d. LED. Do If pinb.0=0 then Zmienna = 1 'jeśli przycisk portu PINB.0 wciśnięty to -Zmienna = 1 If pinb.1=0 then Zmienna = 0 jeśli przycisk portu PINB.1 wciśnięty to -Zmienna = 0...
Program który napisałeś jest prosty (ale to już wiesz) i opiera się na nieeleganckich delay'each. Dzieje się tak, kiedy w programie wyzwolenie oparte jest na poziomie napięcia. Kiedy trzymasz wciśnięty przycisk warunek jest cały czas spełniony i wyjście po odczekaniu 3 sekund zamienia swój stan (zgodnie z projektem). To od czego trzeba zacząć to zmienień...
Wklejam tutaj podprogram w którym czytam dane z termometru a potem je przetwarzam: Sub Termo Disable Interrupts 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt(1) = 1wread(2) T = Makeint(odczyt(1) , Odczyt(2)) If T < 0 Then Set Minus Else Reset Minus End If T = Abs(t) T = T * 10 : T = T / 16 Przecinek...
1. Sczytywanie/wystawianie stanów Digital I/O do poszczególnym zmiennych typu CHAR lub String jest marnotrastwem czasu i pamięci PLC. W takiej sytuacji zamiast mieć 1 zmienna 16 bitowa opisującą stany wszystkich wyjść masz 16 zmiennych 8 lub 16 bitowych 2. Sterowniki PLC (w tym jęz. STL) mają dużo mocniej rozwinięty (i szybszy) interfejs do operacji...
Przeznaczenie: Ustawia określony bit w stan 0. Składnia: RESET bit RESET WATCHDOG RESET zmienna.x gdzie: bit nazwa bitu; określonego w przestrzeni rejestrów specjalnych czy jako zmienna bitowa zmienna dowolna zmienna, x numer określający bit z zmiennej; 0-7 dla bajtów, 0-15 dla Integer/Word, 0-31 dla Long. Opis: Instrukcję RESET WATCHDOG stosuje się...
Jeżeli wypełnienie nie zmienia się w trakcie działania programu tzn. już przy pisaniu programu na starcie chcesz tylko ustawić wypełnienie to sprawa jest prosta... 512 to 10 0000 0000 => OCR3AL = 0; i OCR3AH = 2; Jeżeli natomiast w trakcie działania zmienia się wartość wypełnienia to... np... pwm to zmienna 16 bitowa bez znaku to OCR3AL = pwm & 0xFF;...
Wielkie dzieki Mam tez jeszcze jedno pytanie. Czy chcac zanegowac jakas liczbe moge w bascomie napisac zmienna = NOT zmienna ??
Witam Jeśli temp jest zmienną zawierającą temperaturę odczytaną z ds18b20 to jest to zmienna 16 bitowa ze znakiem. W związku z tym proponuję: - odczytać najstarszy bit (znak) i gdzieś go zapamiętać - jeśli liczba jest ujemna (MSB = 1), wykonać bitową negację i dodać 1 W tym momencie wykonanie operacji przesunięcia bitowego o 4 w prawo zwróci wartość...
Bo w ten sposob odwracasz caly bajt a nie jeden bit. W GCC nie ma czegos takiego jak zmienna bitowa. Mozna definiowac najmniejsza zmienna jako bajt. Jest jednak mozliwosc stworzenia zmiennej botowej za pomoca uni. Nie pamietam jak to dokladniewygladalo, ale poszukaj na forum na pewnoe znajdziesz.
10 bitowa czesc to zmienna dla kazdej transmisji. Starczy ze jeden bit z 72 sie nie zgadza i alarm. Jak wszystko by bylo zmienne to bateria by musial byc 17Ah. pozdrr
Witam Ja Odczyt temperatury zrobił bym tak: .... 1wwrite &HCC 1wwrite &HBE Lsb = 1wread(): Msb = 1wread(): Minus = Msb.7 Tempa = Msb * 256 Tempa = Tempa + Lsb If Minus = 1 Then Tempa = Not Tempa Tempa = Tempa + 1 End If Tempa = Tempa * 10 'temperatura *10 Tempa = Tempa / 16 Jest to fragment kodu pozwalający na odczyt ujemnych...
Nie sprawdzilem dokladnie calego kodu, ale w oczy rzucilo mi sie to dziwne cos :) : char licznik=3200; ?????????? Nie mozesz do zmiennej typu char zaladowac wartosc 3200 bo jest to liczba 16-to bitowa! A zmienna char jest tylko 8 bitowa ( maks 256) . Poza tym jesli jest ona ze znakiem ( bez unsigned) to od -127 do 128. Powinienes zapisac unsigned int=3200;...
Nie znam BASCOM'a Ilu bitowa jest zmienna typu integer? Czy przypadkiem nie 16 (bo tyle ma zwyczajowo przy implementacji na uC 8 bitowe, a takim jest włąsnie '51)? To jeżeli ma 16 bitów to jak chcesz do niej wpisać 131071? Jak chcesz mieć program zajmujący mało miejsca w pamięci to go napisz w asemblerze, w ostateczności w C.
Prawda READ. A co do tej konwersji to już kiedyś napisałem jak to zrobić, zaraz znajdę post. Znalazłem. Jeśli temp jest zmienną zawierającą temperaturę odczytaną z ds18b20 to jest to zmienna 16 bitowa ze znakiem. W związku z tym proponuję: - odczytać najstarszy bit (znak) i gdzieś go zapamiętać - jeśli liczba jest ujemna (MSB = 1), wykonać bitową negację...
Tak, to wiem, ale funkcja będzie pobierać dane wg swojej deklaracji czy wg deklaracji tablicy? Według swojej deklaracji. Jeżeli przekażesz do funkcji tablice: [syntax=c] uint8_t tab[] = {0x14, 0x2A, 0x56, 0xDF}; [/syntax] to w funkcji odczytasz przez wskaźnik na zmienna 16 bitowa (zakładając ze procek jest little endian): [syntax=c] font[0] - 0x2A14;...
->Sam Sung To ty założyłeś że wskaźnikdo wielobajtowj zmiennej wskazuje na jej najmłodszy bajt a wraz z rosnącymi adresami będą kolejne bajty(coraz starsze) tej zmiennej, to właśnie jest kolejność Little Endian. Aby zgrabnie odczytać to zapisem który zaproponowałeć to właśnie tak musi się odbyć ta konwersja/odczyt, Nie dla każdego "C", a raczej nie...
a w czym widzisz problem? zaladuj najpierw powiedzmy TL0: zmiennna_typu_long = TL0; a nastepnie przesunieta o 8 bitow TH0: zmienna_typu_long |= (TH0 << 8 ); lub: zmienna_typu_long += (TH0 << 8 ); Zmienna moze byc 16 bitowa a nie 32 czyli np int.
Bazując na twoim drugim przykładzie. Jeżeli minuty to zmienna 8 bitowa to mnożenie zajmuje 2 cykle procesora oraz dodawanie 1 cykl czyli w sumie coś koło 3-4 cykli. Nawet jeżeli będzie to liczba 16bitowa to mówimy tu o max 10-15 cyklach. Pętla będzie wykonywać się dużo dłużej. W kolejności szacunkowo: odejmowanie 1, dodawanie (tu będzie kilka cykli...
... Czyli 14 bitowe wyjście(podłączona linijka diodowa) A zmienna która chcę sterować tą liniką ma 16 bitów ale to bez znaczenia. Moje pytanie w jaki sposób wykonać zapis aby 13 i 14 bit mojego rejestru był rzutowany na 29 i 30 bit wyjścia portu Na pewno 13 i 14? A nie 12 i 13? Wbrew pozorom może mieć także znaczenie ilu bitowa jest zmienna LED_PIO->PIO_ODSR...
http://obrazki.elektroda.pl/9199390200_1... Funkcja która miała by sprawdzać wciśnięcie określonego klawisza lub kombinacji mogła by wyglądać tak: Np klawiatura 3x4 Wystawiamy 1 na PD0 i sprawdzamy co mamy a PD4, PD5, PD6 i PD7 - jeżeli mamy naciśnięte 0 i 8 to otrzymujemy 01010001 gasimy PD0 i wystawiamy 1 na PD1 i sprawdzamy co mamy...
Powinienes jeszcze zamaskowac w zmiennej joystick te bity ktorych nie uzywasz bo jak tam beda 0 to ustawia ci sie 1 po zanegowaniu (i tak sie pewnie dzieje). Nie wiem jakiej wielkosci jest ta zmienna ale jesli 8 bitowa to zrob joystick = ~((up)|(down<<1...
Cześć. wg RM kolory w trybie RGB565 jedna zmienna 16 bitowa powinna zawierać następujące kolory RRRRRGGGGGGBBBBB mam taki kod https://obrazki.elektroda.pl/7320858800_... Co oznaczają te cyfry w nawiasach https://obrazki.elektroda.pl/2919575400_... Tak jakby z Big endian przechodziło do Little endian. Nie wiem czy może...
Witam Na razie zrobiłem to tak: ( wywaliłem obsługę rozjaśniania/ściemniania bo coś się timery "gryzły" - zamiast Twojej Long1 jest Wl1 ), na razie uprościłem kod do jednego wyjścia '********************* Konfiguracja $regfile = "m32def.dat" $crystal = 16000000 Config Timer0 = Timer , Prescale = 64 Config Portc = &B11111100 'Pc.0, Pc1 jako...
Witam, dzisiaj zabrałem się za zabawę z pamięcią EEPROM. Pierwszy z problemów jaki napotkałem to adresowanie pamięci EEPROM. Znalazłem w internecie 2 polecenia które mnie interesują: eeprom_write_byte (adres, zmienna); x = eeprom_read_byte (adres); Problem w tym, że jak zrobię tak jak podano w tym wątku: http://www.elektroda.pl/rtvforum/topic18...
Witam! Nie taka prosta sprawa zagluszyc ABAX`a nadaje w pasmie 868 Mhz ma 72 bitowa szyfracje zmienna i jest dwukierunkowy. Ponadto rejestruje wszystkie proby zagluszenia i ich sile. Ja mieszkam w bloku i pomimo ze jest pelno sprzetu dookola jeszcze nie bylo zagluszenia! Jak bylby taki latwy do zlamania to konkurencja by go dawno zlamala rozszyfrujac...
ramka bitowa pamięć bitowa czcionka bitowa
diesel świeca żarowy kotłownia instalacja odpowietrzenie beretta
interfejs diagbox bateria parkside
Jak zmienić litery na klawiaturze telefonu? Zamrażarka Liebherr – opinie użytkowników, modele, awaryjność, NoFrost, koszty serwisu