Tak jak powyżej, najpierw poczytaj o pętlach, a później spróbuj coś takiego: do{ // wstaw tutaj swój program // dopisz sprawdzanie klawisza, wynik zapisuj do zmiennej }while() // w () sprawdzaj wartość zmiennej
Pętlę for musisz na diagramie rozpisać na elementy składowe, czyli inicjalizację zmiennej pętli (to masz), następnie sprawdzanie warunku (zakończenia) pętli, instrukcje wewnątrz pętli i na końcu inkrementacja zmiennej pętli i powrót do sprawdzania warunku.
Można to zrobić w każdym języku i w którym dokładnie będzie zależało jedynie od tego, czy podstawy któregoś z języków opanowałaś. Najłatwiej bedzie zapewne w c ale i w asemblerze nie będzie to zbyt skomplikowane. Prostym rozwiązaniem będzie użycie timera do odmierzania czasu a w pętli głównej sprawdzanie wartości zmiennej incrementowanej przez ten timer...
a co jest nie tak z pętlą while(1) bo nie mogę się dopatrzeć To, że jest pusta. Stan zmiennej flaga sprawdzasz tylko raz na początku programu, po czym zapętlasz go w pustej pętli. Poza tym sprawdzanie if(flaga=1) jest błędem, zapewne miało być if(flaga==1) - przeczytaj ostrzeżenia kompilatora generowane w czasie kompilacji.
W takim przypadku z całą pewnością można kombinować ustawiać flagi, sprawdzać a to w wszystko w imię zasady nie korzystania z brzydkiego goto. Istnieje stwierdzenie, iz jeśli ktoś używa goto to nie potrafi programować, w/g mnie dotyczy to tylko początkujących bo większość algorytmów da się rozwiązać bez niechcianego goto. Jednak w tym przypadku najbardziej...
Masz pojedyncze '=' zamiast podwójnego, co skutkuje tym, ze przypisujesz dana wartość do zmiennej zamiast ja porównać. I lepiej użyj w ogóle ">= 0" od 0, by tez unikać dwóch takich samych dat.
...niestety nie znam asemblera. Nie musisz znać. Jak przeczytasz uważnie i zrozumiesz zasadę, to sam napiszesz procedurę obsługi przerwania w C. Dla częstotliwości PWM rzędu kilkunastu kiloherców i zegara CPU 8MHz przerwanie występuje co ponad 500 taktów, więc nawet procedura napisana w C nie będzie za długa (myślę, że nie powinna przekroczyć 100 taktów)....
Ok, no to tak.. liczba jest podzielna przez 3 jesli suma jej cyfr jest podzielna przez 3. 256 bitow (0 i 1) to 32 bajty. Czyli 32 liczby (0-9). podczas wpisywania cyfr (0,1) zapisujesz je do tablicy 32 elementowej, po kolei. nastepnie dzielisz te tablice na 32 mniejsze, kazda z nich bedzie zawierala jedna cyfre (0-9) zapisana w kodzie binarnym. Teraz...
Może coś takiego : Dim Str1 As String * 10 Dim Koniec As Byte Dim Key As Byte Str1 = "" Koniec = 0 Do Key = Waitkey() 'pobieranie znaku, tu z terminala Select Case Key Case 13 : Koniec = 1 ' np. kod ENTER = 13 Case Else : Str1 = Str1 + Chr(key) ' inne znaki dodaje do str1 End Select If Len(str1) = 10 Then Koniec...
W tym użyciu ::JakasNazwa oznacza, że chodzi o globalną (a nie lokalną) JakasNazwe (w tym przypadku funkcję, ale może być też użyte do zmiennych). Dr.Vee dzięki Dr.Vee sam nie byłem pewien co to jest, myślałem o przestrzeni nazw ale tam trzeba by się do niej odwołać np. std::cout, a teraz już wiem że chodzi o globalną funkcje/zmienną. Dodano po 3 pomyślałem...
Wrzuć wszystko do programu głównego tzn. przyciski ( ustawianie czasu załączania/wyłączania pompy), sprawdzanie Adc (poziom wody) przeliczanie wartości dla wyświetlacza , a samo wyświetlanie w podprogramie odświezanym co jedną sekundę za pomocą Timer0 . Timer0 dalej dla wyznaczania 1 sekundy. Buzer zrealizuj za pomocą zwykłej zmiennej licznikowej zwiększanej...
Bez makr, przy pomocy funkcji LOS oraz kilku kolumn pomocniczych, wychodzi jak na obrazkach. Ze względu na formuły tablicowe, przeliczanie trwa 2-3 sekundy: http://obrazki.elektroda.pl/6362680900_1... http://obrazki.elektroda.pl/4153628300_1... przemyśl jeszcze ;) Jeśli makro, to () sprawdzanie w pętli wartości...
Witam Procedura gotowa, działa na przerwaniu i wyrabia się w 40 cykli zegara (około), ale nie odkładam rejestrów licznika na stos, jeżeli licznik będzie w SRAM to trzeba dodać zachowanie na stosie rejestrów Y. Na razie popatrz na asembler i napisz co z tego rozumiesz, acha, algorytm jest inny niż twój. INT0INT1: push r16 ;odłożenie rejestrów i SREG...
Są to niskie wartości adresy np. 6F0 to jest akurat adres od przeglądarki. Nie jest to adres tylko PID (process identifier). Prawdopodobnie w każdym systemie operacyjnym ogólnego przeznaczenia proces ma swoją pamięć wirtualną. Dostęp do niej (w normalnych warunkach) jest możliwy tylko dzięki systemowym funkcjom. Błąd dostajesz z tego względu, że próbujesz...
Czy jeżeli w Bascomi-e, w przerwaniu, ............ ......... czy zapis będzie trwał, a procesor w tym czasię będzie już wykonywał inne rozkazy? Zapisywana jest zmienna bajtowa. Wpis wartości zmiennej do EEPROM nie odbywa sie samoczynnie, jak powiedzmy przesączanie wody przez lejek(!). Tego wpisu dokonuje processor; nie ma tam pośrednika (chyba jedynie...
Jeśli chodzi o sprawdzanie to można sprawdzić, czy cd zwróci błąd, o tym nie pomyślałem, ale możesz też spróbować jakoś tak: for i in `ls -1`; do echo -ne `pwd`/$i" "; done A tak ogólnie - nie ma sensu wymyślać koła od nowa, ifem można sprawdzić, czy coś jest katalogiem. Opcja -d jest od tego (ale wolałem kombinować, niż mana czytać) :P
... było pieknie, ładnie dopóki był "Maj", a teraz jesrt "Czerwiec" a mi sie log uzupełnia znowu na maj... Ale jest pięknie ... dość ładna pogoda przecież ... :) ... przynajmniej w Polsce Wschodnio-Środkowej-Północnej ... :) ... no i na Karaibach oczywiście ... : Form ' - i wtedy sprawdzanie byłoby podwójne: i po miesiącu wpisanym w arkuszu ' log '...
Jednak mi chodziło o to żeby zrobić to jakoś automatycznie tak jak pokazałem dla cc5x - czy jest jakiś taki sposób w picc, bo takie sprawdzanie jest kłopotliwe - chodzi mi o bezpośredni dostęp. Bezpośredni dostęp możesz mieć jeśli zdefiniujesz sobie strukturę złożoną z bitów, jest tylko jedno ale - picc nie chce wygenerować kodu jeśli spróbujesz przekopiować...
Jasne, mogę zaakceptować tę zmianę, być może moglibyśmy ją nieco ulepszyć (w komendzie powersave sprawdzić, czy sta jest podłączony, jeśli tak, natychmiast zmienić, w przeciwnym razie opóźnić to do zdarzenia connect), ale ten callback "co sekundę" jest wywoływany... cóż, co sekundę, a sprawdzanie zmiennej całkowitej co sekundę nie jest tak naprawdę...
https://obrazki.elektroda.pl/1101914900_... Berry to lekki język skryptowy przeznaczony dla systemów wbudowanych. Posiada dynamicznie typowany, jednoprzebiegowy kompilator i interpreter o rozmiarze głównej implementacji mniejszym niż 40 KiB, który może działać na stercie mniejszej niż 4 KiB. Dzięki najnowszej Opcja 1 : możesz po prostu...
http://obrazki.elektroda.net/67_12744374... Witam! Chciałbym dziś pokazać urządzenie, które powoli i z bólami tworzyłem ostatnimi czasy. Inspiracją do ruszenia z pracami były zbliżające się urodziny narzeczonej, której chciałem podarować coś nietypowego, a jednocześnie praktycznego. A że nie może być chyba nic bardziej praktycznego i przydatnego...
Witam wszystkich:) OK, wprowadziłem kilka usprawnień w programie odtwarzacza MP3. Oto one: 1. Zmniejszenie trzasku /stuku w słuchawkach po zakończeniu regulacji głośności. Trzask ten był powodowany odświeżeniem zawartości LCD (czyli ponownym wyświetleniem nazwy odtwarzanego pliku i jego podstawowych parametrów) po wyjściu z regulacji głośności. Podczas...
http://obrazki.elektroda.pl/6499721900_1... Lutowanie elementów do montażu powierzchniowego może być często sporym wyzwaniem, szczególnie że niektóre elementy mają wyprowadzenia co 0,4 mm lub mniej, tak jak w przypadku obudów TQFP a liczba pinów sięgać może setek. W takich przypadkach dedykowany do lutowania mikroskop jest bardzo przydatnym...
Podrzucę swoje dość mocno rozbudowane w możliwości urządzenie na bazie ESP-01. Kod napisany w C (ARDUINO) . Zdalne sterowanie przekaźnikiem: Kod pozwala na zdalne włączanie i wyłączanie po zdefiniowanym czasie przekaźnika za pomocą połączenia Telnet. Dzięki temu możesz zdalnie kontrolować urządzenie Router / modem . Automatyczna aktualizacja DNS: Jeśli...
A jak sprawdzać wolną pamięć w czasie pracy programu na AVR, podaj przyklad kodu Dodano po 1 Cześć! Bardzo dobrze, że pytasz o monitorowanie wolnej pamięci w trakcie pracy programu na mikrokontrolerach AVR, ponieważ jest to ważny aspekt w projektowaniu stabilnych i efektywnych aplikacji. Istnieje kilka metod na sprawdzanie dostępnej pamięci RAM, ale...
http://obrazki.elektroda.pl/6035089300_1... Moduł Arduino Yun jest świetnym sposobem, aby wejść w tematykę Internetu Rzeczy (IoT). Arduino Yun to niewielki moduł integrujący w sobie Linuxa na Układzie z światem Arduino. Poniższy projekt jest wprowadzeniem w tematykę Arduino Yun, oprogramowywanie sensorów w Pythonie i PHP oraz w tworzenie...
Witam. Mam pętlę główną w której zmienna1 odświeża się z każdym przejściem pętli(while(1)) i przyjmuje wartości z zakresu 1-10, wartość ulega zmianie po naciśnięciu przycisku(do tego momentu odświeża się ta sama liczba). Jak to rozwiązać aby dany kod programu wykonał się tylko raz podczas zmiany tej liczby? Coś w tym stylu: [syntax=c] while(1) { sprawdzaWartosc();...
Z logów widać dwie rzeczy. Turbo daje tylko 1400 mbar a powinno 2200 mbar. Druga sprawa to ciśnienie na wolnych obrotach poniżej atmosferycznego chyba że mieszkasz w górach. Odłączenie przepływomierza i sprawdzanie czy nie dymi wtedy za bardzo plus log. Sprawdzenie realnego ciśnienia w dolocie za turbo. Sprawdzenie pracy sztangi zmiennej geometrii turbo...
Najpierw napisałeś po wpisaniu numeru tygodnia , później Numer tygodnia będzie kopiowany z innego arkusza , więc zrozumiałem, że będzie następować zmiana w komórce A3, dlatego zaproponowałem użycie zdarzenia Change do wywołania makra. Teraz okazuje się, że w A3 jest formuła, więc zdarzenie Change w tej komórce nie występuje. Trzeba podawać precyzyjne...
Zmienne int są zmiennymi dwubajtowymi. Jeśli nastąpi przerwanie w momencie kiedy gdzieś w programie głównym następuje na przykład sprawdzanie warunku na tych zmiennych może wystąpić sytuacja, że jeden z bajtów takiej liczby zostanie zmieniony przez przerwanie. Rezultatem może być nieprawidłowe zinterpretowanie wartości zmiennej przez warunek w programie...
Jest to po prostu: forsowanie zmiennej Dobrym podejściem jest sprawdzanie w pętli loop() stanu zmiennej bool i w zależności od jej stanu wywoływać funkcję poza loop(). Natomiast w danej funkcji forsować zmienną odpowiadającą za wywołanie funkcji. Tak, aby wykonała się tylko raz. [syntax=c] bool fnc01; loop() { if(fnc01) { turnOn(); } } void turnOn()...
Przede wszystkim, zamiast:[syntax=c] case 2051: if (results.value == 2051 && output0State == "off") [/syntax]powinno być:[syntax=c] case 2051: if (output0State == "off") [/syntax]Dodatkowe sprawdzanie stanu zmiennej 'results.value' jest niepotrzebne, skoro: [syntax=c]switch (results.value)[/syntax]już to robi. W switch..case zwykle umieszcza się również...
(at)Dżyszla masz racje prowadzący chciał aby program sprawdzał czy liczba jest podzielna przez 3 z użyciem zmiennej rzeczywistej typu real
Witam, Mam taki prosty układzik na Atmedze8 z interface na MAX232. Układ odczytuje z PCta paczki 2-bajtowe z baud=600. Odczyt jest zrobiony w pętli Do Loop przez sprawdzanie zmiennej IsCharWaiting i odczytywanie bufora za pomocą Inputbin (to dane bajtowe). System (układ) działa OK ale jak mam go włączonego i podpiętego do PCta i włączam PCta to komputer...
Nie sprawdzałem działania, ale: Błąd 1: nieprawidłowa instrukcja Rows.Count (x 1 Up, powinno być XLUP). Lepiej: FinalRow = Cells(Rows.Count, 1).End(xlUp) Lub FinalRow = ActiveSheet.UsedRange.Rows.Count Błąd 2: Pętla For. Jeżeli przypisujesz wartości zmiennej i , to: Next i lub (również prawidłowo) samo Next bez jawnego nazwania zmiennej....
Można by się też zainteresować rejestrem ADCSRB i sprzętowo wyzwalać ADC od timer0 lub timer1. A wynik odczytywać w przerwaniu ISR(ADC_vect) i w nim ewentualnie zmieniać kanały. P.S. Wasza dyskusja na temat volatile sprawiła że zacząłem szukać- i co przykładowo znalazłem: "volatile uint8_t overflow; // | // -- volatile jest konieczne ze względu na sprawdzanie...
Ok, zawiesiłeś wątek. Tak jak pisałem możesz go całkowicie ubić thr.stop(); ale nie jest to zalecane( tak samo jak suspend): [url=http://java.sun.com/j2se/1.5.0/docs... Are Thread.stop, Thread.suspend,Thread.resume and Runtime.runFinalizersOnExit Deprecated? możesz dodać w metodzie MIN przed wywołaniem...
Jak to skonfigurować? W Arduino nie mam zielonego pojęcia No właśnie, a internet też milczy... Wymyśliłem to tak - Potrzebuję sygnał którego rozdzielczość jest równa 0.25us czyli timer musi zliczać z częstotliwością 4MHz czyli przy zegarze 72MHz będzie to 18 cykli. Zegar co 18 cykli dodaje 1 do zmiennej x, jeśli zmienna x = 19 (4.75us) ustawia stan...
Zapewne ten if, który sprawdza zmienną token przekazaną parametrem POST przez formularz.
Witam! Potrzebuję w moim programie kolejno wyciągać bit ze zmiennej i sprawdzać jego stan logiczny. Ponieważ sam nie bardzo wiem jak to zrobić proszę o pomoc. Miało by to wyglądać jakoś tak: for (k = 0; k < 8; k++) { // Teraz sprawdzanie logicznego stanu bitu w zmiennej , jeżeli prawda (HIGH) to PORTB.1 = 1; else; PORTB.1 = 0;...
nie wklejaj kodu jako zwykły tekst bo fragment kodu [syntax=text]tab[i][/syntax] zostanie zinterpretowany jako kursywa, bo nawiasy kwadratowe w kodzie są interpretowane przez serwer i zostanie wyrenderowany tekst inny niż wkleiłeś. Miałeś wcześniej info od moderatora i się do tego dostosuj. w komentarzach napisałem co wypadałoby zmienić [syntax=c]#include...
Musisz to przerobić i unikać pętli while. Pomyśl np. o zmiennej "tryb pracy", czyli jesli 1 to nalewanie wody, 2 to pranie, 3 płukanie, 4 wirowanie itp. Wówczas w pętli głównej dajesz tylko sprawdzanie tej zmiennej i odpowiednio reagujesz. P.S. Porób sobie wcięcia w programie, zobaczysz ile zyskasz na czytelności. Przykład: [syntax=vbnet] If D = 1 And...
Eeee, hmm... bo tak nie porównuje się stringów ;) W ten sposób możesz porównywać liczby, pojedyncze znaki (działa Ci np sprawdzanie ostatniego znaku w zmiennej "c") itp. Natomiast do stringów powinieneś użyć np. strcmp https://pl.wikibooks.org/wiki/C/strcmp
No to pomimo tego że to jest pierwsze co robię w C-zero doświadczenia- zacząłem grzebać w w bibliotece radzia. Tak coś jednak korci. Jedyne opóźnienie to jest 50us po zapisie półbajtu do wyświetlacza. Udało mi się zejść do 38us. Poniżej jest niestabilnie. Oczywiście _delay_ms(2) po czyszczeniu wyświetlacza to można rozwiązać trochę inaczej. Wysłać LCD_clear()...
Na głównej stronie sprawdzaj zmienną 'get' a na podstronach w taki sam sposób sprawdzaj tylko 'wariant'. Kod masz podany kilka postów wyżej.
1 Nadal źle napisane Load Timer. 2 Brak inkrementacji zmiennej Sekunda. 3 Sprawdzanie warunków powinno być w pętli lub (gorsze rozwiązanie) w przerwaniu.
Witam. Jestem świeży jeśli chodzi o mikrokontrolery. Programuje Atmege 328P moim celem jest zrobienie wielokanałowego termometru do instalacji C.O. Na wyświetlaczu ma się pokazywać temperatura z danego czujnika, po naciśnięciu przycisku ma przechodzić do następnego, i tak dalej. Na razie mam zrobione coś takiego: [syntax=c]#include <stdio.h> //dodajemy...
- ostatnie wywołanie w skanie nadpisuje każdą inną akcję na danej zmiennej - szczególnie zmiennych fizycznych Q I dlatego dobrą praktyką jest zapisywać zmienną tylko w 1 miejscu w programie. Zawsze można użyć zmiennych pomocniczych. - użycie jej wewnątrz skoku lub w funkcji (FC, OB) wywoływanej acyklicznie nie gwarantuje skasowania ustawionej zmiennej....
Tak, dokładnie. Ale w praktyce wygląda to tak, że po prostu używasz odpowiedniego typu zmiennej i wyłączasz sprawdzanie błędu przekroczenia zakresu. W przypadku stosowania Asemblera, o to ostatnie w ogóle się nie martwisz.
Mam wrażenie, że jeśli te sygnały nie muszą być HiFi, to da się zrobić 23 sygnały na jednym module STM32F103C8T6. Ale trochę trzeba się postarać. Podliczyłem - STM32F103C8T6 ma 19 pinów "5V tolerant" (A8-12, A15, B2-4, B6-15) i 11 z ograniczeniem do V_DD=3.3V (A0-7 B0,1,5); z tego B2 to BOOT1 (służy do wybierania, z jakiej pamięci ma startować, ale...
To, że zrobiłem program do wysyłania spamu, nie znaczy że go wysyłam. (Dla testów wysyłam "siema, jesteś?") Bawiłem się w robienie programów korzystających z GG. Poprawiłem trochę kod, wywaliłem całkiem zmienną a i sprawdzanie czy Timer pracuje. edit: jednak mam wrazenie ze po wywaleniu zmiennej "a" wiadomosci do nikogo nie dochodza, bo nikt nie odpisuje...
sprawdzanie stanu zmiennej rzutowanie zmiennej zwiększanie zmiennej
chrysler podłączyć dopisanie kluczy system odsłuch douszny
piekarnik electrolux piekarnik electrolux
Weldman Charge 200 - przyczyny braku ładowania Honda CR-V 2006 2.0 benzyna - alternator nie ładuje