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).
Ściągnij sobie Arduino IDE, otwórz w jednej części ekranu, w drugiej otwórz kurs Arduino i próbuj, kursy są po polsku na blogach, wystarczy w google wpisać i jak nie jesteś botem to znajdziesz. Jak już zaczniesz ogarniać co do czego to wystarczy mieć zmienną i ją zwiększać przyciskiem, a zmniejszać co sekundę, ewentualnie blokować zmianę gdy zmienna...
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....
Wyszukiwarka: if (licznik < 255) licznik++; Analogicznie dla zera if (licznik > 0) licznik--;
Witam, Nie wiem za bardzo co można sprawdzić w tym listingu, bo nie wiadomo co ma do końca robić, ale się nie kompiluje z kilku powodów: -niezadeklarowana zmienna "T1" -zmiennej typu String "H" nie można zwiększać ani zmniejszać jak zwykłej zmiennej, także nie można jej porównywać ze zmienną liczbową -polecenie "Lowerline" nie jest równoznaczne z jednoczesnym...
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...
https://obrazki.elektroda.pl/9462291700_... Chciałbym zaprezentować rozwinięcie eksperymentalnego odbiornika SDR, jaki opisałem ostatnio: https://obrazki.elektroda.pl/6947080100_... https://obrazki.elektroda.pl/7046555300_... Najbardziej w tym momencie interesującym fragmentem płyty jest głowica: https://obrazki.elektroda.pl/9911930900_...
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:...
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...
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...
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ć,...
https://obrazki.elektroda.pl/8003230600_... Po umieszczeniu materiału o porównaniu częstotliwości Napiszcie co myślicie o takiej metodzie. Wróciliśmy do tematu https://obrazki.elektroda.pl/3296797900_... Wejście sygnału mierzonej częstotliwości podamy na TIM2 CH2 czyli PA1 na płytce oznaczone jako A1. Nie będziemy...
https://obrazki.elektroda.pl/1761046600_... Pokażę tu jak uruchomić z Arduino czterocyfrowy wyświetlacz 7-segmentowy sterowany poprzez rejestr przesuwny 74HCT164 i cztery tranzystory BC546. Płytka z wyświetlaczem znów będzie odzyskana z elektrośmieci. Będzie to już kolejny temat, w którym uruchamiam wyświetlacz, gdyż omawiałem już...
o co chodzi z tą optymalizacją? Jeśli pętla zostanie wstawiona do kodu ale w środku nic nie będzie się działo, czyli pętla będzie iteracyjnie się zwiększała bez efektu to zostanie pominięta? Tak się zdarza. Można dodać asemblerowe NOP do środka, lub zwiększać zmienna typu volatile.
Zielona transformacja wymaga znalezienia innej ścieżki? Klęski żywiołowe, które występowały na świecie w 2020 r., ostatecznie zwróciły uwagę rządów i sektora prywatnego na pilną potrzebę rozwiązania problemu zmian klimatu i przyspieszenia ogólnoświatowej transformacji w kierunku gospodarki niskoemisyjnej. Przedsiębiorstwa dokonały olbrzymich inwestycji,...
Zapomnieliśmy na pinach 2, 3, 4 gniazda MAX dodać pojemności ( wejście DADJ, FADJ, IIN) po ok. 33nF. I chyba masz tam pomylone piny (wtyk z gniazdem się nie zgadza). Ok, zaraz dodam te kondensatory (ceramiczne), co do pomylonego pinu nie widzę, nie wiem o co chodzi. Piny DADJ, FADJ, IIN mają numery 7, 8, 10. 2,3,4 to wewnętrzny multiplekser i masa....
Kolego "Sas_AS" poniekąd na samym początku dokonywania swojego eksperymentu pomiarowego wyszczególniłeś popełniane błędy : "rezystor mocy" to fajna "grzałka" 10 ohm 50 wat, tranzystor npn wytrzymał 120W przy 40V 3A (bez "grzałki", ogranicznik prądu jest w zasilaczu), zaraz spróbuje wycisnąć więcej. Jedynie co mi nie pasuje to wzmocnienie, ale pewnie...
https://obrazki.elektroda.pl/3536273200_... Enkoder obrotowy - impulsator - jest doskonałym urządzeniem wejściowym do sterowania np. menu w interfejsie urządzenia. W poniższym tutorialu opiszemy, jak wykorzystać typowy impulsator w połączeniu z modułem Arduino. Krok 1. Obejrzyj film Jeśli nie chce Ci się czytać całego poniższego tekstu,...
Wybacz, że nie rozumiem wielu rzeczy. To pierwsze w sumie spotkanie z arduino. Tak, potrzebuje dwa kierunki, bo walek do ktorego będzie przylorzony enkoder potrafi (na postoju) minimalnie sie cofnac i jesli nie zmniejsze tego licznika w tedy, to po ruszeniu do przodu, przekaznik bedzie w innym "miejscu" się załaczać. Co do wałka do ktorego bedzie przyłożony...
Polecam dokupić czujnik zewnętrzny. Wówczas temperatura zasilania jest zmienna z krzywą grzewczą. Mając sterowanie stałotemperaturowe sam ustawiasz temperaturę na zasilaniu i bywa, że przy zmiennych temperaturach zewnętrznych niedogrzewa i trzeba zwiększać temp zasilania ręcznie.
https://obrazki.elektroda.pl/5254520800_... Pokażę tutaj jak można masowo konfigurować i kontrolować urządzenia IoT z wgranym oprogramowaniem cm , natomiast zmienną cmnd, to co w niej zawrzemy zostanie wykonane przez urządzenie. Wszystkie skrypty będę uruchamiać na platformie Windows , ale na Linuxie wyglądałoby to analogicznie, tylko...
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...
A może wystarczy: PWM_FREQ=krok(np 10)*zmienna i potem incr zmienna
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...
C zawsze pod każdą postacią powodował drgawki, ale to czego przed chwilą nie udało mi się zrobić, przerosło mnie i muszę spytać się Was o co w tym chodzi: ... unsigned char i; int main(void){ while(1){ i++; if(i == 129){ i = 0; } } } ten program cały czas 'stoi' w miejscu int main(void){ a zmienna...
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;...
Więc czym się różni ręczne wpisywanie do portu, a czym się to rożni gdy działa pętla ? Może tym, że w pętli robisz to kilka tysięcy razy, do tego szybko? Ręcznie robisz raczej mniej, a na pewno wolniej. A może tym, że kiedy wpisujesz ręcznie, to program czeka na zdarzenie, i w tym czasie zajmuje się wykonaniem tego, co kazałeś wpisać do portu, a jak...
hmm... czemu tam jest i-N nie powinno być przypadkiem N-i ?? zakładam, że N to stała wielkość tablicy a i to zmienna która będzie się zwiększać czyli gdzieś w programie będzie i++;
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...
Nie bardzo rozumiem. Przy takich ustawieniach jak podałem procesor powinien "wchodzić" do podprogramu "Licznik" dokładnie co 1 sekundę i w tym podprogramie zwiększać zmienną dokładnie o 1. W pętli głównej zmienna jest wyświetlana na LCD. Niestety dzieje się to szybciej niż powinno...
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...
Koledzy to teraz ja poproszę o naprowadzenie mnie na właściwe tory. Mianowicie jestem w posiadaniu VW Passat B5FL 1.9 TDI PD (avb) 101KM. Autem robie miesięcznie około 2000km i 90% to trasa (głównie autostrady) i niestety czasami brakuje mocy i momentu żeby swobodnie i bezpiecznie wyprzedzić itd. Niestety 101KM na Passata kombi to trochę mało. Posiadam...
a ja mam pytanko z innej beczki, choć dotyczy układu MSP430 potrzebuję odmierzać sekundy w moim układzie, czy ten kod // procedura obsługi przerwania od TimerA #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A (void) { ++licznik; } będzie to robić (tzn czy zmienna 'licznik' będzie się zwiększać co sekundę?)[code]
Mam pytanie o zapis i odczyt z eepromu. jesli chcę zapisać do eepromu liczbę: 1001000001110111110001000011101111 i później ją odczytac, to mam to zrobić na zasadzie każdy bit to jeden adres? Czy może zrobić zmienną string, z eepromu do niej pobrać wszystkie cyfry i po kolei odczytywać z zeminnej string znaki? Żeby uniknąć tego długiego kodu, zrobię...
Masz funkcje RTC_GetTimer i RTC_SetTimer które odczytują i zapisują ten licznik oczywiście można to zrobić też bez tej biblioteki. A jesli jednak 32 bity to za mało to zawsze można dodać dodatkową zmienna przechowywaną w rejestrach podtrzymywanych bateryjnie i zwiększać ją gdy licznik przepełni się ;) Jak już bedę w domu to coś dokładniej Ci napiszę...
Dasej, dzięki za odpowiedź! Z góry przepraszam za mój nie profesjonalny schemat(próbowałem kilku stron, z niepowodzeniem. Program na ten moment powinien za pomocą klawisza PD0 zapalać diode na 3 sec i za pomocą PD1 zwiększać zmienną i która wskazuje która dioda ma się zapalić. Nie jestem pewien co do kolejności podłączenia kabelków do segmentów wyświetlacz,...
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ę...
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...
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...
tmf < z tą optymalizacją volatile to lipa. Można za pomocą atrybutu optimize (gcc > 4.4) zwiększać lub zmniejszać poziom ale jak już mam volatile to nic go nie rusza. Czy to miałeś na myśli ? By zmienna była "normalna" i nie optymalizować tych funkcji których nie wolno ? aded: Wskaźniki generują dodatkowe cykle ładowania adresu na który wskazuje...
Ewentualnie odpal timer z przerwaniem od przepełnienia i tam w przerwaniu wsadź zmienną która będzie zerowana w momencie naciśnięcia "start pomiar" i zwiększana co powiedzmy 1ms przez przerwanie (nie wiem jaką chcesz dokładność, możesz dać np. 0,1ms i masz większą precyzje). Potem jak naciśniesz "stop pomiar" to timer przestanie zwiększać tą zmienną...
Generalnie koncepcja separacja składowej stałe i składowej zmiennej stanowi zawężenie ogólnej koncepcji podziału pasma wejściowego na n-składowych i wzmacnianie z użyciem odpowiednio dobranych wzmacniaczy pasmowych. Dawniej taki podział miał większy sens, obecnie w dobie wzmacniaczy szerokopasomowych działających od DC do setek Mhz o dobrych i bardzo...
1. Gdzie masz jakąkolwiek eliminacje drgań tego przycisku? 2. Algorytm działania też wygląda nie ciekawie. Wg mnie powinno to wyglądać tak: Po wykryciu przerwania od INT powinieneś wyłączyć to przerwanie następnie wyeliminować drgania (odczekać te min 50 ms) następnie włączyć przerwania od Timera. W przerwaniu od Timera powinieneś sprawdzić czy przycisk...
Witam ad. 1 Sygnał zegara zapisuje bit w PLL. Więc w pierwszej kolejności program wystawia dane, a następnie zatrzaskuje je w syntezie. ad. 2 Zmienna Fpom.a odpowiada za pobieranie poszczególnych bitów. W pętli masz zmienną A która pokazuje który bit sprawdzamy w zmiennej Fpom. Np Fpom.0 - bit0, Fpom.1 - bit1 itd. Analogicznie odwołujesz się do poszczególnych...
Witam ! Jako, że nie jestem jeszcze "orłem" w pisaniu softu w C na avr'y mam do Was pytanie i prośbę za razem... Napisałem sofcik który załącza silnik mieszadła do pieca w momencie gdy temperatura spada poniżej zadanego progu, teraz potrzebuję by wyłączyć ten silnik gdy temp. wzrośnie lub gdy minie określony czas. Ponieważ całość jest banalnie prostym...
Czyli tablice fontów masz w RAM, a nie we flash? Nie, mam we flash i w programie mam const uint8_t font1 Dodano po 3 Kompilator wykrył ścieżkę "przez kod", przy której ta zmienna zainicjalizowana nie będzie To głupi ten kompilator, bo zaraz w następnych linijkach jest przypisanie tej zmiennej wartości innej zmiennej - sizclr=sizmax; - to tego nie 'widzi'?...
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...
Bingo ! :) Cała pętla wykonuje się może w ciągu 5 -10 ms . Więc podczas trwania warunku, kilkadziesiąt razy zostanie wykonana także funkcja lcd.clear() . To powoduje migotanie wyświetlacza, zwłaszcza w momentach gdy program na chwilę zwalnia ( nie znam biblioteki DS18B20 ale może ona być blokująca - czyli blokuje działanie programu do czasu, gdy układ...
Cześć Staram się skonfigurować SysTick'a w taki sposób żeby zgłaszał przerwanie co 1ms ale w ogóle nie jest uruchamiana funkcja obsługi przerwania... Nie wiem co trzeba zrobić. Funkcja konfigurująca SysTick: [syntax=c_loadrunner]int systick_start(uint32_t ticks){ //sprawdzenie czy wartosc zadana nie przekracza 24b if(ticks>SysTick_LOAD_RELOAD_Msk)...
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...
Poczytałem trochę o atomowym dostępie i o ATOMIC_BLOCK. Wynikało by że: jeżeli moja zmienna war_pom jest testowana w warunku logicznym to trzeba w sposób atomowy przepisać jej zawartość do zmiennej pomocniczej. Lecz program po wgraniu zachowuje się nadal tam samo, czyli: mogę zwiększać wartość zadaną ale często gdy kręcę enkoderem to wartość jest nie...
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...
Witam ponownie Zrobiłem to przez Timer0. Jednak problem z aktualizacją wyświetlania dalej występuje. Jeszcze drugi problem to start, przez okres zdefiniowany zmienną Licznik ( teraz równą 300 ) nic się nie wyświetla - dopiero po czasie = 300. Próbowałem również z Enable/Disable Interrupts na czas pomiaru, ale nie było żadnego efektu. Mam takie pytanie...
wielkie dzięki za sugestie, w związku z tym, że dopiero intensywnie uczę się Bascoma, to dlatego nie zawsze jeszcze jestem w stanie na szybko doszukać się odpowiednich poleceń w helpie jak podany przez ciebie Instr ;) również odnośnie tych paramterów $hwstack, $swstack, $framesize i ustalania ich wartości nie jestem jeszcze w pełni świadomy jak z nich...
Witam Wiem, że temat przycisku jest mocno nadwyrężony, ale ... Program ma jednym przyciskiem przy dłuższym przytrzymaniu zwiększać i zmniejszać wartość wyjścia PWM ( na zmianę ) lub przy krótszym włączyć/wyłączyć, czyli pwm1a = 0 lub pwm1a = 255. Każda z tych funkcji osobno działa ok, ale razem działa tylko włącz/wyłącz przy krótszym przytrzymaniu W1,...
Przepraszam za banalne pytanie, ale o dziwo w literaturze nie znalazłem na nie odpowiedzi. Po co w filtrach RC zasilaczy prądu stałego stosuje się rezystor? Kondensator - to wiadomo: zwiera do masy tętnienia. Ale rezystor? Gdyby w filtrze RC ten rezystor był PO kondensatorze, to jeszcze wytłumaczyłbym sobie sens jego stosowania w ten sposób, że rezystor...
Witam po małej przerwie. Mam znów kilka pytań, ale proszę o wyrozumiałość, bo naprawdę dopiero zaczynam z u-kontrolerami. A więc tak, zrobiłem jak radziliście, niestety nie potrafie jeszcze pojąć w pełni timerów, chodź umiem już je ustawiać aby odliczały jakiś tam ''kwant'' czasu. Przeglądam forum i widzę tutaj jeszcze dziwniejsze dla mnie rzeczy, mianowicie...
Moje następne pytanie z kolei jak ustawić sobie zmianę per aby przekładało się to na liniową zmianę częstotliwości. np 3200 mam około 50 Hz 6400 około 25Hz, PER na 14883 daje jakieś 11Hz, a PER 64745 daje 2.14Hz.. częstotliwość maleje 2 razy po zwiększeniu per razy 2 jak by to zapisać dla jakiegoś progu wyrażonego w x HZ lub 0.x HZ abym można było...
Piszę program na ATtiny2313 w AvrStudio. Mam najnowszą wersję kompilatora, podobnie jak WinAvr'a. Kod będzie "mrygał" zestawem diód. Na porcie przerwania jest przycisk, którym będzie można zwiększać wartość opóźnienia, z jakim mają się zapalać diody. Program reaguje na samo przerwanie #include <avr/io.h> #define F_CPU 1000000UL #include <util/delay.h>...
Panowie, szanowni koledzy.... Powiem szczerze chyba ktoś mnie, źle rozumie... Tą klawiaturke znam i właściwie w swoim działającym układzie wykorzystuję jeden PCF więc sama klawiaturka ograniczona jest do 8 przycisków. Ona działa i ma się dobrze. Mnie chodzi o coś takiego... podłączam do jednego portu procesorka układ np DS2405 i odczytuję jego adres...
Witajcie, mam problem nad którym siedzę juz kilka dni i zatrzymałem się nie wiedząc gdzie tkwi problem. Otóż chcę obsługiwać zegar RTC PCF8563 po I2C - czytać i zapisywać z niego dane (datę i czas). Projekt mam podzielony na kilka plików, całość pisana w Code Blocks 10.5 i kompilowana w AVR GCC. Mam zdefiniowaną strukturę do zapisu danych z zegara do...
Witam, mam zrobić do szkoły projekt, który będzie generował odpowiedni dźwięk po naciśnięciu odpowiedniego przycisku. Zaprojektowałem i wykonałem klawiaturę sekwencyjna, oraz wyjście na głośnik. Klawiatura podłączona jest do portu P0, a głośnik do P3.0. Niżej schematy. Od kilku dni próbuje to zaprogramować. Największym problemem dla mnie jest wygenerowanie...
Teraz zrobiłem tak: //ster_silnika()- funkcja mająca powodować stopniowy wzrost i malenie prędkości obrotowej silnika krokowego //w prawo i w lewo //g_accel_decel_counter- zmienna której wartość wpisujemy do licznika2 //advance_step()- funkcja sterująca krokami- działa dobrze //flaga_napięcie_foto- na którym fotooporniku jest większe...
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...
Mam problem z filtrowaniem. Jak by to był zwykły sygnał to problemu by nie było. Rzecz w tym że sygnał może się przewinąć. Chodzi o sygnał z kompasu. Mianowicie sygnał może się przewinąć z 359 do 0 i z punktu widzenia kąta jest to zmiana o 1* a nie o 359* i nic nadzwyczajnego nie powinno się stać. Niestety staje się. Sygnał z kompasu wygląda tak: http://obrazki.elektroda.net/63_12638268...
Witam mam kolejny problem z nieszczęsną atmega128. Napisałem program który działał na ATmega16 i chciałem go przenieść do atmega128 no i jest problem. Program w ogóle nie działa. W przerwaniu powinny się zwiększać wartości zmiennych. Niestety chyba nie zwiększają się :/ program wchodzi do przerwania bo wstawiłem tam naprzemienne ustawianie i kasowanie...
Zwiększaj tylko jeśli zmienna <255 z zmniejszaj jeśli >0
Bascom ma symulator, w którym możesz sobie patrzeć jak ci się zmienna zwiększa. Języki nie przestrzegają ściśle reguł zapisu matematycznego.
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.
Pomysłu na teraz nie mam jak to rozwiązać, ale problem zapewne leży w tym, że kiedy przekaźnik = 1 to zmienna jest zwiększana z każdym przejściem pętli..stąd 2 potem 7 itp. Po prostu przez czas trwania stanu 1 na zmiennej przekaźnik, liczba się powiększa. Ciebie interesuje jednokrotne powiększenie. Czyli Przekaźnik = 1 i tylko raz incr zmienna. Trzeba...
Co 30 ms bedzie się zwiększała zmienna a.
Banalne zadanie. A więc włączasz licznik(lepiej TIMER1-większa pojemność), tak, aby odliczał ci te 10sekund. Dajesz zmienną którą zwiększasz np co 1sekunde (zmienna o nazwie sekundy). W czasie odliczania do 10s w pętli głównej zliczasz impulsy przycisku i zwiększasz je w innej zmiennej (np. impulsy). Po 10 sekundach w zmiennej sekundy będzie10s a w...
Witam. Po pierwsze, zegar procesora definiuj w opcjach projektu, każdy tutaj na forum Ci to powie. Po drugie: spójrz na tę linijkę: [syntax=c]while(liczba_cykli=zmienna)[/s... program nigdy nie wejdzie w tą pętlę z paru powodów: liczba_cykli = 10, natomiast inicjalizacja zmiennej: zmienna = 0, co oznacza, że nigdzie nie zwiększana zmienna nigdy nie...
Nie wiem co ten Twój Keil wyrabia , bo ten program po skompilowaniu SDCC i po załadowaniu do symulatora , działa jak powinien tzn. zmienna k jest zwiększana dokładnie co 1s i 276 us.Po zaprogramowaniu AT89S52 z kwarcem 12 Mhz, stan portu P0 zmienia się co ~1s(zmienna k wyrzucona). Moja propozycja - zmień kompilator :wink: Piotrek PS Dodaj jeszcze w...
?????i to wzmocni baterię? Zawsze można połączyć kilka baterii równolegle, zwiększając tym samym ich wydolność prądową;]
period register nie ma nic do rzeczy - nim mozesz conajwyzej skrocic cykl timera. nie ma zadnego prostego sposobu - nalezy zwiekszyc preskaler timera skoro przekraczasz zakres - bedziesz mial mniejsza rozdzielczosc, ale dluzszy mozliwy pomiar. mozna ewentualnie sprobowac partyzantki i wlaczyc przy okazji przerwanie od timera wywolywane przy okazji dojechania...
założyłem troszkę za luźny pasek i podczas prania pod obciążeniem pasek się ślizgał. Czy to mogło zapoczątkować uszkodzenie tego rezystora? Nie. Moim zdaniem to są rzadkie przypadki, ale to wygląda na błąd montażu. Chyba że mierząc go tak nadusiłeś sondami, że nie zdzierżył ;) Logika tu jest taka: Brak ciągłości obwodu tacho czyli po prostu prądniczki...
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...
Już prawie masz to, co trzeba. Jeśli zmienna timer zwiększana jest co 20 ms, to zrób: if (timer >= 2) { /* albo więcej, ale 40ms to i tak dużo */ uint8_t zmiany = debounce(); /* wersja freddiego */ timer = 0; if (zmiany & _BV(PIN_MINUS)) servonumber -= 1; if (zmiany & _BV(PIN_PLUS)) servonumber...
1. Jak masz podłączony przycisk? Powineien być tak żeby zwierał pin procesora do masy. 2. if portd.0 = 0 then !!! 3. taki program Ci bedzie dziwnie dzialal bo jest cos takiego jak drgania stykow. Jezeli odczyt trafi akurat na moment ze styk sobie odskoczy to choc ty myslisz ze g wcisnales to nic sie nie zrobi. Wniosek: trzeba wytlumic rgania stykow....
Po prostu zamiast tej '1' w nawiasach wstaw zmienna ('pozycja') i zwiększając 'pozycje' zmieniasz sobie kolejne znaki. To wszystko w pętli aż do napotkania s(pozycja)=0. Niestety nie napisze ci kodu bo karierę z basiciem zakonczyłem na c64-basic i dos-qbasic dosyć dawno temu. Aha, w każdym innym języku string z założenia jest tablicą znaków i tam nie...
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
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.
W języku C /C++ aby porównać liczby trzeba stosować == użycie pojedynczego = to przypisanie. Po drugie korzystasz wielokrotnie ze zmiennych które nie są za inicjalizowane np: tab1[c]=liczba; ile wynosi zmienna c na samym początku, jeśli to VS to pewnie 0xcccccccc zmienna c również nie jest zwiększana. Ile wynosi k ? Deklarujesz użycie x i d, gdzie z...
mam problem jak w temacie, klikniecie pzycisku na formie ma zwiekszac zmienna typu float o 0.1 z koleji label ma to wyswietlac, problem polega na tym ze zmienna zostaje zwiekszona o np 0.099998472147 itp. zalezy mi na tym zeby zarowno to co wyswietlam jak i to co jest w zmiennej wynosilo dokladnie 0.1 0.2 .... jak sformatowac zakres zmiennej w builderze??
Chyba wszystko się zgadza. Co 32us licznik się przepełnia i zwiększana jest zmienna licznik o 1. Po 256 takich zwiększeniach zmienna licznik sie przekręca. Teoretycznie powinno być 122Hz.
WYjasnienie jest bardzo proste. druga pętla for pracująca na zmiennej 'y' nie powoduje wykonanie zadnej instrukcji w ciele fora, a jedynie modyfikuje ten 'y'. Kompilator optymalizując kod na siłe wywali tego drugiego fora, bo de facto nie robi on nic. Ale jednak jesli uzyje sie przed forem zmiennej 'y', kompilator domysla sie ze ta zmienna do czegoś...
if(++m >= 1600) Jest uproszczonym zapisem do ++m; if(m >= 1600) Zauważ, ze w moim kodzie nie ma pętli 'for' - zmienna m jest zwiększana dopiero po spełnieniu warunku, potem zmienia się zachowanie (zmniejszanie delty). U ciebie nadal jest pętla for, przez co każdy z warunków jest sprawdzany po 800 razy. Kod zawiera błąd, mianowicie...
chodzi ci o taki warunek ?? if portb.1 = 0 then 'jeżeli załączy się Pwm1a (buzer) incr zmienna 'to zwiększa się zmienna if zmienna = 10 then ' jeżeli zmienna = 10 stop Timer1 'to wyłącz Pwm1a (buzer) if v < 1 then ' jeżeli poziom wody spadnie poniżej 1 zmienna = 0 ' to zmienna się resetuje i odblokowywuje się możliwość ' ponownego...
Pozmieniałem troche program i teraz jest tak: void TIMER0_init() { TCCR0 = 5; TIMSK = 1<<TOIE0; sei(); } //*****************************MAIN*****... int main () { RS_init(UART_CONST); // inicjalizacja portu szeregowego TIMER0_init(); for(;;){} return 0; } //*****************************PRZERWANI... SIGNAL(SIG_OVERFLOW0)...
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...
Od więc ja zastosowałem sterownie menu w taki sposób: jeżeli nacisnę guzik DÓŁ wówczas zwiększa się zmienna TEMP. Tą zmienna przekazuje do funkcji menu(). W zależności od tego ile ta zmienna wynosi to funkcja menu wyświetla coś innego na ekranie. Niestety bladego pojęcia nie mam jak to zrobić w BASCOMIE :(
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.
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 ?
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...
Transformator na biegu jałowym jest cewką z rdzeniem włączoną do źródła napięcia zmiennego. Zwiększając liczbę zwojów zwiększysz jej indukcyjność a zarazem zmniejszysz prąd płynący przez jej uzwojenie.
Tzn. jeśli mowa o: xEventCounter = (xEventCounter <<2); xEventCounter += 0x3; Tutaj była inna nazwa zmiennej, oczywiście że tak bym nie robił bo zwiększałbym zmienna która robi za mój licznik wykonywanych zadań. Generalnie chodziło o fakt że z ifów wyciąłem kod i wkleiłem do funkcji i tyle. Tak czy owak mój powyższy kod który dałem jako...
Z tego co wyczaiłem to mega popędzana jest kwarcem 14,7456 MHz (kwarc do USART)... Timery ustawione są tak, że przerwanie wywoływane jest co 0,05s stąd podstawowa zmienna zliczająca do sekundy zwiększana jest co drugie wywołanie przerwania (odpowiadają za to variable i variable1)... Spróbuj przeanalizować ten kod i skonfrontować go z dokumentacją do...
Coś wskazał Rzuuf w #6 - chodzi o to, że przy takim podłączeniu triak włącza się niesymetrycznie, dla przepływu prądu w jedną stronę przy innym napięciu, niż w drugą. Taka asymetria powoduje, że napięcie, jakie dostaje transformator, ma składową stałą, A to prowadzi do nasycenia rdzenia i grozi spaleniem transformatora - właśnie to zjawisko powoduje...
. A więc wysyłasz 3x więcej danych niż potrzeba. Nie wysyła bo za każdym razem zwiększa te zmienna. Tak że pętla wykona się width * height razy. Oczywiscie zmienna idx powinien zrobić unsigned, ale tak cały ten wskaźnik nie będzie mógł być większy niż 64k. Niech kolega obejrzy te bitmape. Wygląda na rozwalone.
zwiększać wartość zmienna zwiększać dawka przetwornica zwiększać
zmywarka uszkodzić automatyczny reset kamera judasz
megaman zarowka megaman zarowka
Presostat w piecu Junkers nie zamyka obwodu - przyczyny Problem z wyjęciem szuflady na warzywa po zmianie kierunku otwierania drzwi w lodówce Bosch