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...
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...
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ń...
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ść...
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
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.
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;...
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.
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.
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;...
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ę...
->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...
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...
sbit OFF = P2^5; - w tym momencie przypisuje portowi 2 i pinie 5 nazwe OFF?tak?Czy to dziala na innej zasadzie? Zaraz, zaraz... To z kodu C dla '51, tak? AVR Studio nie akceptuje tego wiec robie tak #define OFF_0 PORTD &= ~_BV(PD1) - dobrze?skladnia instrukcji bedzie taka sama? To jest to samo? Noooo, to nie jest to samo :| Możesz zrobić np. tak:...
INT to zmienna analog (0....32767) zmienna typu INT jest 16 bitowa a zakres liczb wynosi od -32768 do 32767. Mam problem z blokiem funkcyjnym LIMITALARM. Mianowicie nie wiem jak do "IN" wprowadzic wartość INT. Jak probuje to zrobic to wywala mi błąd "Cannot convert INT to BOOL Widac ewidentnie podanie na wejście bloku funkcyjnego LIMITALARM zmiennej...
Poczytaj sobie o SHIFT, bo np taki kawałek kodu będzie przesuwał w jedną stronę Dim I As Byte Dim A As Word ' 16 bitowa zmienna (chyba) A = 1 For I = 1 To 15 Portb = Low(a) ' pierwszy port Portc = High(a) ' drugi port Shift A , Right , 1 Waitms 250 Next I podobnie dzieląc to na 2 części i stosując dla jednej Shift Left, a dla...
Witam. Uczę się (staram sie) programowania w BASCOM. Orłem nie jestem. Do nauki używam książkę "Marcina Wiązania - Programowanie mikrokontrolerow AVR w jezyku Bascom". Pierwsza lekcja opisuje prosty kod: $SIM 'dyrektywa opuszczenia instrukcji 'opóźnienia $REGFILE = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $CRYSTAL...
Tworzymy rejestr przesuwający wybieramy jako odczepy bity o numerach np: 32, 7, 5, 3, 2, 1 i po przesunięciu ( i wysłaniu) zawartości najmłodszego bitu sumujemy modulo 2 bity z pozycji: 32, 7, 5, 3, 2, 1 oraz ten wysłany i wynik zapisujemy na pozycji najstarszego bitu Jeszcze nie do końca rozumiem jak to zaaplikować w procesorze, ale: - ile razy należy...
Przeczytaj mojego posta wyżej. Jeśli chcesz sobie brnąć dalej w pola bitowe, to proszę bardzo. Traktuj moje posty jako ostrzeżenie dla szerszej publiczności, która na podstawie dwóch spojrzeń będzie sobie sama mogła zdecydować czy woli kod który używa jednego bajtu mniej i zajmuje więcej flash (a do tego najeżony jest problemami data race), czy może...
Witam ponownie Zrobiłem to przez Timer0. Jednak problem z aktualizacją wyświetlania dalej występuje. Jeszcze drugi problem to start, przez okres zdefiniowany zmienną Licznik ( teraz równą 300 ) nic się nie wyświetla - dopiero po czasie = 300. Próbowałem również z Enable/Disable Interrupts na czas pomiaru, ale nie było żadnego efektu. Mam takie pytanie...
a więc zrobił bym mniej więcej tak: -do P1 podłączył bym przetwornik DA zrobiony na rezystorach(poszukaj hasło covox) -obsługe przerwania napisał bym w asemblerze (bascoma dawno nie używałem), będzie przy okazji dokładnie wiadomo ile czasu zajmuje wykonanie -w przerwaniu wczytywał bym wartość sinusa z tablicy(umieszczonej w pamięci programu) i wypluwał...
Czyli to zwykłe U2 jest? Napisałem kawałek kodu ale dalej jakość jest co najwyżej taka sobie. Może mam złe podejście do tego. Na komputerze jakość jest bardzo dobra mimo niskiej rozdzielczości. Może coś w kodzie jest nie tak? Poniżej wrzucę kawałek. zaczytaj_sektor(sektor); for (w=0; w<512; w++) { probka = (sd_blok[w]<<8)...
Witam Mój problem polega na tym ,że muszę połączyć dwa programy w języku ASEMBLER. Niestety z programowania jestem słaby, a z języka niskiego poziomu to już w ogóle jest masakra. Ogólnie mam za zadanie zrobić mały projekt, który polega na tym ,że trzeba zaprogramować układ ADuC842 tak ,aby wyświetlił on na wyświetlaczu wpisany tekst z klawiatury (podłączonej...
Postanowiłem zawalczyć z tym UARTem ale (wstyd przyznać) trochę sobie nie radzę. Podejrzewam, że robię gdzieś jakiś głupi błąd, którego nie mogę zlokalizować. Połączenie STMów wygląda następująco: ZL26ARM programuję z USB za pośrednictwem STM32F4 (SWD->JTAG), oprócz tego ZL'a zasilam sobie z drugiego USB. Na ZL'u USART1 remapowałem sobie na piny PB6(Tx)...
S=sinus_wzorcowy <1600;-1600> - mieści sie na 12 bitach O=offset <0;1> co najmniej 819 wartości - 10 bitów P=przesuw 2300 - stała -> dowolne kodowanie ( niech to bedzie I32 ) W=wynik ma być całkowity ( niech to bedzie I32 ) 1. S zapisujemy w kodzie I32 ze znakiem ( signed long ) 2. O zapisujemy w kodzie I20Q12 ( tutaj potrzebne jest małe...
Po pierwsze - rozróżniajmy 'long' (32 bity) od 'long long' (64 bity). JA się w wywodach ograniczałem do mówienia o 32 bitach. Ale na aplikacji 32 bitowej nie ma już co sprawdzać. Jeśli Pan zauważył to max int 4,294,967,295 Fib(47) = 2971215073 który jest liczbą pierwszą jest tylko mniejszy od maksymalnej wartości tej która może przechowywac 32 bitowa...
Witam, Mam sterownik przemysłowy (takie urządzenie do sterowania w przemyśle) siemensa serii s7-1200. Sterownik ten posiada wbudowany server www. Działa to tak że tworzę strone w HTML i wgrywam ją na sterownik. Następnie poprzez wpisanie w przegladarce numeru IP tego sterownika dostaję się na tą stronę. Na takiej stronie mam możliwość sterowania urządzeniami...
Dzień dobry drodzy forumowicze Od paru dni zmagam sie z pewnym problemem. Dlatego postanowiłem zasięgąć rady na forum. Zauważyłem temty które są mi bliskie, ale żaden nie opisywał dokładnej specyfikacji..... Mój schemat transmisji jest taki: Klawiatura PC (PS/2)-> Atmega8 -> nadajnik RT4-XXX (firmy Telecontrolli) -> odbiornik RR6-XXX (firmy Telecontrolli)...
to jest dobre miejsce żeby sensownie zacząć: http://www.mikesflightdeck.com/diy_airco... Co do drivera to robi sie to inaczej. Cztery rezystory podciągające cewki do plusa. Cztery tranzystory ściągające cewki do masy. Osiem rezystorów sterujących tranzystorami (połączenie szeregowe po dwa) Do tego dwa sprzętowe wyjścia PWM (jedno na jedną...
Dzieki, Chodzi o to, że "pom+=(unsigned int)pomiar();" jest jedynym miejscem gdzie zmienna "pom" jest przypisywana. Tyle że to jest +=. Czyli nie wiadomo co siedziało w niej wcześniej. Jeśli to zmienna statyczna to może być zerem ale tylko po restarcie. Jeśli jest lokalna to rezerwowana jest na stosie i wtedy jest zupełnie losowa. Druga rzecz, jakie...
Zeby sprawdzic lilczbe dziesietna czy jest podzielna przez 3 lub 7 dzielisz ja modulo. Modulo to reszta z dzielenia liczy x przez liczbe z. czyli jelsi wyjdzie 0 to znaczy ze dzieli sie bez reszty, czyli jest podzielna. Kod binarny latwo zamienisz sobie na liczbe decymalna. W c++ najwieksza zmienna jest Variant ktory ma 16 bajtow, Ty zeby zapisac liczbe...
Witam, mam problem z napisaniem fragmentu kodu Może zacznę od sprzętu jakim dysponuję: - uC ATTiny2313 - wyśw. LCD 2x16 znaków Najpierw pasek: ma on "zmieniać" położenie w zależności od pewnej zmiennej, pasek wygląda tak: "----O-----------", czyli 16 pozycji, zmienna jest typu Byte, Jezeli masz zmienna "as word" czyli 16 bitowa i masz rowniez 16 pozycji...
Usunąłem Wait 1 przy konwersji z DS18B20, działa, bez problemu ( na trzech przewodach ), tylko wyniki są opóźnione - tzn. wyświetlany wynik nie jest z aktualnego pomiaru, tylko z poprzedniego. Dodałem jeszcze dwa czujniki DS18B20. Ich zapis razem z godziną i datą na karcie jest jak najbardziej w porządku, tylko wyświetlanie trochę szwankuje - tzn. czasem...
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...
Potrzebuje wytłumaczenia na chłopski rozum, bo wszędzie zbyt specyfinczym językiem jest napisane żeby zrozumieć i raczej początkujący to nie ma szans zrozumieć języka tych śmiesznych specjalistów. Oni chyba tylko rozumieją co piszą. Rn - rejestry robocze n=0,1,...,7 (R0,R1,...,R7) Ri - rejestry robocze i=0,1 dana - 8 bitowa wartość liczbowa # - liczba...
[syntax=c] #include <stdlib.h> #include <avr/io.h> #include <util/delay.h> # include <math.h> #include <avr/interrupt.h> #include "HD44780.h" int a; # define keypin PIND # define keyddr DDRD # define keyport PORTD # define keypd6 _BV(PD6) # define keypd7 _BV(PD7) volatile _Bool keypin_pressed = 0; // flaga wciśniętego przycisku...
mam problem chcialem adresowac zewnetrzna pamiec eeprom komunikacja i2c (twi) sa tam 2 adresy ktore musza miec 8 bitow (1 byte) chcialem zrobic tak gdy adress2 przekroczy 255 to zwiekszy sie adress1 jak to zrobic? myslalem nad zrobieniem jednej zmiennej 16 bitowa (2 byte'y = 1 word) ktora bede dzieli na 2 czesci. ________________________________________...
Witam, Po długiej przerwie wziąłem się do pracy z wyświetlaczem, lecz znów nie powodzenia. Przy użyciu funkcji watchdog mruga pierwsza kolumna i nic poza tym. Przy zmianie częstotliwości wyświetlania napięcie zwiększyło się w granicach do 3V. Ciut lepiej lecz też nie do końca zadowalające. Wrzucam fragment kodu z watchdogiem, może coś źle dopisałem....
Nie wiem dokładnie jak to działa... Działa to tak: Przetwornik w LPC1768 na ustawione próbkowanie na wartość np. 100,0 kHz. Ustawiam ten odczyt w pętli for (;;), która wykonuje się 20 razy (oznacza to liczbę próbek). W rezultacie daje to okno częstotliwościowe równe 5,0 kHz, czyli że w tym oknie zmieści się dokładnie 1 okres przebiegu o częstotliwości...
Witam. Przerabiam kurs z Edw Pana Koppel-a i mam pytanie do osób lepiej znających ode mnie C. Nie wiem dlaczego wewnątrz pierwszego elementu tablicy w funkcji WyswietlHex: g_DaneWyswietlacza[0] = pgm_read_byte(&g_WzorCyfr[va... znajduje się w #define LED_A 0 #define LED_B 1 #define LED_C 2 #define LED_D...
Dokładnie tak jak napisał Matejkos Napisałem ten kod na szybko i działa.. Ale zrobiłem go nie tak jak powinno się robić (w przerwaniach mam dosyć długie funkcje, a przerwania powinny być możliwie jak najkrótsze). Jeśli dodałbym ten kod to ktoś może pomyśleć, że tak jest dobrze i tak będzie robił, a tego bym nie chciał :) Jak sobie chcecie :) Tak jak...
Nie to nie jest cały kod. Mam problem z wklejeniem z tagami syntax, ale spróbuję to jeszcze zrobić. W moim przypadku, to że przerwanie będzie generowane zbyt często nie ma praktycznie znaczenia bo korzystam z jednego kanału i nie muszę się martwić o gubienie pomiarów czy jakieś błędy. Ten programik jest tylko dla celów nauki. W obsłudze przerwania ustawiłem...
Nie można. Pole unii rejestr zawiera wszystkie 16 bitów widziane jako jedna zmienna 16-bitowa. Pole bit udostępnia je jako 16 indywidualnych zmiennych 1-bitowych b0, b1 itd.
Witam po dłuższej przerwie. Problem polega na tym że uruchomiłem ADC z DMA na płytce STM32F469DISCO (wg różnych filmów z youtube - problem taki że u wszystkich działa a u mnie nie :D ), wynik wysyłam po USB CDC i zamiast ADC 12 bitowego otrzymuje 8 bitowy. Jest tak że kręcąc potencjometrem wartość po przekroczeniu 255 wraca do 0 i rośnie ( i tak kilka...
Wszystko zamieściłem w 1 pliku żeby było pod ręką. Nie wiem dlaczego przy wyświetlaniu cyfr 0 i 7 nie zaświeca mi się SEG_A, przy pozostałych cyfrach nie ma z tym problemu. Co do wyświetlania temperatury to powinno być już chyba dobrze, tylko jutro muszę to sprawdzić na LM35 bo na potencjometrze to co chwila skacze mi napięcie. [syntax=c]/* * main2.c...
Dzięki wszystkim za opinie. Oddałem dziś projekt został oceniony na 5;] Dokonałem kilku zmian w programie więc wrzucam nową wersję: http://obrazki.elektroda.pl/8149391200_1... Jeśli już eliminujesz drgania styków programowo i w dodatku z użyciem timera, to mogłeś się pokusić o tak samo zrealizowane opóźnienia. Mnóstwo pamięci pożera...
Witam, mam mały program napisałem przy użyciu książki Pana Marcina Wiązania oraz przy użyciu elektrody do obsługi matrycy led, lecz mam nieporządany efekt stroboskopowy. Nie widać liter, tekstu, tylko wszystkie diody mrugają. Czy to jest spowodowane zasilaniem czy też błędem programu? Dorzucam dwa programy, przy których pracowałem i schemat, schemat...
Dzien dobry. Piszę bootloader do procesora atmega32. Bootloader ma dzialać w terminalu więc konwersja ascii -> hex jest przeprowadzana w mikrokontrolerze. Po uruchomieniu, program ładnie się przesyła, wszystko wydaje się być OK. Po resecie jednak nic się nie dzieje. Skopiowałem całą zawartość pamięci i zauważyłem, że drugi bajt jest nieprawidłowo...
Probuje podlaczyc wyswietlacz PC1602F B, do mikrokontrolera at89s8252. Niestety na ekranie po zaprogramowaniu i ustawieniu resetu na LOW pojawiaja sie na 2 kolumny prostokatow (w zaleznosci jak podkrce kontrast wyswietlacza). Po ustawieniu resetu w stan wysoki zaczyna migac kursor po srodku. Po kilkakrotnej zmienie stanu reset kursor ciagle miga, ale...
Jeżeli między znakami masz jedną kolumnę odstępu, to na pierwszej stronie będą dwie, a nie jedna kolumna z drugiego znaku, no ale to szczegół ;) Nie wiem, jak masz zapisaną "czcionkę". Jak na moje oko, to może być po bajcie na każdą linię i takich linii 7, jedna po drugiej, potem następny znak itd. Nieużywane bity (te z prawej, znaki wyrównane sa do...
nie istnieje cos takiego jak zmienna 1-bitowa i nie da sie tego zrobic. nikt ci nie pomoze w takiej kwestii. jesli zas chodzi ci o jakies normalne zmienne, to na przyklad: .section nazwa_sekcji_twojej,bss,near zmienna: .space 1 bss jako sekcja niezainicjalizowna. mozesz uzyc innej (np data), ale zainicjalizowac i tak musisz sam. 4\/3!!
Tworzysz problem na siłę. Skoro zmienna 16-bitowa nie starcza, to należy użyć 32-bitowej. Nie ma magicznego sposobu, żeby to liczyć na 8-bitach i trwało to 3 cykle... ul oznacza Unsigned Long, czyli dla AVRa pewnie to samo co uint32_t. (typ_zmiennej)jakas_zmienna to rzutowanie - sugerujesz kompilatorowi, że zmienna nie ma wcale typu A, tylko typ B....
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]
Bo zmienna BOOL jest 8-bitowa. W pierwszej kolejności konwersja na WORD a następnie przesunięcie.
tu masz strukturę zmiennej typu uint http://obrazki.elektroda.pl/6505528200_1... poza tym to samo jest w manualu Zmienna jest 16 bitowa, odwołaj się do konkretnego bitu
Witam, zmienna "b" jest 8 - bitowa, w pewnym momencie wykonuje się mnożenie 128 * 2 = 256, czyli dla 8 bitów zero. Warunek b > 128 nigdy nie jest spełniony. Tak na szybko, chyba ten warunek trzeba zamienić na b == 0, ale lepiej to przemyśl. Pozdrawiam
http://obrazki.elektroda.pl/2845953500_1... Pomysł stworzenia tej konstrukcji narodził się, gdy przyjaciel autora tego układu wymyślił pewien projekt. Chciał on, aby zestaw serwomotorów naśladował ruchy rąk użytkownika. Na serwach miały być zamontowane lasery, co umożliwiało by tworzenie efektownych pokazów. Plany odrobinę się zmieniły...
Weintek wyświetla to co mu zdefiniujesz nic nie napisałeś jak zmienna ilo bitowa, czy zaciągałeś tagi, mozesz napisać macro. opcji jest wiele
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...
... Niestety nie rozumiem tego zapisu return( ((PINB & (1<<PB5|1<<PB4))... ); Załóżmy , że wcisnąłeś P1 ... ... { unsigned char tym; tym = 1<<5 | 1<<4 // 00110000 tym = PINB & tym // 00100000 tym = tym >> 4 // 00000010 tym = tym ^ 0x03 // 00000001 return( tym)...
Docelowo niepotrzebne usuwam. docelowo od tego miejscu wszystko wyleci. Po tylu wyrzuceniach za wiele nie zostanie. ;) Zdajesz sobie sprawę że jak zerujesz w pętli sekundy, nie naliczy ci minut i godzin w przerwaniu? Pomine kwestie atomowości. Też czasem mam dylematy drabinkowe Możesz też dołączyć bibliotekę z typami, ja bym napisał: [syntax=c] #include...
Jeśli ZMIENNA jest zero to iloczyn logiczny zawsze sprawi że będzie 0.
le sorry, moj blad myslalem ze to program, a to byl koment do programu. Co do tego return. Jak dobrze widze to jest to sub a nie przerwanie lub podprogram. A wracasz z suba normalnie przez end sub. Dodano po 5 widze, ze masz tam petle to dodaj flage (zmienna jedno bitowa) do tego ifa i zrob loop until flaga. Dam ci przyklad: dim flaga as bit flaga=0...
ramka bitowa pamięć bitowa chkdsk bitowa
volvo silnika zmiana drążka zmiany biegów testowy audio
hyundai hl32211 hyundai hl32211
MSD3663 TV Board PCB Design and Resources Błąd P011 w piekarniku Electrolux - czujnik NTC