Za każdym razem jak uruchamiasz tę funkcję zmienna x jest na początku ustawiana na wartość 0. Przenieś deklarację zmiennej x poza funkcję (ma to być zmienna globalna).
Co jest nie tak ? Delikatnie mówiąc wszystko. 1 Timer nie wiem co liczy, cały jest źle napisany i nie powinien działać, bo np: przerwanie od timera powinno być zadeklarowane przed pętlą główną i nie w warunku. Zmienna Reload nie jest zerowana i zwiększa się do maximum typu Word Zmienna M (w zamierzeniu chyba od minut) też się zwiększa do 255 Zmienna...
Zwiększaj tylko jeśli zmienna <255 z zmniejszaj jeśli >0
Odliczy dokładnie: 1/1M = 0,000001 co 1024 tyknięcie zegara impuls czyli z racji że 100ms to 0.1s więc: 0.1/0.001024 = 97.65625 impulsów Więc w rzeczywistości odliczy 99.328ms. Więc możesz w przerwaniu dać funkcję która co 97 przerwanie zwiększa zmienną o 1. Potem wystarczy porównać jaką wartość ma ta zmienna np. w switch() i gotowe.
Witam Tu masz literówke - ncr Katody , powinno być incr Katody Dobrze by było gdybyś dodał warunek jak do jakiej wartości ma być zwiększana zmienna Licznik. Po osiągnięciu danej wartości powinna być zerowana, albo zmniejszana. Pozdrawiam
Byłaby szansa na jakiś kawałek kodu asm ze zwiększaniem wartości zmiennej w przerwaniu :-) ? Zmienna ustawia potem stan wyjść.
zapis writeeeprom zmienna , adres odczyt readeeprom zmienna , adres Musisz pamiętać ile bajtów zajmuje zmienna którą zapisujesz i o taką wartość zwiększyć adres przy zapisie / odczycie następnej zmiennej Jeśli zmienne typu Byte , adres zwiększasz o 1 Jeśli zmienne typu Word , adres zwiększasz o 2 Jeśli zmienne typu Integer , adres zwiększasz o 2 Jeśli...
Jeżeli to ma nic nie robić tylko generować impulsy, to po prostu może użyj Waitms. A jeżeli nie, zmieniaj wartość porównania w zależności od dodatkowej zmiennej. Np: $regfile = "m16def.dat" $crystal = 16000000 Dim A As Word 'Zmienna zwiększana i porównywana. Dim B As Byte 'Zmienna decydująca z jaką wartością będzie porównywana zmienna A. Config...
A może wystarczy: PWM_FREQ=krok(np 10)*zmienna i potem incr zmienna
Czy zmienna kierunek jest globalna i volatile? Już po pierwszym przerwaniu powinna przyjąć wartość 1 lub 2, a nie być cały czas 0. Czy zaobserwowałeś zwiększanie wartości zmiennej enkoderA ?
cóż chylę czoło przed bascomem i odmiennością od C, jednak jakby nie patrzeć jeśli zacząć np. cykliczne powiększanie od najmniejszej wartości do największej wyjdzie na to samo czyli 65535 kolejnych operacji zwiększania :)
Zwiększanie wartości zmiennej w zasadzie wygląda wszędzie podobnie: zmienna = zmienna + <o ole zmienić>; Z dokładnością do składni języka wygląda to tak samo. W C wprowadzono pewne uproszczenie i powyższe można zapisać: zmienna += <o ile zmienić>; Ponieważ często <o ile zmienić> ma wartość 1 więc wprowadzono jeszcze operator ++ ale...
Rozumiem że coś w przerwaniu zrobić chcesz, ale ciekawe jak to sprawdzasz (tę dokładność) Może najpierw zwiększasz w kodzie zmienna a potem dopiero każesz ustawiac jakiś pin którym to mierzysz? Może na odwrót, najpierw pin a potem zwiekszanie zmiennej bo zwiększanie może się czasowo różnić w zależności od wartości.
Rozwiązanie Twojego problemu jest banalne. Na początek proponuję wykorzystać zmienną, która jest zwiększana przy każdym wciśnięciu przycisku i w zależności od wartości tej zmiennej (tu wystarczy od 0 do 3, przy wartości 4 zmienna jest znowu zerowana) ustawiasz jedynkę na odpowiednim porcie jednocześnie uruchamiając zliczanie. Kiedy licznik dojdzie do...
W tym wypadku: zmienna++; oznacza dokładnie to samo co: zmienna=zmienna+1; Czyli najprościej mówiąc, inkrementuje Ci zmienną "zmienna", zwiększa jej wartość o 1 ;)
Co do średniej: ; } srednia=suma/i; nie musisz wpisywać +1, bo zwiększasz tą zmienną o 1 dwie linijki wcześniej. W tym wypadku zwiększasz j faktycznie o 1, ale wyświetlasz wartość zwiększoną o 2.
Najprościej sprawdzając stan pinów do których podpięte są przyciski. Wprowadzasz zmienną wskazującą jaką wartość (godz. , min. itd) zmieniasz. Po wykryciu wciśniętego switch'a inkrementujesz (zwiększasz) wartość tej zmiennej i np jeśli Zmienna=1 to skaczesz do podprogramu zmiany wartości minut, jeśli Zmienna=2 to do zmiany godzin, itd. Jak Zmienna przekroczy...
void oznacza że funkcja nie zwraca żadnej wartości. Zmienna i to licznik pętli, tak jak w kodach wyżej, z każdym wykonaniem pętli jest zwiększana i dzięki temu kolejne cyfry rozwinięcia są zapisywane na kojelnych miejscach w tablicy. Wyrażenie 'break' kończy pętle, tu użyte jest gdy liczba jest mniejsza od 2 (wtedy nie trzeba jej specjalnie zamieniać...
Witam. Możesz zrobić tak: Config Timer0 = Timer , Prescale = 64 Timer0=6 Enable Interrupts Enable Timer0 Start Timer0 On Timer0 zegar Przy takim ustawieniu przerwanie będzie wywoływane dokładnie co 4ms. Zmienną Js zdeklaruj jako Word. A w podprogramie Zegar zrób tak: Zegar: Timer0 = 6 Incr Js If Js = 15000 Then Js = 0 Toggle Portb.0 Toggle Portb.1...
Dane pokazywane oczom użytkownika mogą być zupełnie inne niż te przechowywane w programie. Wpisywanie wartości liczby po cyferce jest uciążliwe. W piekarniku mam ustawianą godzinę jednym przyciskiem (czy dwoma), wystarczy w programie zauważyć że przycisk został wciśnięty, przytrzymany przez 1s, przytrzymany przez 5s,itd. Jak nie używasz delay nie jest...
Kiedy zmienna == 1 wykonuję konkretny krok zwiększam jej wartość i wykonuję krok 2. Nie potrafię jednak do zmiennej przypisać jakieś liczby oraz potem jej wartości porównywać. Zazwyczaj to się robi po prostu, że jak jest w kroku nr1 i spełnione są warunki tranzycji do kroku nr 2 to się po prostu podstawia instrukcją MOV 2 do rejestracji np krok czy...
Jeśli stale to wykasuj z opcji: [syntax=c] case Nic:{ lcd.print(" "); break; } [/syntax] czyszczenie ekranu spacjami. Tu ewentualnie powinien być zliczany timeout, czyli jakaś zmienna co np. 1ms i jak przez 10s (z delay rozumiem, że to jest Twoje stale): [syntax=c] case Nic:{ static uint16_t timeout1=0; //zmienna static będzie żyła od tego miejsca aż...
Witam. Zadeklarowałem zmienną typu unsigned int i zainicjalizowałem ją pewną wartością. W pętli zwiększam jej wartość. Czy pętla będzie zliczała od 0 do 65535 i znów od 0 do 65535?
Jak pisałem w debugerze w linijce przed sprintf zmienna jest poprawna. Po przejściu za sprintf zmienna zwiększa się o 1. Też tego nie rozumiem. Kod jest dokładnie taki jak pokazałem we wcześniejszych postach.
Witam, Właśnie wpadł mi w ręce wymieniony w tytule zestaw. Razem z nim mam GX Developera i E-Designera. Zacząłem się tym bawić (robię sobie jaki tam prosty licznik, który w założeniu ma liczyć impulsy) i natknąłem się na problem ze zmiennymi. Gdy deklaruje zmienna globalna, domyślnie ma ona wartość 0 (zero). W programie zwiększam ją i wszystko gra -...
No zmienna licznik - przepisujesz jej wartość do podanej zmiennej. I pewnie zwiększasz. A jako, że licznik jest statyczny, to jest wspólny dla wszystkich obiektów klasy.
Witam! Uczę się programowania w BASCOM i mam problem z procedurami. Chciałem sobie napisać procedurę tak jak w kodzie, który podałem niżej aby zwiększać wartość zmiennej A. Program działa, zmienna się zwiększa ale wyświetlacz jakoś dziwnie mruga. Gdy procedurę wyjmę z pętli to jest dobrze z wyświetlaczem, ale za to zmienną A zlicza tylko od zera do...
Z EEPROM jest wiele zabawy. Najprościej nie zapisywać co 1-2m dystansu, jak miałeś w programie, czy co 1s, jak się zrobiło gdy przeniosłem Ci to do loop. Masz odmierzanie czasu tym nieszczęsnym delay 1000, to definiuje najmniejszą jednostkę czasu w tym programie. Naucz się millis() i usuniesz to ograniczenie. Ale tu też można coś wyrzeźbić, po tym delay...
Co do wstrzeliwywania się to jest moje myślenie paranoiczne, że zawsze coś może pójść nie tak, lub - jeśli przeniesiesz to do pętli main - pojawi się przerwanie które by zajęło procek na dłuższy czas, to mimo tego program zareaguje poprawnie lub przynajmniej się nie zawiesi. Gdybyś zamienił warunek na zwiększenie aux, to przy okazji usunął byś błąd,...
Wyszukiwarka: if (licznik < 255) licznik++; Analogicznie dla zera if (licznik > 0) licznik--;
Deklaracja zmiennych na początku programu jest dobrym nawykiem, bez tego zadeklarowana zmienna będzie początkowo przechowywać nieustaloną wartość (śmieć z pamięci), więc zadeklarowanie jest ok. To warunek, który jest ustalony dla pętel while jest błędny. W Twoim kodzie użyty jest operator większości, więc sprawdzamy czy licznik3 (lub licznik2) jest...
Zastanawiam się czy jest jakieś gotowy wygodny sposób na obsługę scrolla w aplikacji. Konkretnie to chciałem aby jedna zmienna się zwiększała lub zmniejszała, kiedy kręcę kółkiem.
Zastanawiam się nad sterowaniem grupą pinów. 1. Jak jest najlepsza metoda, aby większej ilości pinów przyporządkować pewną - tą samą - wartość? Wiem, że to można rozpisać w programie krok po po kroku, ale chodzi mi o zwięzły program. 2. Podobnie, ale na przykłąd chciałbym po kolei zwiększać wartość na poszczegolnych pinach - a mam ich 13 do ogarnięcia...
zdecydowałem się na zastosowanie uC aby wyeliminować efekt falowania wody (a tym samym podnoszenie i opadanie włącznika pływakowego co skutkowało kilkunastoma krótkimi włączeniami pompy przy każdym dolewaniu wody). Nie wystarczyło zastosować filtr RC? Dodaj na wszelki wypadek rezystor 10kΩ podciągający RESET do Vcc. Przy takich urządzeniach jak...
zmienna na początku jest równa zero. Jeśli program wykryje "guzik == HIGH" to powinna się zwiększać, a jeśli nie wykryje to powinna pozostać przy ostatniej wartości.
int zmienna[11]; int zmienna[41]; int zmienna[23]; :\program files\microsoft visual studio\myprojects\test1\test1.cpp(12) : error C2369: 'zmienna' : redefinition; different subscripts c:\program files\microsoft visual studio\myprojects\test1\test1.cpp(11) : see declaration of 'zmienna' c:\program files\microsoft visual studio\myprojects\test1\test1.cpp(13)...
Ma to jedna wade a mianowicie taka ze po trzeba resetowac wartosci powyzej 1000km inaczej zmienna sie przepelni i bedzie kicga. To po przekroczeniu pewnej wartości ustaw jakąś zmienną która będzie dzielnikiem. Poniżej 1000km ma np 1, a powyżej 100, 1000 lub cokolwiek . Przy takich odległościach i ilościach paliwa już taka super dokładność nie jest...
http://obrazki.elektroda.pl/1661316800_1... Witam ponownie Tym razem chciałbym zaprezentować projekt lżejszego kalibru - zegarek wskazówkowy i termometr zbudowany na AT91SAM7S64. Wykonałem ten projekt, bo chciałem trochę pouczyć się programowej obsługi wyświetlacza graficznego z Nokii 3310, programowej obsługi enkodera inkrementalnego...
Jest to kod z Pana Wiązani być może nieudolnie przerobiony. Oryginał ma tak: Dim licz_8ms As Byte Incr Licz_8ms If Licz_8ms = 125 Then ............. I to działa, czyli ja nie mogę używać liczby stałoprzecinkowej . No dokładnie. To działa tylko dla Byte (i podobnych). Chociaż typ danych Single mówi, iz może przyjmować wartości stało i zmiennoprzcinkowe....
Dodanie drugiego przycisku, podłączonego do pinu 3 Arduino : [syntax=c]#define BUTTON1_PIN 2 #define BUTTON2_PIN 3 int zmienna = 0; void setup() { pinMode(BUTTON1_PIN, INPUT_PULLUP); pinMode(BUTTON2_PIN, INPUT_PULLUP); Serial.begin(9600); } void loop() { if (digitalRead(BUTTON1_PIN) == LOW) { while (digitalRead(BUTTON1_PIN) == LOW) {} zmienna++; Serial.print("Wartość...
Dziękuję za odpowiedź. Maksymalna i minimalna już rozumiem. Natomiast średnia powiedzmy zapisuje co równą godzinę do tablicy o rozmiarze 24 i te wyniki porównuje z minimalną i maksymalną? potem je podzielę to wyjdzie mi średnia? Tak będzie dobrze? Pozdrawiam. Myślę, że najłatwiej będzie następująco. Deklarujesz tablicę o rozmiarze 24. Na początku (podczas...
Witam. To zależy z jaką częstotliwością przychodzą impulsy. Jeżeli przychodzą dośc wolno to można impulsy podać na wejście przerwania a w obsłudze zwiększać wartość jakiejś tam zmiennej o jeden. Jeśli są one dość szybkie to można np. skonfigurować licznik żeby zliczał je i co 10 dawał przrwanie, a w przerwaniu zwiększać zmienna o 10. W tej metodzie...
Witam . Zadanie jest trywialne . Potrzebujesz 3 zmiennych i dwóch przerwań zewnętrznych plus przerwanie do wyświetlacza. Po starcie procka ustawiasz wartość jednej z zmiennych która będzie równa ilości przerwań wyświetlacza w czasie 10 sekund . Podczas aktywacji przerwania od T1 aktywujesz przerwania od INT0 i INT1 . INT0 zwiększa jedną zmienną a INT1...
Wykorzystaj licznik 8-mio bitowy i w przerwaniu zwiększaj o 1 zmienną i jednocześnie sprawdzaj czy ta zmienna osiągnęła jakąś wyliczoną wartość - powiedzmy 1000. Jeśli nie to wychodzisz z przerwania a jeśli tak to wykonujesz kod który ma być wykonany w przerwaniu. W ten sposób zwiększysz programowo rozdzielczość licznika. [syntax=c]ISR(TIMER0_OVF_vect)...
Nie bardzo rozumiem. na pierwszym miejscu mamy zadeklarować gdzie ma być zapisana czyli adres, a na drugim zmienna. zmienna w RAM to kWh_stan zmienna do eeprom to kWh_stan_ee - ewentualnie jak to się nie pomiesza to może być jedna zmienna kWh_stan do eeproma i do Ramu. uiAddress jest zadeklarowana na samym poczatku jako float uint16_t uiAddress = 0...
Ten program robi chyba coś innego, niż Ci się wydaje ;) Licznik nr 1 generuje PWM o współczynniku wypełnienia zależnym od OCR1B. Licznik nr 0 generuje przerwania zegarowe (TIMER0_OVF_vect). Program nie jest kompletny - brakuje definicji zmiennej "kierunek". Załóżmy że na starcie kierunek=1: - OCR1B ma wartość 800 - pojawia się przerwanie od TIMER0 -...
Przykład. W pętli głównej jest zmienna, która jest zwiększana przez TIMER0. Zależnie od wartości owej zmiennej, jest wysyłany dany ciąg znaków przez instrukcję PRINT - uart sprzętowy oraz instrukcję Print#kanał - uart programowy. Mam też przerwanie od timera1 - do obsługi wyświetlaczy siedmioseg. i innych elementów. I co będzie, jak np. w momencie wykonywania...
Możesz zrobić to na dwa sposoby. 1. Wykorzystać przerwania. 2. Wykorzystać główną pętlę programu. W 1 przypadku ustawiasz któryś z timerów na powiedzmy 100 000 przerwań na sekundę. Za każda obsługa przerwania zwiększasz wartość zmiennej (licznik) o jeden i porównujesz z ustawioną wartością PWM (jakaś zmienna). Kiedy ustawiona zmienna jest mniejsza od...
Mój kolejny problem w moim programie. Mianowicie za pomocą timera losuję określoną liczbę literek i za każdym razem zwiększam wartość zmiennej losowania. W momencie gdy ta zmienna osiągnie wartość licznika(czyli ilości losowań) timer powinien się zatrzymać. Niestety co jakiś czas wyskakuje mi błąd taki jak w załączniku. Co w moim kodzie jest nie tak?...
Wewnętrzny zegar jest na tyle mało dokładny, że aby można było nim coś zmierzyć, należało by ustalić jego dokładną częstotliwość porównując z jakimś wzorcem, po czym zapisać poprawkę do osccal albo uwzględnić to w czasie przepełnienia t1 - a i tak dokładność nie będzie duża ze względu na wachania częstotliwości. Warto poczytać w dokumentacji jaką dokładnie...
to tak naprawdę jest ten punkt pracy Wartości Ic, Uce. składowa zmienna Prąd zmienny składa się ze składowej stałej (np. napięcie bazy tranzystora w ukł. WE ustalane dzielnikiem rezystancyjnym wynoszące np. 2V) i składowej zmiennej - np. podawany tam sygnał o amplitudzie 5mVpp (celem jego wzmocnienia) poprzez kondensator. W efekcie mamy tam napięcie...
Masz tak- zegar odmierzający 1s. A co by szkodziło gdyby odmierzał co 100ms. Albo co 10ms czy 1ms. Wtedy w każdym przerwaniu można zwiększać jakieś zmienne i dopiero gdy osiągną zadaną wartość wykonywać jakieś funkcje. Wtedy zamiast _delay() możesz sprawdzić czy zmienna osiągnęła jakąś wartość i dopiero wtedy wykonać jakąś funkcję. Bo _delay() to jest...
Ok , postaram się to wyjaśnić ;) Sub Modyfikuj_polbajt(byval Polbajt As Byte , Byval Zmien As Byte) 'Polbajt , to pozycja kursora na LCD (1-16) 'Zmien , to wartość 1 gdy zwiększamy o 1 , lub 255 gdy zmniejszamy o 1 Local Hb As Byte 'zmienna pomocnicza dla starszych(4-7) 4-bitów z bajtu Local Lb As Byte 'zmienna pomocnicza dla...
Witam Dzięki za wskazówkę odnośnie wyświetlania wartości napięcia (poziomu wody) Próbowałem dzisiaj przez kilka godzin pozbyc się tego wait=10 W sumie udało mi się uzyskać to co chciałem ale z małym błędem. poziom się podnosi, osiąga wartość 2,10 i buzer zaczyna się odzywać w takt timera1 (1Hz) zmienna D zwiększa swoją wartość aż osiągnie 20 i buzer...
Witam. Mam wydaje mi się błahy problem, ale pomimo wertowania forum nie mogę sobie z nim poradzić. Otóż chodzi o to, że mam funkcję w której chcę zwiększać zmienną. Z niewiadomych przyczyn zmienna zostaje wyzerowana po wejściu do funkcji oraz przed wyjściem z niej. Funkcja mniej więcej taka: [syntax=c]int zmienna=0x00; int funkcja(int zmienna) { DDRD|=0x0F;...
W pierwszej wersji zmienna licznik jest inkrementowana i wyświetlana w momencie kiedy spełniony jest warunek (ChkSum != 0)... W drugiej wersji przeniosłeś inkrementację do pętli głównej programu i BEZ żadnego warunku jest ona zwiększana przy każdym przejściu pętli... Wyświetlana jest natomiast jej wartość tylko kiedy warunek jest prawdziwy... Stąd wartości...
Witam. Poradźcie początkującemu. Procesor AT90S2313 Program wygląda tak: Config Int0 = Low Level Dim L As Byte Enable Interrupts Enable Int0 On Int0 Licz Nosave Licz: Incr L Print L Return i jest wszystko w porządku. Przerwania występują w chwili gdy port INT0 znajduje się w stanie niskim i zmienna L jest zwiększana. Chcąc korzystać z pojedyńczego przerwania...
To jest kamera analogowa. Jej podłączenie do Arduino będzie dość trudne. Choć nie niemożliwe skoro wymagasz tylko małych rozdzielczości. Kiedyś udało mi się zrobić na AVR układ odbierający sygnał Composite Video (czyli taki jaki masz tutaj) o rozdzielczości około 170x130 pixeli (pomijał większość linii). Tutaj wspomagający układ analogowy którego użyłem:...
Generalnie jak załączysz obrazek schematu to każdy może kliknąć miniaturę i ma podgląd w przeglądarce. Kiedy zamieszczasz PDF to trzeba go ściągnąć i otworzyć co zmniejsza szanse na to że komuś będzie się chciało czego jestem żywym przykładem. Gdybym widział schemat to bym o kondensatorach nie pisał - wniosek jest prosty - nie patrzyłem przed odpowiedzią...
ale mi nie o to chodzi... chodzi mi by każde zwiększenie d czy to w pętli f ThisWorkbook.ActiveSheet.Range("... & i) <> 0 And ThisWorkbook.ActiveSheet.Range("... & i) <> "W" And ThisWorkbook.ActiveSheet.Range("... & i) <> X Then ThisWorkbook.ActiveSheet.Range("...
Zmienna "Szybkosc" w moim programie definiuje szybkość animacji. Największa jest dla wartości równej 1 (ze względu na fakt że jest to dzielnik) Aaa, dzielnik :) a ja zwiększałem tą wartość jak głupi i nie wiedziałem o co chodzi :D Dzięki :)
Jak zrobić by zmienna x zwiększała mi się co sekundę? Na logikę takie coś byłoby dobre DWORD Czas=GetTickCount(); if (Czas > 1000) //1000milisekund to sekunda { x++; Czas=0; } ale nie działa. Bez względu na to jaką wartość wpiszę to i tak w takim samym odstępie czasu się zwiększa. Potrzebuję czegoś co by zerowało mi aby...
Gdybym opisał program wszystko stałoby się oczywiste :D Użycie IF ELSE bez END IF zawsze warte jest omówienia bo potem nikt nie może się doliczyć END IF :D Chodzi o to że jeśli tylko jedna instrukcja jest od jakiegoś warunku zależna to można ją zapisać w jednej linii. Jeśli z powodu jakiegoś warunku musza juz być zmienione dwie zmienne lub wykonać się...
Witam. Wrzuć wszystkie znaki napisu do tablicy. Jeśli tekst, który ma się wyświetlić jest przechowywany w zmiennej typu string , to tworzenie tablicy nie jest tu konieczne, gdyż z tego co wiem do zmiennej typu string można się odwoływać jak do tablicy typu char (jeśli się mylę, to proszę mnie poprawić). Poniżej załączam przykładowy kod tego, jak to...
Czy ja dobrze rozumiem, że 1000 razy na sekundę, czyli 1 piksel co 1ms to jest dla Ciebie za mało na poruszanie statkiem? Przecież to jest 1000 pikseli na 1 sekundę. Właśnie chodzi o to że przy interwale od 1 - ~100 praktycznie nie widać różnicy w szybkości poruszania się obiektu, sprawdzałem przed chwilą. Zrobiłem jeszcze coś takiego, że umieściłem...
Witam, Zbudowałem kiedyś sobie prędkościomierz cyfrowy do auta. Działa on tak, że w przerwaniu zwiększam wartość licznika i co 1s przeliczam ilość zebranych impulsów na prędkość i wyświetlam na wyświetlaczu. Teraz chcę sobie zrobić tak, że w przerwaniu będę z każdym impulsem zwiększał wartość zmiennej, a jak nazbiera się ich powiedzmy 15 to zmierzę...
Zrobiłem jak pisał Driver, odłączyłem wejście sygnału do LM7001 i podłączyłem sterowanie nap. warikapów przez potencjometr. Przy ok.2,2V miałem f=132MHz a przy ok.7,2 f=136MHz to by było z zapasem dla odbioru i ok.11,5 f=146. Ponownie podłączyłem zgodnie ze schematem, nie zaskoczyła... Myślę że podanie częstotliwości ze skanera nie ma co sprawdzać,...
Witam zastosowanie timera w konfiguracji licznika w takim wypadku się nie sprawdzi. Naciśnięcie i puszczenie niesie za sobą efekt uboczny czyli drgania styków. Przez to twój licznik przy jednym naciśnięciu przycisku zalicza kilka impulsów. Taka konfiguracja timera jest przystosowana do stabilnych (czyt. nie drgających sygnałów) . Zamiast zaprzęgać do...
mógłbyś mi jeszcze powiedzieć, dlaczego opcja 6 mi się wysypuje? Widzę dwie przyczyny. Po pierwsze zmienna 'i' nie jest nigdzie inicjalizowana (na początku programu ma wartość 0, bo jest globalna). Tak więc jeżeli opcję 6 wywołasz po uprzednim wywołaniu innych opcji, wartość 'i' może być różna, a ta zmienna jest w opcji 6 ogranicznikiem pętli! Poza...
Cześć. Jest sobie program, w którym jest 6 następujących po sobie case. Kiedy warunki w jednym się wykonają, przeskakujemy do kolejnego i tak w kółko. W 4 z nich migają diody, dodatkowo w dwóch z nich uruchamianie na chwilę jest serwo i tu jest pies pogrzebany... Diody migają elegancko, aż wskakujemy w case z obsługą serwa - pulseout. Wtedy program...
Liczba z millis() jest 32 bitową liczbą całkowitą, każde obliczenia powinny być w tych liczbach (UL, uint32_t, unsigned long) lub na nie rzutowane. Interwał ustawia się tak by można było ogarnąć czynność o najkrótszym trwaniu, jeśli chcesz to wykorzystać tylko do odliczenia minut to mogą być sekundy (1000) lub minuty (60000), a jeśli również dla przycisku...
http://obrazki.elektroda.pl/5924959500_1... Witam ponownie! Kilka dni temu chwaliłem się projektem "PALM v1.0 BETA Atmega128", a dziś chciałbym przedstawić komputerek do motoru lub roweru jaki zrealizowałem już jakiś czas temu na zamówienie. Urządzenie miało zastąpić oryginalne psujne, mechaniczne zegary. Funkcje i założenia: *Wyświetlanie...
Gratuluje sukcesu :) --- Częstotliwość zmieniać najlepiej preskalerem (bity CS w TCCR2), no i ewentualnie rejestrem który mówi od jakiego "poziomu" zaczynamy liczyć (TCNT2), ale przesuwając w górę, trzeba pamiętać że zawężamy również możliwość regulacji wypełnienia (rozdzielczość) przez OCR2. --- Co do zgaszenia i rozjaśnienia od nowa - po prostu wpisujesz...
Czy jest możliwe takie napisanie podprocedury w bascomie aby zwracała wartość zmiennej?? Pokażę na przykładzie o co mi chodzi, chcę powiedzmy napisać sobie uniwersalną procedurę, która będzie zwiększała wartość jakiejś zmiennej, pod warunkiem, że ta nie osiągnęła jeszcze górnej, wyznaczonej granicy... np.: Dim Dana As Byte , Granica_g As Byte , Zmienna...
(...) ianie prędkości, gdy wartość przekroczy martwą strefę } else { speed = 0; // Ustawianie prędkości na 0, gdy wartość znajduje się w martwej strefie } digitalWrite(STEP_PIN, HIGH); delayMicroseconds(speed); digitalWrite(STEP_PIN, LOW); delayMicroseconds(speed); } } Rozumiem, że chcesz, aby sterowanie silnikiem było realizowane wyłącznie za pomocą...
napięcie Ub wcale nie musi wynosić 0,5Ucc. Dla osiągnięcia maksymalnej dynamiki napięcie na kolektorze powinno tyle wynieść. W przybliżeniu. Osiągalna składowa zmienna napięcia na kolektorze będzie największa, gdy: (1) napięcie na R_E jest możliwie małe, i (2) napięcie na R_L jest zbliżone do napięcia V_CE - maksymalna wartość napięcia na kolektorze...
Prosze bardzo: 'Program regulujący prędkość obrotową silnika DC 12 V 'Do sterowania wykorzystano sygnał PWM 'Częstotliwość przebiegu PWM ok. 254 Hz - 8 MHz/510/64 'Przycisk S1 zwiększa prędkość obrotową silnika 'Przycisk S2 zmniejsza prędkość obrotową silnika $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal...
W przypadku tego fragmentu który podałem wyżej... kod pracował w Attiny13 i sterował lampką RGB. Zegar 4,8MHz, nie dzielony, napędzał ośmiobitowy timer0 który w takim przypadku potrzebował 256 taktów aby się przepełnić. Za każdym przepełnieniem, czyli przeleceniem przez 0, wywoływał ten krótki podprogram który gasił lub zapalał porty. Po za tym program...
Coś mi się nie podoba część dotycząca PWM (bez dogłębnej analizy programu). Powodem jest zmiana wartości Timer2 w programie. Załączę poniżej program, którym próbowałem działanie PWM'ów na M8. (Komentarze dotyczą Timera1, a poniższy program utuchamia Timer2) Program działa w 2 pętlkach - jedna zwiększa wypełnienie i kiedu dojdzie do max druga petla zaczyna...
Co za problem ? Masz ciąg liczb w tablicy n - elementowej. Ustawiasz sobie 2 wskażniki, pierwszy na pierwszy element tablicy drugi na drugi. Obliczasz różnicę wartości elementów wskazywanych przez wskaźniki i zapamiętujesz ją jako różnice ciągu (np. zmienna RC) Zwiększasz wskaźniki o 1 Badasz czy nie koniec ciągu Znów obliczasz różnicę wskazywanych...
Rozwiązanie banalne... Do gotowej procedury obsługi klawisza wystarczy dodać jeden programowy licznik ustawiany przy każdym wciśnięciu na np. 3 sekundy. Podczas każdego wciśnięcia zwiększasz jakąś zmienną. Teraz wystarczy badać czy ta zmienna jest różna od zera jeśli i licznik programowy też równy jest zero. Wartość tej zmiennej zerujesz przy wywołaniu...
Sądzę, że AVR Studio sam dopisuje tą informację #define F_CPU xxxxx , ponieważ gdy ręcznie dopisuję to na początku programu kompilator wywala warning: ../Cwiczenie1.c:6:1: warning: "F_CPU" redefined , pozdrawiam Krzysiek Co do manuala, właśnie do niego zajrzałem i przyznam, że dopiero teraz zorientowałem się o jego istnieniu...
Witam. Stworzyłem na mikrokontrolerze ATMEGA8 zegar RTC. Do procesora został podpięty kwarc zegarkowy - timer2 pracuje w trybie asynchronicznym. Program powstał z wykorzystaniem instrukcji BASCOMOWEJ Config Clock = soft: Kod: "Jeśli w programie użyto instrukcji CONFIG CLOCK, kompilator automatycznie generuje specjalne zmienne nazwane: _sec , _min ,...
Zabrałem się do pisania programu w następujący sposób http://obrazki.elektroda.pl/6253306700_1... czy po załączaniu timera1, jego wartość jest zawsze równa 0, czy też zapamiętuje swoją wartość przed wyłączeniem i później po ponownym włączeniu liczy od zapamiętanej wartości? Przy kolejnym przerwaniu sprawdzana jest wartość timera, dla...
Da się zrobić na delay. musisz dołożyć jeszcze jedną zmienną powiedzmy temp którą w pętli od wciśniętego przycisku zerujesz a w pętli głównej zwiekszasz o 1. Dodatkowo dodajesz opóźnienie w pętli głównej np 10ms oraz warunek: [syntax=c]if(temp>100) {temp = 0; n = 0}[/syntax] W tym momencie jak nie odbierasz żadnych danych to program krąży w pętli głównej...
Problem polega na tym, że potrzebuję 2 liczników do zliczania impulsów z 2 źródeł, a te źródła to piny PB6 i PB7, czyli jak wskazuje nota katalogowa uC odpowiednio kanały 1 i 2 timera TIM4: http://obrazki.elektroda.pl/5000204900_1... Myślałem, że jak są 2 kanały to każdy z nich może być źródłem sygnału taktującego i każdy kanał może...
Przypuszczam, że przed uczeniem sieci neuronowej trzeba te kolejne widma cząstkowe jakoś normalizować, bo sieć może mieć problemy z rozpoznaniem obwiedni widma przy różnych głośnościach dźwięku (analizować trzeba przyrosty składowych widma pomiędzy kolejnymi ramkami - taka składowa zmienna ewolucji widma częstotliwościowego). Czy to będą instrumenty...
Jeśli chodzi o PWM to dorzucam Ci 2 programy sterowania PWM za pośrednictwem 2 przycisków w języku BASCOM. 'Program regulujący prędkość obrotową silnika DC 12 V 'Do sterowania wykorzystano sygnał PWM 'Częstotliwość przebiegu PWM ok. 254 Hz - 8 MHz/510/64 'Przycisk SI zwiększa prędkość obrotową silnika 'Przycisk S2 zmniejsza prędkość obrotową silnika...
Zapoznaję się powoli z tematem ARM-ów i korzystam z fajnej (tak mi się dotychczas wydawało :) strony [url=http://www.dioda.com.pl/forum/topic... Generalnie najprostszy kod obsługi timera przepisałem stamtąd i niby wszystko działa ale z jednym mankamentem. Wypisuję na LCD numer kolejnego...
A po kilku zamyśleniach urodził się program do pomiaru częstotliwości CPU u PC: (chociaż prawie za każdym razem podaje troszeczkę inne wartości, ale z małym błędem) W tym Basicu też jest zmienna TIMER, zwiększa się co 1ms, ale dopiero teraz zwróciłem uwagę na ten szczegół: PROCEDURE wait(ms) INC ms DO qq = TIMER DO LOOP UNTIL TIMER > qq DEC ms LOOP...
Dodałem koszmarnie długi czas czekania po wciśnięciu klawisza i wygląda na to, że działa. Można wyświetlać kolejne cyfry z tablicy i nie ma przeskoków (losowych wyświetleń). W pętli głównej sprawdzam, czy jest wciśnięty przycisk i czy zmienna b ma wartość co najmniej 10. Jeśli tak, to program zabiera się za czynności przypisane do klawisza, a przerwanie...
Bardzo prosty skrypt zmienna na stałe i wartość min na stałe, ale to tylko przykład. Tworzysz skrypt (Type: Function) [syntax=vbscript]If SmartTags("Tag_1") > 1 Then SmartTags("Tag_1") = SmartTags("Tag_1") - 1 End If [/syntax] Jeżeli Tag_1 jest większa od 1 to można zmniejszyć i już. Drugi taki podobny na zwiększanie i po kłopocie. Podpinasz skrypty...
Witam, co do wyboru procka, to przy jednej szt. prototypowej i to jeszcze przy małym doświadczeniu w pisaniu oprogramowania, to czym większy tym mniej problemów w trakcie realizacji. Gdy już mamy powiedzmy działający program w całości, wtedy można rozważyć zmianę na mniejszy, ale tylko wtedy gdy jest to uzasadnione, np. nowa mniejsza płytka lub wykonanie...
Wysłałem żądanie ściągnięcia do repozytorium OpenBK7231T_App ze zmianami, aby umożliwić BL0942 pomiar przepływu energii do przodu i do tyłu. 2 edycje plików: drv_bl0942.c i drv_bl_shared.c Podsumowanie zmian: CF_CNT – 24-bitowa zmienna gromadząca dane z akumulacji energii czynnej mogła zostać przepełniona, powodując okresowo fałszywe odczyty. Sposób,...
Bufor kołowy ma mieć ogon i głowę. Każdy zapis do bufora ma zwiększać wartość głowy a każdy odczyt ma zmniejszać. Jak się zrównają- to alarm. To jest tylko jedna z przykładowych implementacji, która nie może dopuścić do zrównania się, bo wtedy jak rozróżnić czy bufor jest opróżniony, czy przepełniony ? Osobiście preferuję taką implementację, w której...
Witam Mam problem z LPC1114 i impulsatorem, do rzeczy. Kod wygląda tak [syntax=c] void controlsinit()//inicjalizacja impulsatora { //PIO3_5 <-- przycisk //PIO2_5 <-- w lewo //PIO0_6 <-- w prawo LPC_GPIO3->DIR &= ~(1<<5);//PIO3_5 as input LPC_GPIO2->DIR &= ~(1<<5);//PIO2_5 as input LPC_GPIO3->IS &= ~(1<<5);//edge...
Skupiam się cały czas na tym obrotomierzu i nerwicy dostaję bo wszystko co znajdę jest na Bascomie a nie na "C". W przerwaniu INT0 dałem zmienną impulsy (int): //obsluga przerwan INT0 (dla prawego cylindra) SIGNAL (SIG_INTERRUPT0) { //liczenie impulsow do zmiennej "impulsy" impulsy++; //otrzymalem sygnal ustawiam na porcie...
Przeanalizujmy Twój (pierwszy) program. Pętla (loop) kręci się w kółko w nieskończoność. Jakkolwiek procesor nie jest demonem wydajności, w porównaniu z "szybkością człowieka" jest całkiem szybki, na końcu pętli masz opóźnienie 30 ms, czas obiegu tej pętli jest niewiele dłuższy. Załóżmy że przyciski są puszczone, wykonuje się tylko początek kodu pętli:...
Możesz przetestować Funkcję BIN() A = 25 C = 14 D = 14 B1 = switch functions Sub Write I2cstart I2cwbyte 130 I2cwbyte 0 I2cwbyte A ; Głośność kanał L ; zakres 0 - 63 I2cwbyte A ; Głośność kanał R ; zakres 0 - 63 I2cwbyte C ; Bass ; zakres 0 - 15 I2cwbyte D ; Treble ; zakres 0 - 15 I2cstop Waitms 10 I2cstart I2cwbyte 130 I2cwbyte 8 I2cwbyte B1 ; switch...
Tak zapisany warunek jest błędny. Przypisanie zmiennej time wartości millis nastąpi wyłącznie kiedy pin jest w stanie niskim i upłynął odpowiedni czas (swoją drogą warto warunki zamykać w nawiasy, co zwiększa czytelność). Ty musisz to rozbić na kilka warunków: 1. Jeśli pin jest low i upłynął czas -> robisz co potrzebujesz (to twój oryginalny warunek)....
zwiększać zmienna zmiana wartość zmienna wyświetlać wartość zmienna
bascom input bajty klapka megane zmywarka programowanie
instrukcja obsługi silvercrest rch7s52 silvercrest rch7s52
Dziwne tarcie w Ford Escort 1.4 1991 - przyczyny i diagnoza Brak obrazu z DVD Pioneer przez eurozłącze