Witam To działa tak że im dłużej masz warunek spełniony to zmienna VD544 jest albo cały czas zwiększana (+D) albo zmniejszana (-D) przez okres spełnienia warunku. +D in, out działa jak out=out+in -D in, out działa jak out=out-in Pytanie jest tylko jak w programie jest ta zmienna (VD544) ustawiana wcześniej przed tymi instrukcjami. Pozdrawiam
Na naciśniecie przycisku robisz żeby jakiejś zmiennej przypisał (w momencie jego naciśnięcia) odczytaną wartość z przetwornika a później za każdym razem od aktualnego odczytu odejmujesz wartość tej zmiennej. Poza tym nie ma raczej sensu w przerwaniu od przycisku (czy w jakimkolwiek innym sposobie odczytu stanu przycisku) robić ponownego odczytu przetwornika....
Nie mowie o Twoim wpisie, tylko ogólnie - jak postrzegam rozwiązywanie problemów na tym forum. Ktoś o coś zapytał? Ok, więc zajmujemy się wszystkim innym, byle nie tym o co autor pyta. 3, 2, 1 start! :) Wracając do ukladu: Jest to stan zastany i próba dorobienia do tego płynnego migania Led (rozjazsnianie/ściemnianie, ale nie 1/-1 tylko np kiedy jedna...
a mi się wydaje że uint16_t zmienna = 2400 - 3600 do wynik 64336
Czyli masz już w systemie przerwania zgłaszane ze stałą częstotliwością, zapewne na poziomie przynajmniej kilkuset Hz. Oznaczamy tę częstotliwość jako f. Mamy zmienną a - długą i całkowitą. Inicjujemy ją na 0. W każdym przerwaniu timera: - Dodajesz do tej zmiennej liczbę kroków na 10 s (czyli od 1 do 99) - Jeśli wartość tej zmiennej przekroczy 10*f,...
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...
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.
Witam, mam już jaśniejszy pogląd na te moduły, rzeczywiście da się krócej napisać te procedury. Dziękuję. Które obiekty Range były błednie zdefiniowane i na co w tym przypadku mam zwracać uwagę? Grafiką komórek narazie się nie przejmuję, to temat kosmetyczny. Najbardziej zależy mi, aby kalkulacja działała bez problemów i intuicyjnie. Muszę przyznać,...
Nie pamiętam składni C, ale jak pisałem: 1. Robisz w klasie okna prywatne pole typu czasowego 2. Na start przypisujesz mu wartość aktualną (Now()) 3. Różnicę liczysz po prostu odejmując od Now() wartość zapamiętanej zmiennej. Do wyświetlenia możesz potem sformatować (TimeToStr())
Gdzie mam oczy! Przecież w kodzie zrobiłeś odejmowanie :) W załączniku prawidłowo testowane wartości... Zwróć uwagę na zmienną 'prf' i jej wartość.
Zobacz na http://www.avrbeginners.net AVR Assembler->Math->Multiple byte maths. Są tam co prawda krótkie, ale dobrze opisane przykłady operacji na liczbach 2 i nawet 4 bajtowych: dodawanie, odejmowanie, porównania itp. Pozdrawiam
Użyj do tego instrukcji switch. Przycisk będzie dodawał lub odejmował do wartości zmiennej.
Pomysł jest straszny. Poczytaj o timerach. :D No dobra, ale w tym przypadku timer ma zliczać impulsy i ilość tych impulsów dodawać lub odejmować od zmiennej? I czy do tego wystarczy jeden timer, czy dwa (do dodawania jeden i do odejmowania jeden)?
Sygnał podaję na nóżkę PORTD.6, mam go skonfigurowanego tak: [syntax=basic4gl]Config Portd.6 = Input[/syntax] Timer konfiguruje jako timer, ponieważ chcę mierzyć czas trwania zbocza: -konfiguruję za zbocze opadające -przepisuję wartość timer1 do zmiennej A -przełączam na zbocze narastające -przepisuję wartość timer1 do zmiennej B -od zmiennej B odejmuję...
Czy zamiast wstawiać ten epsilon, mogę po prostu wynik operacji odejmowania zaokrąglić do 2 miejsc po przecinku i wtedy porównać ze zmienną $z?
Na pewno wymaga to pomyślenia nad algorytmem - na wejściu dostajemy sygnały "kroków" enkodera, na wyjściu mamy dawać kroki dla silnika, gdyby pierwsze miały być dużo gęściejsze, to dla każdego dodajemy pewną wartość w1 (dużo mniejszą od 1) do zmiennej, a gdy suma z dodawania przekroczy 1, generujemy krok silnika i odejmujemy 1 od zmiennej; przy niezbyt...
Jeszcze jedno mam pytanie. Szybciej w STM32 wykona się dodawanie/odejmowanie 32 bitowych zmiennych, czy 8 bit ? A jak w powyższym jest z mnożeniem i dzieleniem ?
Pisząc o dodawaniu masz na myśli, że jeżeli base jest np. 2 to jak przekształcamy na dziesiętnt to musimy dodawać wartości wymnożone i odpowiednio podniesione do potęgi drugiej? Nie.... Przykładowo masz ciąg "124" reprezentujący liczbę 124, a więc Bierzesz pierwszy znak z lewej (1 - kod ASCII 49) taka jest wartość bajtowa zmiennej char. Odejmujesz...
Zrób na dwa szybkie klaśnięcia od razu bo Ci się coś przewróci w nocy (kij od miotły nawet ) i jesteś bez światła. To samo pies... pies nie szczeka tak szybko jak podwójne klaśnięcie. U mnie logika jest taka że od wykrycia pierwszego klaśniecia włącza Timeout i zwiększa wartość zmiennej. Timer odejmuje od tej zmiennej co ~500ms. Jak zdążysz klasnąć...
Albo z drugiej strony: wprowadzasz dodatkową zmienną przechowującą wartość aktualnego czasu w minutach (niestety potrzebna będzie zmienna typu word), podobnie czas załączenia - oczywiście przeliczanie to tylko x = Godz * 60 x = x + Min Pozostaje jedynie porównać obie zmienne.
Nie zagłębiam się o co dokładnie chodzi w kodzie, bo to i tak fragmenty, ale nie ma żadnych szans, żeby mikrokontroler był w stanie wyrobić z taką częstotliwością przerwań. Tak jak pisałem wcześniej, musisz zmienić podejście, ale wnioskując z fragmentów kodu, w grę wchodzi jedynie zwiększenie zegara systemowego, prawdopodobnie połączone z trybem CTC...
Ja bym to zrobił tak: zadziała pierwszy czujnik - ustawiasz jego zmienną na 1 i czekasz aż zadziała drugi czujnik, jeśli tak, zerujesz zmienną , dodajesz jeden do licznika, i czekasz aż drugi czujnik wróci do stanu zasadniczego. Jeśli nie - zerujesz zmienną po określonym czasie. (znaczy że ktoś uruchomił jeden z czujników i nie aktywował drugiego) zadziała...
No więc tak jak mówiłem, gdy podaję wartość stałą to wszędzie jest 0 nie licząc prążka na 0Hz. A Ty jak sam pisałeś masz około 512 bo coś tam skacze na wejściu i dlatego chciałem żebyś sprawdził co się stanie gdy wpiszesz na sztywno 512. Druga sprawa, wynik ładujesz do tablicy unsigned char. Na jakim procku to robisz? Bo w DSP char jest 16-bit ale jeśli...
Docelowo ma to być w jężyku STL dla sterownika PLC Siemens SIMATIC S7-300 Mogłeś zadać pytanie w innym dziale :) Zerknij na funkcję z biblioteki standardowej (IEC Function Blocks) FC34 SB_DT_DT. Odejmuje dwie zmienne DATE_AND_TIME i zwraca wynik w formie TIME. Ograniczeniem jest maksymalna różnica, wynikająca z rozmiaru TIME, które jest typu DINT,...
Krótka podpowiedź: ustaw sobie któryś timer żeby się przepełniał co 1 sekundę albo jakąś WYMIERNĄ część sekundy (należy ustawić odpowiedni podzielnik zegara CKSL i wartość w OCRx) i następnie albo uruchom przerwanie od zegara i w programie przerwania będzie ci się odejmować od zmiennej (powiedzmy sekundy--; ) albo testuj programowo flagę timera i jak...
Zgadza się, dziękuję za pomoc. Jeszcze pytanie, dlaczego w tej funkcji odejmowana jest jedynka od długości zmiennej string, jeśli ma być usuwany ostatni znak?
Zawsze pod wartosc tmp zapisujesz sume a+c, w wypadku odejmowania powinna byc roznica... 2 rownania w "case -" do zmiany i koniec
Tzn, menu główne ma się zawierać w case 1, 2, 3 zgadza się. Naciskając OK dodaję do zmiennej menu 10, czyli przechodzę na podmenu MANUAL czyli case 11, 12, 13, 14. Teraz w zależności, który case jest wybrany (przypuśćmy 11) to aby przejść niżej przyciskam DOL dodaję do zmiennej 1 i przechodzę do case 12. Aby przejść wyżej przyciskam GORA dodaję do zmiennej...
Nic tam nie jest zagnieżdżone. Jest 24-bitowy licznik pętli, zawarty w rejestrach r18:r17:r16. Te trzyinstrukcje po prostu odejmują jedynkę od zmiennej 24-bitowej, a ostania - zamyka pętlę jeśli nie osiągnięto wartości zero. To przykład, jak nie należy robić opóźnień w programach. ;)
Jeśli dobrze zrozumiałem algorytm, to najlepiej zastosować 3 liczniki. Wejście I1 dodaje na wszystkich trzech, a wyjścia odejmują. Każde swój licznik. Trochę zabawy z nawrotką ścieżki. Warto zastosować też andy ze zboczem, oraz flagi dla opóźnień.
Sprawdź to :D Napisałem przy porannej kawie (mogę jeszcze spać a o tym nie wiem). Nie mam pojęcia czy się sprawdzi, ale możesz coś przerobić ;). Piszesz ile chcesz kroków i z jaką prędkością wywołując silnik do odpowiedzi :P [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 Config Submode = New 'nie trzeba deklarowac SUB`ów, ale musza być napisane...
Aplikacja konsolowa pisze wiersz po wierszu, taka natura konsoli. Jak chcesz sumę od uruchomienia programu to po prostu nie odejmuj wartości początkowej... przecież masz dwie zmienne: total i delta. Rozumiesz co to delta? String zapisywany do plików możesz przecież dowolnie formować, nikt Ci nie każe pisać tego samego do pliku co piszesz na ekran.
Witam, wystarczy od zadanych wartości PWM odejmować wartość dodatkowej zmiennej np SKRET na silniku w którą stronę chcesz skręcić a zwiększać na drugim np. zmniejszając wartość dla LEWEGO silnika o 5 przy prędkości 120 a zwiększając dla Prawego uzyskasz skręt. Pytanie dodatkowe: Czy przewidujesz jazdę do tyłu? Skręt w miejscu?
Zaletą wzmacniacza zasilanego symetrycznie jest możliwość wzmacniania sygnałów wolnozmiennych lub składowej stałej o biegunowości zarówno dodatniej jak i ujemnej. Przy wzmacniaczach zasilanych niesymetrycznie w takiej sytuacji musimy przesuwać punkt pracy o jakąś wartość napięcia a następnie to napięcie odejmować. Innym rozwiązaniem jest modulacja napięciem...
A nie możesz ??? nie rozumiem pytania. To co wg ciebie można robić ze zmiennymi typu WORD ??? tylko dzielić? czy tam odejmować/dodawać ? a może i to też nie ?
czy program skladający się z poleceń bascoma i wstawek assemblerowych będzie zajmował mniej miejsca niż taki sam program napisany tylko w bascomie?? Będzie zajmował mniej miejca. Najwięcej możesz zaoszczędzisz zastępując pętle i IF-y a także dodawanie/odejmowanie na zmiennych dwubajtowych. Mnie się udawało zbić 20-30% kodu jak próbowałem się zmieścić...
Witam. W jaki sposób można w kompilatorze Bascom zapisywać w jednej linii więcej niż 2 operacje matematyczne - tj. dodawanie, odejmowanie, iloczyn 2 zmiennych itp.. Bo mam złożone działania, a dzielenie tego na poszczególne kroki mające za każdym razem tylko 2 zmienne które przykładowo mnożę jest bardzo uciążliwe i muszę stosować dodatkowe zmienne pomocnicze......
Teraz zauważyłem, że trochę się machnąłem (dwa odejmowania jedynki). Oczywiście, że możesz tak zrobić - ja wydzieliłem dodatkową zmienną ze względu na optymalizację: aby uniknąć dwóch odczytów zmiennej volatile. Różnica będzie w dosłownie czterech czy pięciu cyklach. Jak chcesz, to możesz nawet napisać tak: [syntax=C]ISR(TIMER...) { if(cnt_busy && --cnt_val...
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ść....
Chyba będzie najlepiej jak posłużę się przykładem. Przedstawiam wartości maksymalne. przyklad 1. x=ADC/timer - x to bedzie duży ułamek np. 0,00 999 999 999 będzie użyty jako stała wyliczona na początku z przetwornika ADC i timera, timer może przyjąć nawet wartość 9 999 999 999 999 przyklad 2. y=timer2*x - timer2 moze przyjmowac wartosci 9 999 999 999...
Mógłbym prosić o kawałek przykładowego kodu? Bo nie bardzo wiem jak to wykonać. W przykładach biblioteki do obsługi modułu RTC wygląda to tak: [syntax=arduino] if (RTC.read(tm)) { godziny = tm.Hour; minuty= tm.Minute; sekundy = tm.Second; }[/syntax] Więc każdy element formatu hh:mm:ss jest w osobnej zmiennej.
Czym różni się dla kompilatora obliczenie zmiennej R przed warunkiem IF i takie samo działanie matematyczne ale w warunku IF? Zawsze można w if sprawdzać R zamiast powtarzać operację odejmowania. Aby być pewnym jak zinterpretował to kompilator można zobaczyć jakie instrukcje assemblera wygenerował. Moje przypuszcenie - całe wyrażenie zawiera stałą...
Może opiszesz dokładniej poszczególne linie kodu? :) dodam komentarze do Twojego kodu co rozumie a czego nie rozumie :) unsigned char enc_last=EncoderState & 3; tutaj maskujesz 2 najmłodsze bity prawda? zmienną EncoderState deklarowałeś jako zmienna globalna unsigned char? czy poprostu lokalną wewnątrz ciała jakiejś petli? i-=enc_last; enc_last+=i;...
Nie podałeś ja są przechowywane te dowolne liczby (chyba myślałeś o zmiennych). Dla jednobajtowych (8-bit) użyteczny jest skutek uboczny rozkazu "movf x,x" w postaci ustawienia bitu Z w rejestrze stausowym jezeli ruszony rejestr ma wszystkie bity równe 0. Jeżeli zmienna jest wielobajtowa to wystarczy wykonać "or" na wszystkich jej bajtach i jeżeli w...
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...
sterownik jest zintegrowany z silnikiem i niestety nie ma opcji zmiany natężenia prądu, ustawiam tyko rozdzielczość kroków, ustawiona jest na 400 kroków na obrót czyli pełny krok. Większe koło to też mniejsza moc a już jest słaby. czas_kroku_max to zmienna do generowania rampy rozpędzania. jest to maksymalna długość impulsu step dla silnika, w czasie...
pozwoliłem sobie przeliczyć Twoje wskazania licznika zgodnie z taryfą G11 jaką mam i wyszło że zaoszczędziłeś 42,80 Nie wiem jak to liczyłeś, ale moje 7426 kWh ( S1+S2) w taryfie G11 kosztowałoby ok 4050 zł ( 0,5461 zł/kWh), a w rozbiciu na strefy, bez udziału "algorytmu", czyli bez PV , zapłaciłbym łącznie 3088 zł ( S1= 0,6481 zł/kWh ; S2=0,33 zł/kWh)....
I to juz bedzie caly program?? A po co jest te NoSound na koniec?? Cały (pamiętaj tylko, że zmienne są 16 bitowe czyli przypisania czy odejmowania muszą być 16 bitowe). Oczywiście można ograniczyć się do 8 bitów dla uproszczenia. W programie podałem częstotliwości. W docelowym programie musisz zapisać podzielniki = ftakt/f; gdzie ftakt - częstotliwość...
To jak już to konkretnie zaimplementujesz to nie ma większego znaczenia. Masz zmienną współczynnik spalania i w każdej jednostce czasu odejmujesz pewny procent paliwa w zależności od tej zmiennej. Każda metoda, która włącza światła, deszcz itp, to zwiększa ten współczynnik. Każda metoda wyłączająca światła, deszcz itp - zmniejsza ten współczynnik. A...
dzielenie w bascomie zjada bardzo dużo zasobów... zamień liczbę na hexy albo binarnie i dodawaj albo odejmuj, [url=http://edu.i-lo.tarnow.pl/inf/alg/0... binarne to w zasadize odejmowanie z przesunięciem...
marek 1234.Nie odejmuj łopat tylko zmniejsz kąt zaklinowania.A najlepiej by było gdybyś zrobił łopaty ze zmiennym kątem zaklinowania(wewnętrzny kąt duży a zewnętrzny bardzo mały).Wtedy łopaty muszą kręcić się szybciej.
Na pytania 1 i 2 dostałeś wyczerpujące odpowiedzi. Do 3 dodam, że czas wykonania tych funkcji jest bardzo krótki, więc można sobie poradzić sposobem - wykonać te funkcje dużo razy (np. milion) i zmierzyć czas wykonania całości. Dla porównania napisz dodatkową funkcję, która niemal nic nie robi (np inkrementuje zmienną statyczną, żeby kompilator nie...
robiłem to tak ze mierze w jednakowych odcinkach czasu napięcie i prąd, mnożyłem je se sobą, a otrzymany wynik dodawałem do 32 bitowej zmiennej, a jeśli wartość tej zmiennej przekroczyła jakąś wartość( doświadczalnie przy kalibracji) to do zmiennej Wh ( nie kWh bo by mi tych 32 bitów brakło :D ) dodawałem jeden, a od zmiennej 32 bitowej odejmowałem...
Zadeklaruj sobie trzy zmienne zainicjowane zerem, jedną na sumę i dwie na element najmniejszy i największy. Przy każdym pomiarze dodawaj go do sumy i sprawdzaj, czy nie jest on największym lub najmniejszym elementem, jeśli tak, to podmień odpowiednią wartość zmiennej. Na końcu odejmujesz od sumy te dwie wartości i dzielisz przez 3 uzyskując średnią.
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...
Siedzę, czytam, czytam i mam już mętlik ... Czyli generalnie do tego co mam nie da się dodać przeciążenia w sposób taki, żeby działało, jak zwykły kalkulator ? Chodzi mi o możliwość zapisu... naciskam 1 naciskam + naciskam 2 naciskam + naciskam 3 naciskam = i otrzymuję wynik 1 + 2 + 3 = 6 Rozumiecie o co mi chodzi ? Bo z mojego kodu działa mi na zasadzie...
Po pierwsze, jeżeli stosujesz własne funkcje do dokonywania obliczeń, to możesz sprawdzać właśnie w tych funkcjach, czy ich argumenty "są odpowiednie". Zamiast : function pierwiastkowanie(a:real):... begin pierwiastkowanie:=sqrt(a); end; Zrób coś takiego : function pierwiastkowanie(a:real):... begin if...
To jest zwykła fizyka. Silnik ma ograniczoną prędkość i tego nie przeskoczysz ale można łatwo to rowiązać. Tak to robię na enkoderach W przerwaniu enkodera inkrementuję zmienną "W_lewo" albo "W_prawo" zależnie od kierunku pokrecenia. Zmienne są inkrementowane w dowolnym tempie i żadnego kroku nie zgubisz. Następnie w przerwaniu Timera, albo nie częsciej...
może ustaw dwie zmienne którę będą określały zakres odczytywanej pamięci jeśli przewijasz w dół do do obu zmiennych dodajesz 14, jeśli w górę do odejmujesz od obu :)
Dodajesz do siebie wszystkie dane w zmiennej 8 bitowej i sumę odejmujesz od zera i masz wynik 0 - (a+b+c+d+e+f+g...) = checksum
Witam Chciałem prosić was o pomoc w stworzeniu małego i prostego licznika. Zaznaczam z góry że elektronike bardzoo słabo znam ;) To mój poczatek. Przejde do rzeczy: czego oczekuje od was ? -Abyście mi napisali co musze kupić (najlepiej allegro od artpark ), ściągnąć, jak z czym połączyć, czym programować. W uproszeczeniu środowisko i co ma robić? -wyświetlacz...
Witam r = 2 * r + (d - '0'); W konsoli wprowadzasz cyfry ale doczytywane są one jako znaki. Zmienna d przechowuje te znaki jako odpowiednie liczby z tablicy ASCII. Na zmiennej d wykonywana jest operacja odejmowania liczy ASCII zapisanej w tej zmiennej z kodem ASCII znaku '0' w celu uzyskania cyfry. Np. Znak d='5' ma kod ASCII 53. Znak '0' ma...
.Tak teraz wygląda program. Jest to troche bez sensu. Masz wyświetlacz 16 characters x2 linie... Popatrz na te dwie wybrane linie twojego kodu: [syntax=c]lcd.print("Licznik: 00000"); // zawiera 16 characters Lcd.print("- :Wynik: 00000"); // zawiera 16 characters //zera zajmują pos. 12 do 16, czyli wyświetlaczx wypełniny! [/syntax] Nie jest nic w tym...
system mam 32bit. Błąd jest taki że niby część zmiennych z tych plików i zadeklarowanych bibliotek wyskakuje jako niezdefiniowane.
Ogólnie ciężko rozkminić Twój kod (przynajmniej dla mnie) - nazwy zmiennych, jakieś dziwne odejmowanie (tab http://obrazki.elektroda.net/64_12639194...
W przykładzie wbudowanym w Arduino jest SerialEvent, w nim dowiesz się jak odebrać linię tekstu, czyli zakończenie w terminalu ma być znakiem końca linii i początek wiersza (standardowo). Taką linię tekstu parsujesz, zamiast tak jak jest w przykładzie odesłać odebrany tekst z powrotem. Deklarujesz dwie zmienne, przypisujesz do nich wynik parsowania,...
Witam, Może spróbuję L #ProgramNr L 1 -I //Operacja odejmowania #ProgramNr - 1 L 242 *I //Operacja mnożenia (#ProgramNr-1)*242 L 0 +I //Dodawanie [ (#ProgramNr-1)*242] + 0 T #Temp_1 //Zapamiętuje wynik wszystkich operacji w zmiennej Temp_1 L #Segment L 1 -I //Odejmowanie (Segment-1) L 12 *I //Mnożenie (Segment-1)*12 L 2 +I //Dodawanie [(Segment-2)*12]+2...
Zalezy jaka chcesz uzyskac dokladnosc. Dla typowych enkoderow z przebiegami przesunietymi w fazie o 90 stopni mozna zliczac 1 impuls na okres 2 lub nawet 4. Zliczanie 1 impulsu na okres jest banalne. Na jednej koncowce szukasz jakiegos zbocza zalozmy ze narastajacego i patrzysz jaki stan jest na drugiej koncowce, jesli wysoki dodajesz jesli niski odejmujesz...
atomm dzięki w moim programiku jest tak ze obroty w prawo lub w lewo to dwa oddzielne pod programy które wywołuje je poleceniem gosub myślisz ze jak zamknę je w pętlach FOR NEXT i zamiast cyfry po TO zastosuje zmienną i będę dodawał lub odejmował to zadziała czy źle rozumuje
Ok, no powiedzmy, że dociera. Jedno pytanie jeszcze: Masz użyte zmienne Wlacz_zima i Wylacz zima, które trzeba zadeklarować osobno, a czy nie lepiej zadeklarować je w podprogramie, bo zdaje się, że nie są potrzebne poza tym podprogramem? A "zwracana-odliczana" jest wartość zmiennej Zima_lato na podstawie której dodajemy lub odejmujemy godziny np z GPS...
szerokości przedziałów, proporcje - mnożenie,dzielenie,odejmowanie :) czyli np: 200 -> 20 (wartość+10) -> ? ? = ((wartość+10)*20/200) - 10
O, teraz widać. Zdaje się, że szło by coś wykombinować. Po mojemu: 1) trzeba znaleźć ostatnią niepustą (Nr wiersza) w kolumnie A. Gotowe przykłady z PODAJ.POZYCJĘ do odszukania w Internecie. 2) funkcja WIERSZ(), sprawdzenie parzystości (funkcja MOD), odejmowanie Nr wierszy + sprawdzenie czy reszta z dzielenia przez 5 równa zero (5 element segmentu)...
Witam, odświeżę nieco temat i przedstawię modyfikację zegarka: ......... g_speed to zmienna, która zmienia się tak jak g_position, tylko że z inną prędkością. Od g_position równie dobrze można zmienne odejmować, aby nie zabrakło danych do odczytu z pamięci, należy sobie tablice kolorów odpowiednio przygotować i przetestować. 5. Nagranie z cyfrowej...
otrzymuję BL2BLABL Dodam że ciągle jest to samo przy resecie, przy wylączeniu i wlączeniu także. (później) Gdy zadeklarowalem zmienną buffor jako globalną dziala bez problemu :) Ale dlaczego tak się dzialo ? W przypadku użycia funkcji do konwersji zmiennych 32 bitowych który sposób jest szybszy (dzielenie czy odejmowanie) ? Mój degugger ( Scarabeus...
Można zmienić podejście do pomiarów czasu i zamiast z bezwględnej wartosci millis korzystać z interwałów. Zwykle i tak na podstawie bieżącej i poprzedniej wartości millis wylicza się jakiś odcinek czasowy. I tu czas na magię: odejmując dwie liczby całkowite bez znaku i zachowując wynik w zmiennej o tej samej wielkości otrzymuje się wynik bez względu...
Do tego najlepiej użyć enkodera absolutnego. Wtedy pozycje jaka ma enkoder odejmujesz odejmujesz od pozyji absolutnej i wynik wpisujesz do zmiennej odpowiedzialnej za dystans. Ze zwyklym bedzie trudniej. trzeba by bylo na poczatku ustalac pozycje zerowa, resetowac licznik, odejmowac impulsy jakie licznik naliczyl od stalej enkodera i wtedy wpisywac...
A sprawdź jaki będzie wynik odejmowania tych dwóch prawie równych liczb, jeśli nie zero, to w takim razie to jest problem "standardowy" z liczbami zmiennoprzecinkowymi polegający na niejednoznaczności liczby i nieciągłości zbioru. Tak na szybko znalazłem taki tekst http://www.cygnus-software.com/papers/co...
Ten modem bawi sie jak chce :s To nie modem się bawi, tylko fale radiowe się tak zachowują. Jeśli główny sygnał jest słaby, do głosu dochodzą wszelkie odbicia tych fal. Albo się to sumuje, albo odejmuje. 20 cm w jedną lub drugą stronę może powodować różnicę.
Rozumiem że w zmiennej tekstowej masz liczbę zakodowaną jako ASCII, można to przekonwertować na różne sposoby w int, np. w WinAVR można tak(cytat z dokumentacji): 6.19.4.4 int atoi (const char * string) Convert a string to an integer. The atoi() function converts the initial portion of the string pointed to by nptr to integer representation....
że obie zmienne są typu uint16_t, mają identyczne wartości jak u autora, przeprowadzamy odejmowanie - wynik jest ciągle poprawny po rzutowaniu na int16_t A nie jest tak, że przed wykonaniem tego odejmowania, obie wartości są promowane najpierw do int lub unsigned int? Nie wiadomo jaki jest rozmiar int, bo nie wiadomo, o jaką platformę chodzi.
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...
Witam, więc jeśli chcesz to tak rozwiązać, lepiej używać funkcji GetTickCount (liczba milisekund od startu systemu). Zpisz w zmiennej ile było ich na początku, a potem odejmuj tę wartość od kolejnych uzyskanych. Jeśli potrzebujesz dokładniejszego timera użyj funkcji QueryPerformanceCounter. Pozdrawiam, Krzysztof.
Dodajesz jeden warunek przed decr by wykonać zmniejszenie o 1 tylko jeśli dajmy na to M jest większe od zera. W przeciwnym wypadku w ogóle program pomija odejmowanie tylko nadaje wartość 59. Przy okazji prawdopodobnie masz zmienne Byte - w tym wypadku nie ma jako tako wartości ujemnych (są w C dla signed char, int8_t) więc ten kawałek: If M < 0 Then...
Podpowiesz jak to zrobić ? Nie mam na to pomysłu. Zapamiętać i obliczyć tylko jak ? Jak odczytujesz pomiar z pierwszego termometry zapamiętujesz w zmiennej np T1. Przy odczycie drugiego w np T2. Później zwykłe odejmowanie.
Witam, od jakiegoś czasu zacząłem się interesować elektroniką jeszcze nie studiuje na razie się uczę w gimnazjum i przeczytałem bardzo dużo artykułów w internecie, na temat zasady działania tranzystora i mam takie nurtujące pytania: 1)Jak to jest że jak chcemy zrobić wzmacniacz na przykład na jednym tranzystorze bipolarnym npn że musimy złącze baza-emiter...
Każdy bajt to pionowy słupek z 8 pikseli liczba bajtów zawsze mysi być taka sama (1920) chcąc zapalić piksel musisz do konkretnego bajtu dodać jego wagę 1,2,4,8,16,32,64,128 chcąc zgasić zapalony odejmujesz jego wagę (wartość) bajtów zawsze ma być 1920 .
Coś w ten deseń chociaż żeby to przetłumaczyć toczka w toczkę to najlepiej by było użyć Config Base = 0. Wtedy tablice mogą się zaczynać od indeksu zero czyli można by wpisywać do Delays(0) - Delays(Steps-1) a tak tego nie masz. Tutaj może nawet nie jest potrzebny warunek If I > 1 bo to chyba w Arduino jest po to by nie było mnożenia I * 4 + 1 bo...
Nie wiem czy wiesz co będzie wynikiem jeśli weźmiemy dwie zmienne szesnastobitowe bez znaku i odejmiemy większą od mniejszej? Wynik nadal będzie dodatni jednak pomniejszony o poprzednią wartość tej mniejszej zmiennej. Tak więc proponuję rozważyć taki temat: Timerx w momencie pierwszego odczytu w INTx ma 65530. Nie zerujemy Tmerx . Timerx w momencie...
Piszę tutaj, bo jestem już zdesperowany. Jak patrzę na układ podpięty do programatora, to aż mi już się niemiło robi. Ale do rzeczy i od początku. Znalazłem w sieci taki kod: [syntax=basic4gl] Dim Pll As Single Dim Fset As Word Dim Dane As Byte Dim A As Single [...] Nastaw: Pll = A I2cinit I2cstart I2cwbyte &HC0 Pll = Pll * 100000 Pll = Pll + 225000...
1. Jak zrobić, aby skrypt nic nie wyświetlał? Myślę, że zlecę pracę sprzątania danych raz na dobę CRON'owi. Usuń linie lub wstaw na początku linii znak #, np. tak: Dodano po 6 2. Jak zmienić w skrypcie, aby dla testów skrypt wyczyścił dane starsze niż np 7 dni? Nie łapię tego czasu unix Skrypt sprawdza bieżący czas i go zapamiętuje w zmiennej "timeNow:...
Co do programu przedstawionego w załączniku. Strasznie marnujesz czas procesora, powinienes w przerwaniu wykonac kilka instrukcji a ty wykonujesz wszystko. Uboczną stroną jest jescze to ze musisz zapisywac wykorzystywane rejestry na stosie i "uziemiasz sobie licznk 0" Proponowałbym taki sposób: czujnik dołaczasz do wejscia into lub int1 ustawiasz na...
Dzięki kolego ale mnie zaćmiło że polecenie nest niekompletne program działa. I jest w zakresie 1-255 Muszę tylko jeszcze zrobić że: Np I min=1 i jak odejmuje to aby nie wskakiwało na 255 możesz mnie naprowadzić???
PS: odnośnie obliczania Andrzej__S, dołożyłbym jeszcze sprawdzenie przekręcenia Timera: // jeżeli opadające - oblicz różnicę else if (TCNT0<prev_tcnt) T = TCNT0 - prev_tcnt; else T = prev_tcnt - TCNT0; Po pierwsze: w ten sposób otrzymasz błędny wynik. 'T = prev_tcnt - TCNT0;' odpowie na pytanie, ile brakuje licznikowi do osiągnięcia poprzedniego...
Na pewno na pierwszym miejscu jest zestaw instrukcji. Na przykład możliwość łatwego adresowania tablic obiektów o rozmiarze większym niż 1 bajt powiedzmy w ARM, czy w MC68020 i wyższych, lub na przykład wykonywanie operacji na 16 i więcej bitach za pomocą instrukcji operujących na danych ośmiobitowych (dodawanie, odejmowanie, porównanie itd. z propagacją...
Witam i dziękuję za pomoc. Nie mam żadnego doświadczenia w pisaniu programów,chcę zrobić licznik zliczający od 9999 do 0 w dół i wgórę, procek to attiny2313,czy zlicznie zrobić poprzez zadeklarowanie zmiennej i do niej dodawać lub odejmować impulsy zliczane z wejścia procka?, w jaki sposób używając podanych wcześniej programów obsługi 74ls164 wyprowadzić...
To urządzenie jest dziwne. Rzeczywiście ma pewną funkcjonalność przedpłaconą, którą można przełączać za pomocą dpID 11 i działa tak samo jak w TOMPD-63. Energię przedpłaconą można odczytać na dpID 13 i dodać do dpID 14. Zużyta energia jest wówczas automatycznie odejmowana od energii przedpłaconej. W dpID 18 są dwie zmienne więcej w porównaniu do TOMPD-63....
Myślałem że chcesz to zrobić na układach scalonych. Jak na PLC to tylko kwestia napisania dobrze programu. W PLC bedziesz miał bardziej "logiczny" ni z fizyczny dostęp do układów liczących i możesz zrealizować to tak że od pewnej zmiennej typu całkowitego np. P (od pietro) będziesz odejmował zawartość licznika zliczającego mijane piętra. Na jakim sterowniku...
Najszybciej powinno pomóc to ;) ..ale mógłbyś sam pomyśleć... Zdecydowanie lepiej zrobi jak pomyśli samodzielnie bo to co napisałeś nie działa poprawnie , poza tym ma sporo ograniczeń . Napisałeś to nie biorąc pod uwagę budowy mikrokontrolera i najgorzej jak można było . Czym mniejsze zmienne tym szybciej działa program , jak są 8 bitowe to super bo...
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...
Nowa propozycja jest lepsza, ale jeśli pobierzesz TAR przy wartości zero, to zwiększysz aux przez co wartości "var" zaczną się od 65536. Co do kodu: var += (TAR - var) & 0xFFFF; to jest to właśnie zwiększanie "var" pozbawione wszelkich błędów. Najpierw jest liczony przyrost wartości TAR od ostatniej wartości (wszystko na prawo od +=) poprzez...
excel odejmowanie odejmowanie godzin bascom zmiennych
virtual floppy drive automatyczna skrzynia biegów naprawa bezpiecznik wycieraczka tylny
Tuner Sansui T- nie odbiera stacji radiowych Brak wolnego nadmuchu w Oplu Meriva 2005 - przyczyny i diagnostyka