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.
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...
...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)....
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
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ć...
... 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 '...
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...
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ę...
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...
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...
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...
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...
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...
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...
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;...
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()...
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
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...
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...
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.
- 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...
[syntax=pascal]const N = 5; type tabwsk = ^TOsoba; TOsoba = record nazwisko : string[20]; r : word; m : word; d : word; id : longint; end; var tab : array[1..N] of tabwsk; // do tego momentu OK ile : word; tablica: tabwsk; //??? dziwne. PO co ta deklaracja? procedure dodaj( var tab:tabwsk; var ile:word); begin new (tab); //jesteś pewien, że alokujesz...
sprawdzanie stanu zmiennej rzutowanie zmiennej zwiększanie zmiennej
falowanie obrotów astra zakłócić bluetooth falownik regulacja obrót
2sa1492 zamiennik 2sa1492 zamiennik
Kodowanie wielkości koła w Fordzie za pomocą FORScan FAAC 452 MPS, E045, E145 – lampka miga 2 razy, napęd nie reaguje – fotokomórki, FSW, diagnostyka