Przyjrzyj się tej pętli i popraw oczywisty błąd. Odejmowanie zera raczej nie spowoduje zmiany wartości zmiennej, na którą czekasz w tej pętli.
3. poco napisałem na tym forum??? Rozczuliłeś mnie i wprowadziłeś w zakłopotanie :oops: do tego stopnia, że napisałem Ci nie tylko 3, ale całe 4 linijki: [syntax=vb] Sub timeSubtract() Const TIME_FORMAT = "hh:mm:ss" Range("E1") = Format(TimeValue(Range("C1").Text) - TimeValue(Range("B1").Text), TIME_FORMAT) End Sub [/syntax]Masz odejmowanie czasu za...
Tyle rad i nadal żadnego pomysłu nie masz?;p Nie ważne w którym miejscu będziesz włączał timer, możesz to zrobić chociażby na początku funkcji main. Ważne jest żeby PRZERWANIE od tego twojego timera zgłaszało się tak często jak jak chcesz odświeżać wynik na wyświetlaczu (czyli te twoje 10 sekund) i w tym przerwaniu musisz wykonać odejmowanie na zmiennych...
Rozumiem, że chodzi o wykonanie działania: y=1000 - 5 * x gdzie x to wprowadzona liczba , a y to wynik. Jeśli tak to pętla może być taka: x=inputbox ..... y=1000 for i=1 to 5 y=y-x next i print y
http://obrazki.elektroda.pl/2126980700_1... System monitorowania środowiska, oparty o interfejs LoRa IoT składa się z stacji bazowej zbudowanej z wykorzystaniem modułu Arduino Mega z bramką LoRa oraz zdalnych stacji opartych na Arduino Feather, które łączą się z stacją bazową poprzez radiowy interfejs LoRa. System pozwala na monitorowanie...
https://obrazki.elektroda.pl/9375100200_... Dzisiaj przedstawię krótko kolejną nakładkę na Arduino UNO, a mianowicie D1Robot/Iduino LCD Keypad Shield, który jak sama nazwa wskazuje, na pokładzie ma wyświetlacz ciekłokrystaliczny 2x16 oraz pięć (sześć, jeśli liczymy RESET) przycisków podłączonych na GPIO. Shield ten pozwala w prosty...
Najlepiej zamienic na odejmowanie w pętli odejmujesz dzielnik od dzielnej i zwiekszasz licznik jezeli dzielna<dzielnik w dzielej masz resztę w liczniku iloraz
Pracuję nad pewnym projektem, który pozwoli z kabiny zabytkowego tramwaju zrobić symulator jazdy z wykorzystaniem mechanizmu oryginalnego nastawnika i ekranu do projekcji tylnej w miejscu przedniej szyby. Nastawnik nie jest kompletny, ale mechanizm kręcenia korbą i nawrotnikiem działa, więc pozostaje tylko kwestia odczytania zadanej pozycji jazdy lub...
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...
Otóż kolego odejmuję od wartości liczbę 15625 ponieważ procedura jest w pętli programu głównego co za tym idzie w trakcie jej wykonywania może nastąpić przerwanie i zmienić wartość tej liczby zanim wykona się odejmowanie w takim przypadku jak wyzerujesz tą wartość to dopiero wyślesz zegar w maliny . Co do twojej teorii jest błędna tym bardziej jak...
Skielet programu zrobiłbym tak: Podaj Liczbę X readln X Podaj liczbę Y readln Y Podaj działanie ( + - / * .. [Esc - koniec) znak := readkey; Case znak of + : DODAWANIE - : ODEJMOWANIE ...... ....... #27 : koniec = TRUE {wcześniej deklaracja koniec : Boolean; i na początku pętli repeat ....... until koniec zmienna koniec := False } nie pamiętam dokładnie...
Kolega Mariusz Ch. mówiąc o konieczności mnożenia i że napięcie 1,2-2,5V, które trzeba zamienić na np. 0,4-2,0V (wzmacniacz różnicowy) interwał 2,5-1,2=1,3V wzmocnić do 2,0-0,4=1,6V - ale z odjęciem odpowiedniego offsetu co można i należy zrobić w jednym stopniu - wzmacniaczu różnicowym. Hasło - "wzmacniacz" (różnicowy). czy też jest dostępne inne zasilanie...
Cały proces musiałby trwać. Mógłbyś zbierać wyniki z ADC do bufora kołowego (np. próbki co 0,1s, bufor na 20 próbek), i po każdym wpisie do tego bufora uśredniać wszystkie próbki i wyliczoną w ten sposób średnią ruchomą jako wynikiem, sterować PWM. Inna metoda, dużo prostsza ale o nieco innym rezultacie to, w pętli odczytującej ADC (np. co 0,1s) dokonywać...
po pierwsze dodaj podciąganie do linii przycisków podciagniecia czyli ustaw stan wysoki na wejściach np. PORTB.2 = 1 Dzięki, to zadziałało, zmienna już samoczynnie się nie zmienia. po drugie poczytaj nieco o timerach to wyeliminujesz wait'y i program będzie działał jak chcesz :wink: A nie można byłoby tego zrobić na wait'ach i dać spokój timerom (czytałem...
Po wyjściu z pętli sprawdzaj wartość przeniesienia. Jeśli jest niezerowe, to wykonaj operację na kolejnej cyfrze. Z arytmetyki wiadomo, że przy maksymalnym przeniesieniu wejściowym (z poprzedniej cyfry) = 1 maksymalne przeniesienie wyjściowe również = 1, bo 1+9+9 < 20. Zastanów się jeszcze co się stanie, gdy od liczby 1 odejmiesz 20... Pozdrawiam,...
Myślę, że się da :) Wszystko w jakimś makro VBA... Na początek będziesz musiał zrobić sobie okienko do wprowadzania imienia (http://www.mielk.pl/pl/kursy/kurs_vba/k... Potem najlepiej zamienić litery na wielkie, podzielić w pętli (http://www.mielk.pl/pl/kursy/kurs_vba/k... na litery (http://www.ozgrid.com/forum/showthread....
Dzień dobry, Popełniłem prosty programik na ATtiny2313. Przy naciśnięciu któregoś z guzików (Pind.0 lub Pind.1), zmienia się wartość rejestru Pwm1a - porównywanie ze stanem timera1. Dzięki temu uzyskujemy efekt rampy i rosnącą częstotliwość na wyjściu. Niestety program działa o tyle dziwnie, że czasami się zacina - tzn czasami zmiana częstotliwości...
Witam, Program ma używać pętli while do wyświetlenia menu z dodawaniem, odejmowaniem, mnożeniem i dzieleniem, pobrać dwie liczby od użytkownika a po wykonaniu zadania wyświetlić wynik i wrócić do menu. Problem w tym że wyświetla ponownie menu po wczytaniu jednej z dwóch cyfr. Jak zrobić aby menu wyświetlało się ponownie i od nowa wyświetlała się prośba...
Co to jest "//Prikazi drgo stevilko" albo to "//prepreci premocno gorjenje druge"? Ogólnie rzecz ujmując kod jest napisany źle - na zdjęciu widać że gościowi prześwitują te liczby (coś w stylu smurzenia w lcd). Mam tablicę - w niej kody dla cyfr, i mam numer w zmiennej. Gdy używam zmiennej jako indeksu tablicy to pod tym indeksem mam kod dla tego numeru...
Deklarujesz zmienną czas jako integer i wszędzie dajesz waitms czas. Teraz deklarujesz np. zmienną poz_czas - będzie ona posiadała wartości np. 1-10. Piszesz obslugę tych przycisków (tak jak dla góra/dół), tylko umieś je w odpowiednim miejscu kodu (my go całego nie widzimy). W instrukcjach warunkowych dla przycisków obsługujących czas daj Incr poc_czas...
Witam. Przeszukałem dokładnie internet i nie znalazłem podobnego przykładu stąd zapytanie. Czy może ktoś podpowiedziec jak napisać obliczenia na zmiennych ? Mam zadanie napisać listing i zaprogramować procka , który będzie mierzył ile impulsów z timer1 mieści się w przerwaniu INT1 , tzn. kiedy INT1 =1 wtedy ile w tym czasie impulsów zliczy Timer1. Licznik...
Witam! Mam zamiar zrobić zamykanie dżwiczek od pieca sterowane termostatem i silnikiem krokowym silnik mam unipolarny 6 wyprowadzeń .Nie umiem w tym wypadku zrobić żeby silnik zrobił tylko te 4 kroki i zatrzymał się lub zrobił parę obrotów i zatrzymał się!.Po prostu nie umiem jeszcze zatrzymać działania w pętli void loop. Mam 65 lat i proszę o wyrozumiałość,...
Ktoś tu zaraz wstawi pewnie gotowy kod ale. Napisałęś około wiec dokładność chyba nie gra roli. Zrobić tak aby tajmer przepełniał sie sam (config timerx timer, start timerx, enable timerx, enable interrupts). W procedurze obsługi tajmera (on timerx przerwanie_tajmerx, przerwanie_tajmerx:) zrób zwiększanie (if jakas_zmienna>0 then decr jakas_zmienna)....
Program chyba ukończyłem: ;Program do "modyfikatora sygnału" ;Parametry techniczne dla taktowania 4MHz: ;- skrócenie czasu o wartość max ponad 2,5ms z krokiem co 10us ;- lub wydłużenie czasu o max stałą wartość ponad 20ms z krokiem co 80us ;- mnożenie czasu przez współczynnik około 1,00 do 2,55 ;- wejścia sygnałowe portB 0-3 ;- wyjścia...
Oto co wymyśliłem :) ORG 0 AJMP 50H ORG 50H LCALL OBLSR ; wywołanie podprogramu obliczania średniej OBLSR: POP R7 ; zdjęcie ze stosu bardziej znaczącego bajtu adresu powrotu do programu głównego i zapisanie w rejestrze R7 POP R6 ; zdjęcie ze stosu mniej znaczącego bajtu adresu powrotu do programu głównego i zapisanie w rejestrze R6 MOV R5, A ; przeniesienie...
PO. : ad 1/ avr'y są ośmiobitowe, ale obsługa zmiennych 16-bitowych jest optymalna. W przypadku średnim obsługa zajmuje 2* więcej czasu: podstawienie pomiędzy rejestrami (2*mov=2 cykle lub w szczególnym przypadku movw=1 cykl), inkrementacja (subi+sbci = 2cykle, odejmowanie wartości ujemnej, gdyż nie ma dodawania o stałą podaną bezpośrednio; w przypadkach...
Pewnie wystarczy moduł STM32C8T6 ("blue pill", zegar 72 MHz), z programem w asemblerze; najlepsze, co można uzyskać, to zmiana stanu wyjścia w tym cyklu zegara, który będzie najbliższy wymaganego czasu zmiany, co oznacza, że sygnał wyjściowy na ogół będzie miał "jitter" na poziomie kilku ns, gdy 72 MHz nie podzielą się równo przez wymaganą częstotliwość....
chodzi mi głównie o to (delay--) Pętla z każdym przejściem odlicza 1ms i odejmuje od delay-- jedynke aż doliczy do 0 i wychodzi z pętli? Dokładnie tak. Inaczej pisząc "podstawa czasu" to 1 ms. Czas w pętli "zostanie odmierzony" jako wielokrotność 1ms, wielokrotność zależy od wartości początkowej (przekazanej do funkcji) w "delay" Ta forma z "while"...
1 - doprowadź sygnały z czujników do trzech wejść jednego z portów 2- każdy z tych sygnałów doprowadź do wejścia przerwania INT0 ( odseparowane diodami lub przez transoptory np. CNY-17 ) Każde pojawienie się impulsu na jednym z wejść wyzwoli przerwanie INT0 W obsłudze przerwania sprawdzasz stan wejść i porównujesz z poprzednim stanem W zależności od...
Ciągle dodajesz i odejmujesz to samo, bo n w pętli Ci się nie zmienia. W miarę działający kawek kodu: float ln(float x) { float wynik = 0; int n = 1; x = x-1; while (n < 20) { wynik += pow(x,n)/n; ++n; wynik -= pow(x,n)/n; ++n; } return wynik; }
tylko i wyłącznie dzielenie i odejmowanie. Czyli [0]=liczba/100 (stałoprzecinkowe - pascal - div) [1]=liczba/10-[0]*100 itd. oczywiście do wykonania w pętli.
Jedyny problem - to długość dzielnika. z tego powodu praktycznie nie możesz użyć dzielenia stałopozycyjnego i musisz zrobić je na piechotę, czyli przez przesuwanie i odejmowanie - pętla iterowana max. 53 razy. Przed dzieleniem do manytsy musisz dopisać bit części całkowitej. Na końcu czeka Cię jeszcze korekcja wykładnika.
Tylko, że porównywanie w procesorach się wykonuje przez odejmowanie (patrz dokładny opis tej instrukcji), a to w przypadku porównywania z zerem jak napisałem nic nie zmieni. Pożyczka, czyli ustawienie przeniesienia C=1 występuje gdy wartość odejmowana będzie większa niż zawartość rejestru. Takie podstawy to kolega powinien znać. A BRLO właśnie sprawdza...
Jak odejmujesz coś od R2 to wychodzi liczba ujemna ale dla DJNZ to ona jest dodatnia >127 (256-X) Przy pierwszym odejmowaniu masz R2=0 więc musi wyjść ujemne ...
Ah, maszyna W ;] Pokręciłeś z algorytmem. Musisz zrobić odejmowanie w pętli. Przed pętlą ustawiasz C na zero. Od A odejmujesz B. Sprawdzasz, czy w akumulatorze wartość większa od zera. Jeśli większa, to zwiększasz C o jeden i wykonujesz ponownie pętlę. Jak w końcu będzie mniejsza od zera, to kończysz pętlę, a wynik z dzielenia masz w C.
W sumie to nie wiem o co ci chodzi. Jeśli chcesz wyświetlać malejąco musisz zainicjować b jakąś wartością a w środku zamiast dodawać w pętli odejmować.
Ja podszedłem do tego z innej strony - zamiast zamieniać na BCD odejmuję w pętli stringi od siebie aż do momentu kiedy dzielna nie jest mniejsza od dzielnika. Wymyślenie algorytmu trochę mnie kosztowało ale mogę dzielić przez przez siebie liczby podane jako stringi o dowolnej praktycznie długości.
Od błędów to tam się roi. 1. Po co jest deklaracja double Wp = Wp? Chyba dla zaciemnienia kodu 2. Dlaczego pętla ma się wykonywać dopóki period == 0? Przecież period na początku nigdy nie jest 0, więc pętla nie wykonuje się ani razu 3. Dlaczego od Wp odejmowany jest iloczyn Wp i współczynnika 1-0.87%? Przecież moc po roku to moc sprzed roku * (1-0.87%)...
Kiedyś miałem podobny problem ale nie zachowałem listingiu tego programu, pamiętam tylko żeby nie wykonywać dzielenia, rozwiązałem to w następujący sposób: od zadanej liczby, w pętlach odejmowałem odejmowałem 100, następnie 10, zliczając za każdym razem ilośc przebiegów pętli i zapisując w trzech bajtach. W ten sposób miałem ilość setek, ilość dziesiątek...
mam problem. muszę napisać program w C++, ktory dodaje odejmuje,i mnoży dwie tablice dziesięcioelementowe jednowymiarowe( liczby z klawiatury) w pętli. bardzo proszę o pomoc - chociaż przykład jak się dodaje odejmuje i mnoży 2 macierze. z góry wielkie dzięki.
Wystarczy zastosować regulator PD. Dodaj część, która będzie dawać sygnał proporcjonalny do prędkości zmian. Przy regulatorze typu P albo będą oscylacje, albo układ będzie regulował wolno. Algorytm jest banalny. W każdej pętli zapamiętujesz stan położenia. Na końcu pętli przepisuj go do innej zmiennej - przykładowo "polozenie_poprzednie". Potem robisz...
Najpierw odczytujesz zadaną wartość w stopniach z klawiatury potem tą wartość dzielisz przez 180 i wyprowadzasz wynik. Jeśli wynik ma być z przedziału 0-2 to w pętli odejmujesz 360 aż wartość w stopniach będzie mniejsza od 360. A ten program na jaki konkretnie jest mikrokontroler??
Switcha w nocy się nauczyłem, nawet napisałem dodawanie i odejmowanie za pomocą switcha. Dzięki za pętle.
To jest prosta pętla wykonuje się tyle razy jaki długi jest rejestr żeby ją przedłużyć można zrobić na dwa sposoby dobudować jeszcze jedną pętlę ,która wykona obecną n razy lub rozszerzyć rejestr do długości 3 bajtów wykonując to samo odejmowanie przeniesienia na tym najwyższym i będzie to samo . Dla bezpieczeństwa między sbi portx i cbi portx warto...
Nie wiem czy odbierasz tam jakieś komendy. Wywal te Wait`y. Tutaj po zmianie stanu do zmiennej Blokada zostanie wpisana wartość do odliczenia w dół. Jeśli nastąpi następne przerwanie to w zależności od tego czy minął już czas blokady, to albo zostanie przedłużony jej czas bo ktoś trzyma przycisk dłużej albo.. :D [syntax=basic4gl]Dim Blokada As Word...
To nie jest dokładnie to samo. Akurat na AVR sprowadza się to do tego samego, ale ogólnie w C typy char wcale nie muszą być 8-bitowe. A wracając do pytania - a dlaczego kolega drzasiek potem stosuje int, a już w pętli uint? Tylko on wie :) Tak naprawdę nie ma żadnego uzasadnienia, podobnie jak nie ma uzasadnienia dlaczego wybrał ukł. współrzędnych,...
Ogólnie schemat robienia pętli jest prosty taki bardziej pseudokod w x86: [syntax=asm]mov eax, 10 ; ładujemy do jakiegoś rejestru ilość obiegów pętli loop: ; tutaj etykieta ; tutaj wykonujemy co ma być w pętli dec eax ; odejmujemy 1 od eax jnz loop ; jeśli nie zero skocz do loop[/syntax]
Ldi R30, 28 Ldi R31, 78 Rcall _lcd_delay ; 20 ms delay at 4 MHz Witam, przedstawiony kod asemblerowy jest niezmiernie prosty w edytowaniu i zmienianiu parametrów instrukcji. Ldi - jak każdy wie, to ładowanie odpowiedniej wartości do rejestru Rcall - wywołanie programu. _lcd_delay: Sbiw R30,1 ;2 cycles Brne _lcd_delay ;2 cycles Ret Sbiw - instrukcja...
Albo można tak: W pętli np. while odejmować od danej liczby 10000 i zliczać ile razy pętla się wykona, dopóki liczba będzie większa od 10000. W tym liczniku będzie właśnie liczba dziesiątków tysięcy, tysięcy itd. Potem odejmować w ten sposób 1000, 100 i 10, na końcu zostanie liczba jedności. Kto wie czy nie będzie się szybciej wykonywać niż dzielenie....
Wygląda na to, że nie da się pozbyć zmiennych typu single, a jeśli nawet to i tak proces liczenia danych jest dłuższy niż przy użyciu zmienne tego typu. Problem na tą chwilę rozwiązany jest tylko tak, że od zadanej wartości Y odejmuję zakładany czas wykonania pętli i jest OK. Jeśli nie znajdzie się jakieś rozwiązanie przyspieszające działanie pętli...
excel odejmowanie odejmowanie godzin liczby odejmowanie
dziać silnik prąd stałego resetować ustawić kanał prestigio android
piece gazowe kondensacyjne regulacje kalkulator alarmu
Ładowarka baterii roweru elektrycznego piszczy podczas ładowania – przyczyny i analiza dźwięku SMPS Bosch 1607502211 AL 1115 CV Charger Schematic, Circuit Diagram, Common Faults