dawid512 : ?. "CLI" blokuje wywoływanie przerwań, ale nijak nie przekłada sie na równoważność z wyjściem z funkcji. dreidel : Funkcji obsługi przerwania napisanej w C nie opuszcza się przez reti - wtedy tylko możesz spowodować przepełnienie stosu (na stosie zawsze są odkładane co najmniej 2 rejestry), zresztą powracasz nie do miejsca, w którym nastąpiło...
A po co volatile skoro to tylko funkcja wywołana w mainie ?:P Sposobów jest kilka ale nie będę wprowadzał zamieszania. Uważaj też na PORTD |= liczba; Pamiętaj że raz ustawiony bit nie zostanie już nigdy wykasowany w ten sposób.
Czy po ustawieniu nr_trybu = 0 w przerwaniu nie powinieneś zerować timer_count ? Albert
Gdy przycisnąłeś przycisk ale trzymałeś go mniej niż 70 okresów to zmienna Opoznienie_odczytu dochodziła do powiedzmy 65. Ale po puszczeniu przycisku nie resetowałeś zmiennej. Czyli miała ona dalej 65. I kolejne przyciśnięcie było obsługiwane za 5 cykli, a nie za 70 cykli tak jak chciałeś. Bo zmienna musiała doliczyć do 70 a już miała 65 czyli brakowało...
Czym byś nie mierzył to i tak skończy się na wymianie kondenastorów w zasilaczu w gałęziach +5 i +12V (w +3,3V także choć tam jest jeszcze dobrze). Co prawda jest tam dość ciasno ale warto przy wymianie zwiekszyć trochę wartość pojemności (producent często montuje minimalne wartości). Możesz posłużyć się drutami wlutowanymi w miejsce po kondensatorze...
To zależy. Jeśli na danej platformie int jest 16-bitowy, to tak. Jeśli tak właśnie ma być, to dla pewności należy dołączyć #include <sys/types.h> i użyć typu u_int16_t .
Mimo że port ma 7 wyprowadzeń to zawsze ustawiaj 8 bitów, bo to wciąż port 8-bitowy tylko że z obciętymi nóżkami. Regulację szybkości robi sie łatwo. Dodajesz jakąś zmienną np LICZ i teraz co każde wejście do przerwania timera to zwiększasz tą zmienną o 1. Teraz porównujesz ją z drugą zmienną np SZYBKOSC. Jeśli LICZ > SZYBKOSC to wykonujesz zawartość...
Błąd w logice. Twój kod czytam tak -> Dopóki zmienna nie ma 5 to cały czas resetujemy pomiar i startujemy nowy (już Select Case byłoby lepsze). Potem próbujemy to czytać jak zmienna ma powyżej 100. No daj spokój. Są tu tego tony jak to obsługiwać. Mój/nie mój sposób to dwa suby. Jeden Startuje konwersję a drugi Czyta. Sprawa polega na tym by odwrócić...
Jak interpretować to LD0? będzie to jakaś zmienna wewn.pamięciowa?
Napewno dales to w zlym temacie. Jak masz takie problemy to sprawdz czy masz poprawny schemat. Jednak w to watpie, ze schemat jest powodem, ze caly czas ci sie jedna zmienna resetuje. Jeszcze jest opcja, ze procek jest walniety
a dlaczego nie użyjesz FatFS? Daje trochę więcej możliwości. a tu masz coś do Petit: pf_write(bufor, sizeof(bufor), &s1); z tego co pamiętam zmienna s1 mówi o pozycji w której ma być zapisana zmienna bufor. więc po ponownym uruchomieniu s1 jest resetowana i zawsze masz tu tą samą wartość. przed zapisem danych trzeba użyć pf_lseek(xxx) gdzie xxx to koniec...
Przeszło mi coś przez myśl. Możesz zliczać po prostu impulsy wysyłane przez nadajnik. Inkrementujesz zmienną "czas". Każdy odebrany impuls resetuje nam czas, a zmienna np "odebrano" zlicza ilość odebranych impulsów. Po zaprzestaniu nadawania czas osiąga jakąś wartość i po jej osiągnięciu zmienna "odebrano" zostaje zapisana. To tyle by było w BASCOM,...
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...
Alarm.delay() przyjmuje jako argument liczbę milisekund . Gdzie w powyższym kodzie jest te 15 minut? Ponadto do czego służy poniższa funkcja? rinsingdelay powinna być typu unsigned long . Generalnie Alarm.delay() jako argument wejściowy przyjmuje unsigned long.
To jakiś duży transformator? czy nie wymaga softstartu? Transformator nie jest nawet włączony, steruje samymi przekaźnikami. Jedynie silnik jest podłączony. Przy tak zaprojektowanej płytce zakłócenia mogą łatwo wnikać w twoje obwody. Na płytce wylana jest masa. Usunąłem ją z altium'a żeby połączenia były przejrzyste. A gasiki są? filtr przeciwzakłóceniowy...
Witam. Czy da się jakoś wymusić programowo reset mikrokontrolera AVR ? tj chcę mieć warunek w programie że jeśli jakaś zmienna = ileś to procek się resetuje. Najlepiej w bascomie albo assemblerze.
tak jak w temacie :!: Jak zrobię tak, że otworzę okienko konsoli, i wpiszę kod: set PATH=%PATH%;c:/test/costam to w konsoli PATH pamięta dodaną ścieżkę, ale w momencie, gdy zamknę konsolę i otworzę na nowo to zmienna PATH resetuje się do zawartosci którą miała wcześniej. W ten oto sposób nie mogę ani dodać ścieżki do php :( ani do javy :( bo wszystko...
Witam, co do przycisku to proponuje uzyc przerwan. Zbocze narastajace (nacisniecie przycisku) lub opadajace (zwolnienie przycisku) spowoduja wejscie do procedury obslugi przerwania ktora moze wygladac tak jak napisales. Bez przerwania faktycznie bedzie mrugac co 200 ms. A drugi problem to tylko kwestia odliczania czasu. Po odpowiednim czasie jakas zmienna...
Nie widzi mi się pętla. Zależnie od realizacji 'tone' piny mogą być resetowane co jedną falę , ale nie znam szczegółów. Po drugie zmienna globalHornTime nie ma skutków w widocznym kodzie.
Do zliczania czasu warto użyć timera z biblioteki (SFC5). Czas ma zmienna time, więc możesz spokojnie liczyć do 100h.
zy w takim wypadku, licznik nie będzie się zerował przy każdym przerwaniu pochodzącym z układu detekcji zera sieci? Nie, zapoznaj się ze słowem kluczowym static i jego funkcją. i druga sprawa, czy nie powinien on być jakoś resetowany by po osiągnięciu >100% resetować się do 0? W wyrażeniu jest modulo 100 (%100), więc zmienna się zeruje po osiągnięciu...
/.../zeby licznik liczył nieprzerwanie i był resetowany, jeżeli na opadającym zboczu nCS zmienna data = '0'/.../ zapewne funkcje ktora chcesz zrealizowac, mozna napisac bardziej zgodnie z zasadami sztuki, asynchroniczne zerowania, ustawiania niosa ze soba niebezpieczenstwo blednego dzialania; nie polecalbym takiego rozwiazania, ale jak mozna to zrobic...
Ja też nie wiedziałem że w VBA są wskaźniki :) Chętnie zobaczę jakiś przykład, będę wiedział czego unikać ;]] A dla Kolegi radzę zastosować globalną, publiczną zmienną. Deklaruje się ją POZA funkcję/procedurą w ten sposób: Public d as Integer możesz ją nawet umieścić w osobnym module, i odwoływać się np. Module1.d ... Zainicjuj zmienną na 0 jakimś jednorazowym...
Tego nie rozumiem: On Interrupts i nie wiem jak to kompilator rozumie. Chyba przypadkiem skasowało Ci się 1 przy "enable timer". Nie wiem, czy to jest dostępne w twoim uC: Config Int1 = Change Z kodu wnioskuję że taktowanie masz 8MHz. Przy jakiej wartości zmienna się zeruje? Możliwe, że uC się resetuje. Sprawdź to.
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...
Witam Tutaj masz przykład w bascomie Zmienna Y odpowiada za czas po którym wychodzi automatycznie z podprogramu ustawiania czasu dla zegarka , zadeklarowana jako word W moim przykładzie to jest wartość 1500 . można ją dobrać doświadczalnie. jak ustawiasz dane to zmienna jest resetowana Y=0 jeżeli nic się nie dzieje to wychodzi z podprogramu po osiągnięciu...
Może jednak Asembler później bo niewiele trybie z tego zapisu. :( Zrobiłem test, napisałem programik który resetuje 1 wire i sprawdza zmienną Err . Za każdym razem zmienna zwraca mi 1. Ustawiłem czas powtarzania co 2 sek. Sprawdzałem linie 1W szybką sondą logiczną ale zarejestrowałem tylko impulsy resetu wydawane przez procesor i nic kompletnie więcej....
Mam zmienną "czas" która jest w sekundach, taki podział jest poprawny? godzina = czas/3600; minuta = (czas %3600)/60; sekunda = czas%60; Wiem że godziny przekroczą 24 i to jest zamierzone.. Z początku miałem to inaczej timer wyliczał godz/min/sek if ( Czas_Tim>= 50){ // co 20ms Czas_Tim=0; Czas_sek++; if (Czas_sek >= 60){...
Witam, Zła zmienna pomocnicza przy wykrywaniu zbocza, proszę wstawić np %m0.3. Poza tym można setować i resetować od razu w NW1 Tag3, i w następnym NW wstawić styk NO (Tag3) i cewkę (Lampka) - coś takiego: http://obrazki.elektroda.pl/8780939300_1... Pozdrawiam
(...) 39: Set Mcp_clk '1 Mcp_wynik1.0 = Mcp_din1 : Mcp_wynik2.0 = Mcp_din2 : Mcp_wynik3.0 = Mcp_din3 : Mcp_wynik4.0 = Mcp_din4 Case 40 : Set Mcp_cs End Select Return Jaki błąd w niej popełniłem? Twoja składnia i podejście do problemu wyglądają na prawidłowe, ale istnieje kilka kwestii, które warto rozważyć i sprawdzić, aby upewnić się, że wszystko...
Szkoda że z takiego fajnego tematu zrobił się taki bełkot. Wyraziłem się jasno ja nie chcę ratować programu Watchdogiem nie chcę również oszczędzać przy jego pomocy na zabezpieczeniach samego procka itp. Pewnie się ze mną zgodzicie Watchdog służy do zabezpieczania procka przed błędami i wypadkami, których nie da wyeliminować na drodze programowej i...
przeczytaj jeszcze raz poprzedniego posta chcesz gotowca czy sam to rozgryźć? Zmień sobie If Liczba < 0 Then Set S1 Gosub Minus Reset S1 Gosub Resetuj End If na If Znak = 1 Then 'wartosci ujemne Set S1 Gosub Minus Reset S1 Gosub Resetuj End If zmienna liczba nie będzie wtedy potrzebna zastąpi ją zmienna znak (zyskujesz na rozmiarze kodu bo zmienna...
A więc chodzi mi o zrobienie stroboskopu, który posiada funkcję regulacji jasności świecenia i częstotliwości. Wyjście z pod PWMa jest doprowadzone pod tranzystor, który wzmocni sygnał dla LEDów. Mój problem polega,na tym że nie za bardzo przychodzi mi myśl jak połączyć regulację jasności z częstotliwością. Częstotliwość byłaby prostą sprawą. Wystarczyłaby...
Testy można przeprowadzić w niektórych symulatorach np. [url=http://www.edsim51.com/]edsim51. Przykładowy kod poniżej. [syntax=asm] sekundy EQU 07Eh ;zmienna sekund jedna_dwudziestaEQU 07Fh ;licznik jednej dwudziestej sekundy resetowanie EQU 19456 ;ustawienie zliczania co 0,05sek setkiEQU 07Bh dziesiatkiEQU 07Ch jednostkiEQU 07Dh flagiEQU 020h org 0000h...
Tylko,że liczba impulsów jest zmienna i raz może być ustawiona jako 400,a drugi raz 550 i w liczniku CTD rejestr z PV przenosiłem do panelu KTP i resetowałem licznik poprzez wejście R a w HSC nie wiem jak sie do tego zabrać.
Warto zacząć od uwzględnieniu sytuacji awaryjnych: 1. Co jeśli czujnik się odczepi, uszkodzi. Brak światła? 2. Co jeśli bateria pod wpływem wstrząsów chwilowo straci kontakt a mikrokontroler zasilanie. 3. Skoro to mikrokontroler, to może warto dodać stan baterii? Natomiast kolejne wciśnięcie switcha podczas ściecenia LED nie resetuje licznika czasu....
Witam, Lua NodeMCU w ESP8266: jak zatrzymać program na kilka sekund lub lepiej do uzyskania przez zmienną danej wartości. Moje "sposoby" resetują mi ESP8266 :( [syntax=lua]t0 = tmr.time() while tmr.time()-t0 <= 10 do end[/syntax] [syntax=lua]while zmienna~=2 do end[/syntax] Niby poprawne a... ehhh. Jak obejść problem? Radek
Wpada w tryb awaryjny dlatego mocy brak i po ponownym uruchomieniu resetuje się. To znaczy że jest jakaś awaria. Dodano po 3 Trzeba komputer podpiąć i sprawdzić kody błędów może to być zmienna geometria ale to tylko domysły. Check engine się zapala? Pierwszym właścicielem jesteś? Czasami handlarze kasują check engine programowo sam padłem tego ofiarą...
Twoje działa, ale moje nie działa. Wklej mój kod w kompilator i zobacz co się dzieje [syntax=Bascom] $sim $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Cursor Off Noblink Cls Dim Cool As Word ' zmienna określająca wypełnienie...
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:...
możesz użyć zmiennej tymczasowe do przechowania stanu pinu w przerwaniu i w następnym przerwaniu sprawdzać czy zmienna jest taka sama jak stan pinu czy nie, jesli jest inna to znaczy że pin zmienił stan. Spróbuj przy tym pokombinować skoro sam chcesz dojść do rozwiązania. Co do zerowania zmiennych to najprościej zrób tak zmienna=0 i masz ją wyzerowaną....
Niestety schemat mi nie pomógł. Poniżej wstawiam niedziałający (nie wiem dlaczego) program https://filmy.elektroda.pl/11_1423116251... http://obrazki.elektroda.pl/5676043600_1... Prawidłowy odczyt następuje tylko, kiedy za pierwszym razem nacisnę A, naciskając A drugi raz, mikrokontroler odczytuje złą kombinację i trzeba resetować....
ja mam zewnętrzny ram więc mam pamięci pod dostatkkiem ale nie rozumiem idei Twojej propozycji. pozdrawiam PC Idea polega na licznikach softwarowych obsługiwanych w procedurze przerwania timera. Jeśli programujesz w innym języku niż asm, to nie przejmuj się tym, że napisałem coś o RAM, każda "zmienna" jest przechowywana w RAM, wystarczy ją zadeklarować,...
hmm zaraz bo ja jakoś to zrobiłem tak, że działa normalnie nawet jak zostanie w pozyji przejściowej czyli ze zwartym X'em Dodano po 3 dałem zmienną BIT która jest ustawiana gdy oba (można zrobić warunek tylko dla X) piny enkodera X i Y są w stanie wysokim (nie zwierają do masy) i potem warunek, że jeśli ta zmienna bit = 1 to wtedy dopiero sprawdzam...
wow tego nie wiedziałem... Dzięki Przetestowałem, zaczęło działać. Ale... Jeśli zrobię tak:[syntax=cpp]ISR(TIMER0_COMP_vect) { rob_cos=1; }[/syntax]a w main:[syntax=cpp]while(1){ if(rob_cos==1){ PORTD &= ~_BV(3); OCR1A=0; _delay_ms(1); PORTD |= _BV(6); OCR1B=50; _delay_ms(1); rob_cos=0; } }[/syntax]to i tak dalej się resetuje. A potrzebuję umieścić...
Jeszcze jeden sposób na sprawdzenie czy RST do programowania działa prawidłowo - wgraj program, który na UART wysyła wartość zmienna++ co 1s, po wgraniu poobserwuj wysyłane komunikaty, odczekaj 10s, zamknij i otwórz monitor portu. Każde otwarcie tego portu COM z PC powinno resetować uC i zliczanie od nowa. Może być też delay 5s w setup i potem miganie...
Witam chcę sobie napisać funkcję która będzie mi zwracała czas w mikrosekundach. Czas będzie zliczany od załączenia procesora. I problem polega na tym, że nie wiem do jakiej zmiennej zapisywać ten czas bo np. po 1 sekundzie(1 000 000us) zmienna miała by już wartość 1 000 000? Taka funkcja istnieje w Arduino i w jej opisie pisze, że resetuje się dopiero...
volatile nie pomógł. Dodano po 53 Może te szablony w atollicu są przestarzałe/niepoprawne i dlatego jest kłopot. IMO: To by od początku były problemy Dzięki spróbuję Dodano po 26 Optymalizacja jest ustawiona domyślnie na "None (-O0)". Jak zatrzymuję program podczas debugowania (jak napisałem , program zawsze zatrzymuję się na pierwszej pętli) to setuję...
No wlasnie. czyli tak jak robie to ja. Timer generuje przerwanie co 1s. Zwieksza zmienna o 1. Wcisniecie jakiekolwiek klawisza jest rowniez sygnalem do wyzerowania tej zmiennej i cykl sie powtarza az do momentu, gdy zmienna osiagnie zadana wartosc. Oczywiscie reczne wychodzenie z menu jest tylko i wylacznie uwarunkowane klawiszem ESC. Ta zmiena symuluje...
(...) { speed = mappedValue; // Ustawianie 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); } } Witaj! Rozumiem Twój problem z buczącym silnikiem...
Ta "kropka" informuje tylko ze wejście reset jest aktywowane stanem niskim (podłączenie nóżki 4 do masy resetuje układ).
Witam, jestem w trakcie pisania programu do regulacji temperatury i napotkałem problem. Napisałem program już w 80% i jest problem, ponieważ muszę wpisać wartość temperatury po której wartość ustawiona "zeruje się" do jedynki. Wszystko jest ok gdy wartość ta nie przekracza ok 250, gdy chcę wpisać 580 to wyskakuje błąd. Select Case Volt0 'zmienna Volt0...
Witam, posiadam opla astrę 1.4i z 95.r na wtrysku wielopunktowym, problem polega na tym, że od pewnego czasu po odpaleniu, i ruszeniu raz jedzie dobrze, a raz się muli. Kiedy jest dobrze to czy jest na gazie, czy na benzynie śmiga ładnie, a jak się muli to na jednym, i drugim. Wymienione ma świece, kable wysokiego napięcia, filtr powietrza, resetowany...
Dobrze by było, gdyby przekaźnik wyłączający światła dzienne był nie zależny od programu, ani program od niego. Taki kierunek w wersji modułowej pasował by do każdego auta. Kierunkowskaz ma 2-3Hz i w tym minimalnym czasie musi zmieścić się Twoja sekwencja. Pomijam już fakt stosowania takiej niehomologowanej lampy (bo zaraz się ktoś doczepi ;) ) Dodano...
Rozumiem doskonale ale zrobiłem coś innego, mianowicie przy resecie watchdoga zmienne sie resetują ale można zdefiniować zmienna w ten sposób : [syntax=c] uint8_t cycle __attribute__ ((section (".noinit"))); [/syntax] Stan zmiennej jest zapamiętywany nawet po resecie watchdoga. Dlatego można zliczac cykre uruchomienia resetu. [syntax=c] int main(void)...
Tak poradziłem zmieniłem ustawienia kodowania dla 4 kamer, mialem ustawione kodowanie obrazu H.265 i bitrare 3072 Kbps klatek pełna liczba , prędkość bitowa stala, jakosc wideo najwyższy ,rozdzielczość 1920*1080P Teraz ustawiłem H.265+ i bitrate 8192 Kbps klatek pełna liczba , prędkość bitowa zmienna , jakość wideo najwyższy ,rozdzielczość 1920*1080P...
Witam Chciałbym wreszcie zacząć używać watchdog`a w swoich programach, ale do tej pory miałem problemy ze zrozumieniem go (może nadal mam) Proszę na podstawie poniższego pseudokodu odpowiedzieć czy prawidłowo jest umieszczony w kodzie ?? $noramclear 'dyrektywa zapobiegająca wyzerowaniu zmiennych uzytych w programie Config Watchdog = 2048 'konfiguracja...
Marcin1326 : Tak na marginesie pomyśl o zapewnieniu atomowego dostępu do zmiennej "time" - jeśli pomiędzy zapisem pierwszego a drugiego bajtu pojawi się przerwanie, to mogą się dziać różne dziwne rzeczy (tutaj co najwyżej opóźnienie inne niż oczekiwane). Tak jak wpisanie do "time" można raz rozwiązać atomowo (zapisanie SREG, cli(), operacja i odtworzenie...
Zatem w main() musi być konfiguracja i potem odczyt MCUSR. Kolejno określa się co wywołało reset, jeśli POR lub BOR itd. trzeba wyzerować licznik (jakaś zmienna globalna - nieinicjalizowana). Tego niestety nie rozumiem
Oto ostatnie zmiany w kodzie: Tabela z godzinowymi statystykami energii zużytej, wyeksportowanej i uśrednionej w ramach netmeteringu, przechowywana w pamięci RAM (czyści się przy ponownym uruchomieniu). Nowe flagi: 'OBK_FLAG_POWER_ALLOW_NEGATIVE' -> Zezwól na pomiar ujemnej energii 'OBK_FLAG_POWER_INVERT_AC' -> Odwróć kierunek przepływu prądu przemiennego,...
Spróbuję w tą stronę co mówisz, ale chciałem użyć najprostszego przerwania od przycisku, żeby się tego trochę nauczyć. Tym niemniej, trudno mi zrozumieć dlaczego flaga się resetuje poza wyjściem z handlera przerwania. Może źle to rozumiem, ale jak zastawiam breakpoint na wejściu do przerwania to drgania styków chyba nie powinny mieć dla mnie większego...
Kupione, bardzo ciekawa, dużo przykładów. Znam już trochę timer (przynajmniej podstawy), ale teraz pytanie. Jak zrobić żeby zmienna trwała krócej niż impuls, który ustala jej wartość? (pewnie piszę herezje) [syntax=vbnet] If PULSE=1 Then T=1 Waitms 1 T=0 End if [/syntax] Proble jest w tym, że moje PULSE trwa ok 300-500ms, a moje T musi być wyzwalane...
Musicie zwrócić uwagę na to co już jeden kolega wspominał kiedy "walczyłem" z odtwarzaczem i plikami FLAC. Stacje muszą być w formacie 16bit, 44, 48kHz. Jest sporo stacji nadających FLAC 24bit i on nie zadziała. (at)wirbud w teorii toslink czyli optyczny SPDIF i przetwornik PCM powinny chodzić razem bo to tylko dostaje sygnały po i2s, nic nie wysyła....
Zagadka nadal nie jest rozwiązana. Według pomiarów, układ resetuje się po ok. 18 ms działania. Wstaje po ok. 75 ms. Objawy jakby WDTON był włączony (ale niby nie jest). Włączenie WDTON ustawia WDG na najkrótszy czas wynoszący około 16ms. CLK sel masz na 65ms, procek resetowany jest około 75ms, więc ok. Dodaj resetowanie WDT ale ze względu na to, że...
Zacznij od tego aby na przerwaniach od timera, np 1ms liczyć czas przez jaki przycisk jest naciśnięty, niech będzie to zmienna "czasGora". Jeśli zwolniony zerujesz czas. Gdy jest naciśnięty przez 2000ms, ustawiasz flagę "rozjasnianie". W przerwaniu gdy flaga ta jest ustawiona zwiększasz wypełnienie PWM do MAX. Pierwsza część zadania zrealizowana. Następnie...
Żeś się rozpisał mhihi. Pewnie ze można prościej, ale ja nie o tym. Masz to tak napisane to zrób sobie "Sub Reset_all" a w nim na przykład: Klawiatura_1 = 0 Klawiatura_2 = 0 ...itd i tam resetuj do neutralnych ustawień. Potem taki sub sobie wołaj tam gdzie jakąś strzałką przechodzisz do jakiejś innej struktury menu. Najcześciej robię to inaczej. Jeden...
Po pierwsze, w każdym przyzwoitym języku programowania else dotyczy ostatniego if. Po drugie, jak zachowa się druga część programu, gdy zmienna Tmp_1 będzie miała wartość 100, 120 lub 140. Po trzecie, jeśli jużwiesz, że Tmp_1 ma wartość np. 90 (bo wpadłeś w pierwszy if), to po co sprawdzasz, czy mieści się w przedziale od 100 do 120 i kolejnych? To...
A pomyślałeś nad zabezpieczeniem programu na wypadek wyjścia indeksu "tabint" poza obszar tablicy? Co z tego, że Ty wysyłasz sobie ramkę danych zakończoną "0xCC,0x33,0xC3,0x3C". W przypadku, gdy nie zostanie poprawnie zdekodowana to zmienna "tabint" nie zostanie wyzerowana i kolejne bajty przychodzące spowodują wyjście indeksu poza tablicę. A wtedy:...
O kurde - dlaczego na to nie wpadłem... Przecież kolejny "print' będzie tam, gdzie skończył się poprzedni. A ja definiowałem miejsce wystąpienia 'C na nowo... Dokładnie tak :) Jeśli potrzebujesz przerwy, także ruchomej, to wstawiasz po prostu spację, czy dwie: lcd.print(" "); Nie musisz więc badać czy temperatura ma 1 cyfrę przed przecinkiem, czy 2....
Dziękuję!! Działa, musiałem poszukać jak się resetuje, ale znalazłem coś takiego: TCNT1 = 0; użyłem w moim programie i jest super! Co do volatile: użyłem to zgodnie z tym opisem: Przydomek volatile wyłącza stosowaną przez kompilator optymalizację w stosunku do zmiennej. Używa się go wtedy, gdy dana zmienna jest modyfikowana przez nieznaną kompilatorowi...
Mam nadzieję że inkrementujesz sobie jakąś zmienną która informuje o ilości włączeń wentylatora a potem ją resetujesz. Przerwanie od timera zakłóca ci odczyt z DS-a musisz sobie dodać flagę którą będziesz ustawiał lub resetował i będzie cię informować że właśnie zakończyło się przerwanie i masz jeszcze trochę czasu do następnego. W tym momencie musisz...
Zrób warunek gdy przycisk wciśnięty to zmienna odczytana_wartosc = 0; A gdy puści przycisk, to dioda znów zaświeci o jasności zgodnej z aktualnie odczytaną wartością potencjometru w kolejnym obrocie pętli . Zdaje się że autor potrzebuje troche inną kombinację, (aby dioda zgasła niezależnie od pozycji pot.). Przycisk powinien 'postawic' flagę blokującą...
Chcialem uzyskac przerwanie co 1 sekunde aby zwiekszyc tylko zmienna sekundy do odmierzania czasu. Ale mikrokontroler jak sie okazalo resetuje mi sie co sekunde gdy tylko nastapi przerwanie. blad w programie? pomóżcie prosze. z gory dziekuje! #include "hd44780.h" #include <interrupt.h> // funkcje sei(), cli() #include <avr/io.h> // dostęp...
Mam niezrozumiały błąd w ESP8266. Gdy w kodzie, mam warunek if https://obrazki.elektroda.pl/3663364700_... po czym resetuje się. Gdy kod zmienię na [syntax=c] if ( false) { CrcModbus = false; } else { CrcModbus = true; [/syntax] program działa poprawnie. Nie ważne czy w if mam != czy == zawsze jest źle. Zbadałem, ze problem występuje,...
Podrzucę swoje dość mocno rozbudowane w możliwości urządzenie na bazie ESP-01. Kod napisany w C (ARDUINO) . Zdalne sterowanie przekaźnikiem: Kod pozwala na zdalne włączanie i wyłączanie po zdefiniowanym czasie przekaźnika za pomocą połączenia Telnet. Dzięki temu możesz zdalnie kontrolować urządzenie Router / modem . Automatyczna aktualizacja DNS: Jeśli...
zmienna=`fping -a -r 5 -t 1500 www.wp.pl` if [ $zmienna != "www.wp.pl" ] then date >> /var/log/reset.log echo "Reboot" >> /var/log/reset.log reboot fi Będzie wywalał taki tekst w przypadku gdy jest wszystko ok, oraz resetował gdy nie ma połączenia. Działać będzie, jak chcesz mieć to ładnie to się pobaw, w końcu...
Ja bym wstawił warunek, żeby nie resetowało wszystkich uzwojeń jak silnik ma się kręcić. W dodatku ja sie dziwię że to w ogóle działa, skoro po wejściu do podprogramu kręcenia silnikiem odbiór RC5 jest zatrzymywany, a sprawdzana jest jedynie zmienna Command, która jednak już nie będzie odświeżana przez odbiór RC5. Inna sprawa że RC5 powinno być obsługiwane...
Nie wiem, czy dobrze Cię zrozumiałem, ale wywaliłem bibliotekę od wyświetlacza(i2c) i kilka innych. Została jedynie do klawiatury i altsoftserial. Nic to nie dało, sytuacja jaka była taki jest nadal. [syntax=c] #include <AltSoftSerial.h> #include <Keypad.h> AltSoftSerial altSerial; String textMessage; //Zmienna do przechowywania wiadomoĹci...
Strasznie kombinujesz. Zobacz przykład z blinkWithoutDelay, wywal led, wrzuć tu zmienna do odmierzania czasu, jeśli jest większa od zera to ją zmniejszaj, odliczanie gotowe. Dalej w kodzie gdy PIR wykryje ruch ustawiaj zmienną na czas działania, zawsze dopóki PIR będzie wykrywał ruch ma ustawiać tą zmienną na czas startowy - resetuje ją. Potem zajmij...
[syntax=c] #include <avr/io.h> #include <stdlib.h> #include <util/delay.h> // makra #define WE 0 #define PORT_1wire PINB #define SET_1wire DDRB&=~_BV(WE) #define CLEAR_1wire DDRB|=_BV(WE) #define IN_DQ PINB & _BV(WE) char buf[8]; // zmienna potrzebna przy konwersji temp. // resetujemy magistralę - czekamy na impuls PRESENCE...
Witajcie. Napisałem programik zliczający energię w kWh. Super działa do czasu wyłaczenia z prądu - wtedy się resetuje i od nowa prawidłowo nalicza. Są wbudowane funkcje w eeprom.h które próbuję zmusić do działania i nic z tego nie wychodzi - ciągle kompilator wywala błędy. Zapisywanie do EEprom chcę zrobić funkcją eeprom_write_float ../main.c:387:5:...
Witam Chciałm zrobić automatyczną regulację obrotów silnika. Pierwszy silnik napędza drugi silnik który pracuje jako prądnica i muszę wraz ze zmianą obciążenia prądnicy regulować obroty silnika tak aby uzyskać stałe napięcie na wyjściu prądnicy. Do sterowania zastosowałem Atmegę 8. Napisałem taki programik i niby działa, ale ... regulacja jest zbyt...
(...) ' 5 Data 250 ' 6 Data 131 ' 7 Data 251 ' 8 Data 219 ' 9 Wstępna ocena dostępnych informacji W kodzie widzimy dwa liczniki (Liczba_ok i Liczba_nok) zadeklarowane jako zmienne typu Word, a także tablice na cyfry (Cyfra_ok i Cyfra_nok) jako typ Byte. Z punktu widzenia zakresu wartości samych liczników (od 0 do 999) nie powinno to powodować błędów...
milis nie jest sprzętowe, bo w przerwaniu jest inkrementowana zmienna, którą zwraca funkcja Czyli Arduino rezerwuje timer na te cele. Skoro tak, to przerwania nie wpłyną na dokładność tego milis, chyba, ze trwają ponad 1ms A z ciekawości, jak realizowany jest micros? Przerwania z czestotliwością 1MHz nie wchodza w grę, pewnie timer do generowania milis...
A co na to odpowiednie RM (która powinna być dla ciebie święta księga a nie jakieś zabawne biblioteki). Powinna być, ale ciężko mi się tam odnaleźć. Pierwszy raz bawię się uC, dlatego kupiłem tą książkę, a tam pracuje się na tej bibliotece. Jak pisałem, na samych rejestrach nie potrafię nawet uruchomić zegara dla Backup Domain, a co dopiero skonfigurować....
Dziękuję za odzew ;) z przykrością muszę stwierdzić że nie do konca o to chodziło, zależy mi na NIE kopiowaniu całej tabeli tylko samego tekstu. Warto zauważyć ze w exccelu (patrz zdjęcie) w całym wierszu czcionka jest tak samo sformatowana (podkreślenie lub pogrubienie). Mój dotychczasowy program ma pętelki które powodują przejścia przez wszystkie...
Gdy zmieniłem typ "podtrzymanieZdolu" na volatile, to wywaliło mi mnóstwo jakichś błędów łącznie z tym że nie zadekalrowano różnych zmiennych. Tak, musisz coś gdzieś wpisać, ale w różnych miejscach coś innego. Nie wiem co Ci poradzić, (at)emarcus pokazał Ci kod, ja dałem Ci przykład, może brzydki, bo nie przemyślany do końca, ale działający (chociaż...
Witam Mam problem następujący - jak wyłączę komputer to czasami, ale dość często resetuje mi się ustawienie częstotliwości pacy procesora i pamięci. Procesor Athlon Mobile 1666 Mhz puszczony na 1830 MHz Na płycie z BIOSEM OC ustawiam 147 MHz proc i 147 MHz pamięć. Bateria CMOS dobra, inne dane z CMOS nie giną. A czasami po włączeniu ustawia się 100...
Witam ponownie. Poniżej zamieszczam źródło mojego programu. Ma on działać następująco: Po wykryciu zbocza narastającego na INT0 resetuje zmienną x, włącza timer i obsługę INT1, którego przerwania cyklicznie inkrementują zmienną x. Po wykryciu zbocza narastającego na INT1, ma zatrzymać timer i włączyć obsługę INT0. Jednocześnie pętla główna cyklicznie...
//**************************************... // Plik: keyb.h // // Zaawansowana obsługa przycisków i klawiatur // Wersja: 1.0 // Licencja: GPL v2 // Autor: Deucalion // Email: deucalion#wp.pl // Szczegóły: http://mikrokontrolery.blogspot.com/2011... // //**************************************...
heh wydawało mi sie że skorzystanie z gotowca będzie łatwiejsze niż pisanie tych funkcji od podstaw :) listing pliku keyb.c [syntax=c] //**************************************... // Plik: keyb.c // // Zaawansowana obsługa przycisków i klawiatur // Wersja: 1.0 // Licencja: GPL v2 // Autor: Deucalion // Email: deucalion#wp.pl...
Rozwiązałem problem :) Zmienna "aborted" jest ustawiana jako "false" w pierwszej komendzie nowego wątku, co początkowo wydawało się słuszne ( wątek wystartował to ustawia sobie odpowiednią zmienną ). Niestety nie jest to dobre rozwiązanie. Trzeba pamiętać, że nowo uruchamiany wątek nie startuje dokładnie w chwili wywołania "new thread()", a dopiero...
Przez ostatnie 2h doszedłem do tego w czym tkwi problem zarówno w obsłudze przerwania od timera0 oraz od zewnętrznego INT1. Problem polega na tym że zmienna globalna którą wykorzystuję jako flagę istnieje tylko w obsłudze przerwania,flaga nie jest widoczna w głównej pętli programu lub po obsłudze przerwania resetuje się ATmega. Wywnioskowałem to gdy...
dzięki za pomoc. deadline projektu jest zbyt bliski, żebym był w stanie nauczyć się C i napisać w nim 3000 linii. bod włączone i dzięki temu np szybkie wyjęcie i włożenie wtyczki do kontaktu nie zawiesza procka tylko resetuje. wd włączone na 2048ms i działa. co dziwne, po resecie w rejestrze mcucsr (rejestr przyczyny resetu) niema śladu po resecie WD....
Dodano po 1 Rzeczywiście, w przykładzie podałem kod, który zakłada obecność tylko dwóch przycisków. W przypadku kalkulatora potrzebujesz znacznie więcej przycisków – po jednym dla każdej cyfry (0-9) oraz dodatkowe dla operacji matematycznych takich jak dodawanie, odejmowanie, mnożenie, dzielenie i ewentualnie inne funkcje, które chcesz zaimplementować....
.resetuje liveboxa Jak go resetujesz, prądowo? Jak sprawdzasz adres IP?
Kod poniżej: ;) [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #include <stdio.h> #include <stdlib.h> //#define F_CPU 8000000UL //pomocnicze sta³e #define USART_BAUDRATE 9600 #define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1) //stale do obslugi switchy #define RESETUJ 0x00 #define ZAPIS 0x01 #define...
Odpowiedz na wasze pytania. Zrzut zrobiony Online ze sterownikiem. NA dalsze pytania Ui CPCO to bloczek który zrobiłem do obsługi i konfiguracji wejścia, pozwala zmienić dowolnie kierunek wejścia oraz typ podłoączonego czujnika dzięki temu nie muszę wgrywać kompilacji do PLC aby dokonywać zmian, Powyżej w funkcji FIND widać ile razy w programie jest...
Póki co - ponieważ wszystko typu [syntax=delphi] repeat Application.ProcessMessages; until Form1.IsChromiumBusy = False; [/syntax] w pewnym sensie zawiesza działanie przeglądarki (nie zawsze wczytuje się poprawnie treść), użyłem następującego rozwiązania. Dodałem jeszcze jeden Timer z interwałem 2 sekund. Przeglądarka odpala OnLoadEnd i zazwyczaj potrzebuje...
ad.1) 33h , to kod rozkazu READ ROM przesyłany przez mastera di iButtona ad.2a)Działa tak , jak to widać ma str.6 Figure 6 , czyli owreset resetuje magistralę 1wire i zwraca bajt , który informuje czy "wykryto" PRESENCE PULSE(return !=0) , czy też nie (return=0). ad.2b)Master wysyła do iButtona 8 bitów reprezentujących rozkaz 33h ad.2c)Master odczytuje...
zmienna dword zmienna single combobox zmienna
robot kuchenny szczotki zatkany wydech makro zapisujące arkusz
programatora ch341 ul1200 miernik
Seat Alhambra 1.9 TDI 1999 – migająca czerwona dioda w drzwiach, immobilizer, auto nie odpala TCL 50P615 TV No Image, VGH Oscillating 30V to 10V – Panel or T-CON Fault?