Czy RTC (zegar czasu rzeczywistego) używający Timera 2 w trybie asunchronicznym , działa nawet wtedy gdy wyłączone sa przerwania globalne ? ... kwarc, preskaler oraz Timer2 nie potrzebuje przerwań ale to nie wystarcza do zrobienia całego RTC to wystarcza do zrobienia przerwania co 1 sekundę a reszta zegara musisz zrobić programowo i to właśnie na przerwaniu...
(at)niveasoft To nie ten przypadek. Wyjaśnienie tej zagadki jest raczej proste - flaga przerwania jest kasowana, ale zwieranie mechaniczne powoduje bouncing, więc zgłaszanych jest więcej niż jedno przerwanie. Samo wyłączenie przerwania nie wpływa na odpowiednią flagę, więc przy kolejnym drganiu jest ona ustawiana, ale przerwanie nie jest obsługiwane...
http://www.atmel.com/dyn/resources/prod_... tutaj sprawdzisz, że P3.2 to nie"port szeregowy", a wejście przerwania zewnętrznego - dalej drąż treść zadania i męcz kartki swoimi zapiskami ja włączanie Timera 0 zrobiłbym tak ............ org 03h setb tr0; włączenie zliczania czasu clr exo ; ; wyłączenie przerwania zewnętrego żeby nie...
No dobrze - o matko (sorki) moja kurza ślepota ale zwrócę uwagę na coś innego mocno niepokojącego w twoim kodzie. On się cały czas resetuje po przerwaniu. Po pierwsz po co ci cli() i sei() w przerwaniu (przecież wyłączenie innych przerwań po wejściu w każde przerwanie dzieje się z automatu) ale już wplecenie rozkazu: reti(); to wyciągnięcie dywanika...
Do kolegów co podpowiadają mi użycie makr, tak jak pisałem wczesniej, uzywam Codevision a w nim nie ma czegoś takiego - chyba. Jak już wcześniej napisałem, moim zdaniem przy takich procedurach obsługi przerwań program powinien się wyrobić bez konieczności zagnieżdżania przerwań, a przyczyna złego zliczania może leżeć gdzie indziej. Możesz oczywiście...
Gdy procesor jest w trakcie wykonywania procedury przerwania, następne przerwanie nie będzie przyjęte , gdyż procesor (nie kompilator!) zeruję flagę globalnego zezwolenia na przerwania. Tak samo flaga bieżącego przerwania (tego, którego procedura obsługi jest wykonywana) zostaje automatycznie wyzerowana. Po zakończeniu przerwania flaga globalnego zezwolenia...
Szczerze... nie mam pojęcia. Dla mnie było to oczywiste, że gdy wystąpi warunek if(wpompowanaIloscWody > zadanaIloscWody) gdzie zadanaIlośćWody jest zmienną byte = X wartości, powinno nastąpić wyłączenie pompy po spełnieniu tego warunku i to bez względu na przerwanie. Jak możesz to daj jakąś podpowiedź bo sam do tego nie dojdę, myślę od wczorajszego...
Pod pozorem bezpieczeństwa moich danych na komputerze - każą mi go wyrzucić, wraz z tymi danymi lub przenieść wszystkie dane na nowy komputer, który po czasie też zostanie uznany za niebezpieczny dla mnie i moich danych? Kto wierzy w te opowieści? Kilka słów do "księgowych", tworzących listę urządzeń, dla "jedenastki": -zostawcie w spokoju nasze komputery,...
jeśli pokazuje ci 2mA to jeszcze nie jest niestety w najpełniejszym trybie PowerDown. W tym najgłębszym trybie miernik powinien ci pkazywać 0,6uA a skoro są mili ampery to znaczy, że bardzo częto się wybudza ze snu Dodano po 3 w związku z tym, że wykonałeś kawał dobrej roboty to tutaj pokażę ci jak ja zrobiłem usypianie procka, jak widać jest to robione...
W poście nr 13 popraw wstawianie obrazka na: http://www.elektroda.pl/rtvforum/topic20... Ponieważ z obrazka PE z jednorazowym odczytem nie można jeszcze wiele powiedzieć to włącz kolumnę z wykresem obciążenia CPU dla procesów: w menu View -> Select Columns... -> |Process Performance| -> Java Quick Starter jest znanym rekordzistą pod...
Czy wiesz co to jest prolog i epilog w assemblerze? Czy wiesz co to jest stos? Z tego co wiem w obsłudze przerwania powinno stosować się krótki i prosty kod, natomiast w moim przypadku potrzebuję po wystąpieniu przerwania przejść do wykonywania programu w pętli. Od takich spraw są flagi (czyli np. zmienne globalne), którym w przerwaniu ustawiasz jakąś...
Natomiast drążąc dalej temat jak wyjaśnić to, że na atmedze16 przy identycznej kofiguracji fuse'ów wszystko działało elegancko? Na procku ATmega162 ale podobnie na ATmega88 itp ... też działa elegancko. Tyle, że trzeba doczytać w nocie i pamiętać, że domyślnie Watchdog jest włączony. I wcale nie trzeba go zaraz fusami wyłączać bo po co? Może się często...
1 jak i 2 zależy od układu w jakim będzie pracował CNY17. Tam jest minimalny prąd diody przy której transoptor przewodzi i przy spodku po niżej tej wartości nastąpi wyłączenie transoptora. W układzie jaki ja zbudowałem do wykrywania zera z sieci mam stan wysoki dla zera i występuje on około 0,5 ms przed faktycznym zerem z sieci. Wg mnie lepiej użyć...
Dlatego, że nie używasz AS masz problem z ustaleniem przyczyny. Wystarczy uruchomić symulator, by zobaczyć, że Twój program wpada w zabezpieczenie dodawane przez kompilator polegające na wyłączeniu przerwań globalnych i zapętleniu się w specjalnie dodanej pętli. Symulator na początku zabawy z mikrokontrolerami, to podstawowe i bezpłatne narzędzie -...
Efekt 888 pojawia się dlatego, że używasz operatora OR w funkcji setNum() oraz dlatego, że źle korzystasz z operatorów logicznych (AND i OR). Zamiast wpisać nową wartość do rejestru PORTD, sumujesz ją z poprzednią wartością. Sama funkcja jeszcze mogłaby wyglądać inaczej, ponieważ nadal niepotrzebnie w procedurze obsługi przerwania jest ona wywoływana...
Prawie na pewno jest ponownie problem z DPF-em. Przy tak krótkich trasach (jeszcze nie wiem, ile w tych 100 kilometrach jest uruchomień silnika) uruchamiane jest wypalanie filtra, ale nie dochodzi do jego pełnego zakończenia i przy najbliższej okazji wypalanie zostaje ponownie uruchomione (co znowu wiąże się z dodatkowym paliwem wtryskiwanym do cylindrów)....
Idea polega na tym, że wskaźniki krążą po buforze w tym samym kierunku, tak jakby koniec bufora połączony był z początkiem, stąd nazwa "bufor cykliczny". Po dojściu do końca bufora wskaźnik przeskakuje na jego początek. Pierwszy zawsze jest wskaźnik zapisu, za nim podąża wskaźnik odczytu. Jeżeli oba wskazują na to samo miejsce to znaczy że bufor jest...
A spróbuj tak: [syntax=basic4gl] ' Fuse bity ustawione fabrycznie $regfile = "m8def.dat" $crystal = 1000000 Config Portb = Output 'sterowanie segmentów LED Config Portd = Output 'sterowanie segmentów LED Config 1wire = Portc.5 Anoda1 Alias Portc.1 ' Lewy wyświetlacz Anoda2 Alias Portc.2 Anoda3 Alias Portc.3 Dim Nr_wysw As Byte Dim Liczba As Long Dim...
OK, no to następne podejście z nadmiarowym kodem testowym odliczającym w kółko na ATmega8515 zamiast ADC - wyświetlanie bez zarzutu. Co do tego dziwnie wyświetlanego zera, to może masz zamienione a z g, b z f itp. W tej wersji łatwiej zapanować nad częstotliwością odświeżania segmentów - zbyt duża skutkuje podświetlaniem sąsiednich cyfr, zbyt mała -...
http://obrazki.elektroda.pl/3413210700_1... Witam serdecznie :D Chciałbym przedstawić wszystkim mój autorski projekt prostej konsoli stworzonej w ramach konkursu obecnie prowadzonego na elektrodzie. Każdy pewnie zapyta dlaczego akurat SharkII? To wskazywałoby jakby istniała pierwsza część, ale w sumie gdzie ona jest? W dawnych czasach...
https://obrazki.elektroda.pl/5694434400_... Moduły zasilaczy warsztatowych, takie jak DPS5005, dostępne są od dłuższego czasum.in. na AliExpress. Doczekały się wielu recenzji, w większości pozytywnych. Jednakże często wskazywanym problemem z tymi modułami jest kiepskiej jakości oprogramowanie – interfejs użytkownika pozostawia...
http://obrazki.elektroda.pl/6223122300_1... Domyślną metodą kontroli napięcia 230 V AC jest kontrola poprzez triak. Tak zrealizowany jest każdy ściemniacz. Kontrola taka oparta jest o kontrolę fazy - triak jest otwierany jedynie na pewną część sinusa napięcia przemiennego. http://obrazki.elektroda.pl/2250705900_1...
https://obrazki.elektroda.pl/6848039300_... Ogranicznik czasu pracy to dość banalne urządzenie włączane pomiędzy mechanicznym włącznikiem ciśnieniowym a pompą, mające ochronić ją przed przegrzaniem (skutkiem suchobiegu). Zasada działania: 1. Po włączeniu zasilania przekaźnik jest włączony i zaczyna się odliczanie 100 sekund (w normalnej...
http://obrazki.elektroda.pl/5579748400_1... Dendy Keyboard Transformer - podłącz klawiaturę i magnetofon do Pegasusa! Artykuł powstał jako opis zmagań z próbą zrobienia reprodukcji kardridża Keyboard Transformer - rosyjskiego wynalazku, który umożliwia pisanie programów w BASICU. Kardridż udostępnia gniazdo klawiatury i magnetofonu...
https://obrazki.elektroda.pl/5371288300_... Witajcie moi drodzy. Przedstawię tutaj teorię i praktykę implementacji wsparcia protokołu TuyaMCU. TuyaMCU to protokół oparty o UART, służący do komunikacji modułu WiFi z głównym mikrokontrolerem urządzenia Tuya. Protokół ten wykorzystywany jest w wielu produktach IoT, m. in. w ściemniaczach,...
http://obrazki.elektroda.pl/3724434900_1... W większości, a może i we wszystkich samochodach w elektrycznych podnośnikach szyb jest stosowane zabezpieczenie przeciążeniowe, powodujące wyłączenie silniczka gdy podnoszona szyba napotka przeszkodę. W bardziej rozbudowanych układach jest możliwość nawet opuszczenia szyby na jakąś tam odległość...
No w tym pierwszym programie to działa, ale przy pojawieniu się przerwania. Chciałbym jednak żeby działał niezależnie od przerwania (patrz drugi kod), jednak on nie działa ;/ Wynik zeruje się po kilku przerwaniach (niezależnie od przycisku zerowania).
https://obrazki.elektroda.pl/5092109900_... Witam, Odkąd w moim aucie pojawił się pilot do bramy wjazdowej na posesje nie chciałem aby leżał on gdzieś na wierzchu albo żebym musiał go szukać w czeluściach jakiegoś schowka. Postanowiłem więc, że zintegruje go z autem, jednakże nie chciałem dodawać żadnych nowych przycisków, tylko użyć...
http://obrazki.elektroda.pl/6568132900_1... Wstęp: Potrzebowałem urządzenia, które sterowało by taśmami LED po otwarciu drzwiczek. Ceny gotowych urządzeń tego typu były dla mnie za wysokie (cena od 30zł w górę), ja potrzebowałem ok 5 sztuk. Pracując nad tematem wykonałem działające urządzenie oparte na gotowym odbiorniku podczerwieni...
(at)ElektrodaBot Czy w zwykłych wątkach (poza ISR) można użyć vPortEnterCriticalSafe() oraz vPortExitCriticalSafe() zamiast stosowania operacji atomowych? Bezpośrednia odpowiedź W zadaniach (wątkach) FreeRTOS działających pod ESP-IDF można wywoływać `vPortEnterCriticalSafe()` / `vPortExitCriticalSafe()` zamiast używać `std::atomic`, ale należy traktować...
http://obrazki.elektroda.pl/9589280700_1... HPS 2014 Hybrydowy laboratoryjny zasilacz sieciowy. Parametry użytkowe zasilacza w skrócie: 1. Wykorzystanie tanich i łatwo dostępnych elementów. 2. Wydajność prądowa min 3A (dla niskich napięć może dochodzić do 5A). 3. Rozdzielczość DAC 12bit. (filtrowany PWM 4.9kHz) 4. Rozdzielczość ADC...
Jest wyłączana automatycznie i nic nie trzeba robić. Po skończeniu obsługi przerwania, przerwania są na nowo włączane dlatego cli nic nie robi
http://obrazki.elektroda.pl/9303655200_1... Witam, Tu: http://www.elektroda.pl/rtvforum/topic33... znajduje się opis powielacza czasu automatu schodowego. Obiecałem tam, że na bazie tamtego układu opracuję „inteligentny” automat schodowy, i oto jest :). Jego „inteligentność” jest zawarta w założeniach...
http://obrazki.elektroda.pl/2645142000_1... Sterownik diod LED został wykonany w celu automatycznego lub zdalnego sterowania oświetleniem LED w zależności od jasności w danym pomieszczeniu. Układ sterowania oparty jest o mikrokontroler ATmega16/ATmega32 firmy Atmel, który w zależności od oświetlenia w danym pomieszczeniu steruje jasnością...
https://obrazki.elektroda.pl/3252078300_... Poniższy artykuł przedstawia – krok po kroku – wykonanie niewielkiego, kieszonkowego oscyloskopu cyfrowego. Nie jest on tak dobry jak zwykły warsztatowy oscyloskop, ale z drugiej strony można zabrać go niemalże wszędzie. Poza tym – nie wszystkie projekty DIY muszą mieć sens....
Czy Linux zapewnia, bądź daje możliwość równego obciążenia procesorów i poszczególnych rdzeni? Istotne jest to głównie w sytuacji, gdy np. komputer ma 2 procesory, każdy z nich 4 rdzenie, a każdy rdze... Bezpośrednia odpowiedź - Tak: nowoczesne jądro Linux (CFS – Completely Fair Scheduler) automatycznie rozprasza wątki po dostępnych CPU/rdzeniach,...
Panowie, na szybko zapytałme chatGPT, o kod do obslugi enkodera i zapalenie diody na 1 sekunde ale żeby nie gubic liczenia impulsow. Czy taki kod jest prawidlowy: // Deklaracje zmiennych volatile int impulsy = 0; // Licznik impulsów const int enkoderPinA = 2; // Pin A enkodera podłączony do pinu 2 na Arduino Nano const int enkoderPinB = 3; // Pin B...
Witam ZbeeGen szacuneczek za tłumaczenie, ale po kolei: - Bascom 1.11.9.1 wersja demo - posługiwałem się oryginalnym helpem 1) przykład Config Timer2=Timer , Async=1 kompiluje się Async=ON 2) helpa czytałem i drugie miejsce które się wykładało przy kompilacji to COMPARE A NO_OUTPUT , COMPARE A PWM NO_OUTPUT Dziękuję za pierwszy konkretny post w sprawie,...
http://obrazki.elektroda.pl/3606329200_1... Miernik ESR. Jak ważną rolę w układach elektronicznych pełnią kondensatory, nikomu nie trzeba tłumaczyć. Ale fakt, że kondensator to nie tylko pojemność, już nie dla każdego jest taki oczywisty. Kondensatory elektrolityczne -bo na nich się głównie skoncentrowałem- pełnią najczęściej rolę filtrów...
http://obrazki.elektroda.pl/3796073600_1... I Opis ogólny urządzenia: Chciałbym przedstawić mój projekt bazujący na mikrokontrolerze STM32 dokładnie na modelu STM32F11RET6 http://www.st.com/content/st_com/en/prod... Jest to sterownik dla urządzenia...
http://obrazki.elektroda.pl/1779827400_1... W Internecie znaleźć można dużą ilość projektów dedykowanych dla Raspberry Pi - od bardzo prostych dla początkujących do niezmiernie skomplikowanych, dla osób ze sporym doświadczeniem. Poniżej opisany zostanie projekt, który jest relatywnie prosty, jednakże dosyć zaskakujący i przydatny -...
Jak nie zostaje wyłączone... Przecież podczas wykonywania przerwania inne są automatycznie blokowane, właśnie poprzez wyzerowanie globalnej obsługi przerwań - tak więc nie ma nawet potrzeby stosowania specjalnych zabiegów (cli) w tym celu, to właśnie żeby włączyć stosuje się sei w przypadku, gdy trzeba odblokować przerwanie tak, aby możliwe było jego...
Witam, mam problem ponieważ opracowuję pytania na egzamin z systemów wbudowanych i na jedno z nich nigdzie nie potrafię znaleźć informacji. Pytanie brzmi: W jakiej sytuacji należy utworzyć procedurę obsługi przerwania, mimo, że wiadomo, że do danej linii niczego nie przypięto?
Witam, 1. wg. mojej wiedzy w tym konkretnym przypadku jest to operacja atomiczna (przypisanie do zmiennej 'Pomiar', domyślam się że to jakiś uint) i wyłączenie przerwań/przerwania nie jest konieczne. Gdybyś jednak miał np. strukturę Pomiar {int srednia_z_10, srednia_z_5; } to wtedy należałoby to zabezpieczyć. 2. Możesz wyłączać tylko jedno przerwanie(UART)...
Najprościej wyłączyć przerwania na czas aktualizacji zmiennej. Gdybyś pozwolił na wykonanie się przerwania, ale to przerwanie nie mogłoby zaktualizować zmiennej, to jaki byłby jego sens? Musiałbyś później wymusić ponowne wykonanie tego przerwania, albo zgodzić się na gubienie zdarzeń. Jeśli wyłączenie przerwań nie wchodzi w grę, to musisz dokładniej...
Czy użycie pinu UART jako GPIO wymaga pewnych ustawień? Bezpośrednia odpowiedź: Tak, użycie pinu UART jako GPIO zazwyczaj wymaga pewnej konfiguracji. Wynika to z faktu, że piny UART są zwykle domyślnie skonfigurowane do komunikacji szeregowej i należy je ponownie skonfigurować, aby działały jako piny wejścia/wyjścia ogólnego przeznaczenia (GPIO). Szczegółowa...
https://obrazki.elektroda.pl/5690923100_... Jest to prosty grupowy regulator mocy z odmierzaniem czasu, wykonany na prezent do kontrolowania piekarnika elektrycznego. Osobiście wolę proste w konstrukcji prostokątne piekarniki z wbudowaną mechaniczną regulacją czasu i temperatury, jednak każdy ma swoje przyzwyczajenia i niektórzy wolą...
Po przerwaniu na czas jego wykonania wyłącz przerwania przez CLI a potem włęcz ponownie przez SEI. Wejście w przerwanie przy takim kodzie jak powyżej, automatycznie powoduje wyłączenie przerwania na czas jego realizacji, więc nie trzeba tego robić dodatkowo.
Do arturt134 Wyłączenie przerwania na czas odpowiadający pracy powiązanej z przerwaniem( oczywiście nie globalne wyłączenie przerwań, co byłoby po prostu odsuniętym przerwaniem bez zagnieżdżeń) jest dobrym rozwiązaniem. I skanowanie klawiatury zamiast przerwań też jest dobre. Ale nie mogę się zgodzić co do uniwersalności Twojego rozwiązania. Jest przejrzyste...
http://obrazki.elektroda.pl/1479245700_1... Witam, potrzebny był mi przenośny termometr do pomiaru temperatury cieczy, wykonałem więc urządzenie widoczne na zdjęciu powyżej. Aby umożliwić w przyszłości rozwój tego urządzenia umieściłem w nim dodatkowo zegar czasu rzeczywistego PCF8563. Sam mikrokontroler to ATmega328, mocno na wyrost,...
Wyłączyłeś przerwania przed skokiem do aplikacji.
wyłączenie przerwania przerwaniu atmega wyłączenie przerwania flagi przerwania
tokarka chińska instrukcja serwisowa magnetowid philips układy scalone audio
triak z0109mn vaillant nagrzewnica
Programowanie zatrzasku w SATEL Integra Częstotliwości transponderów Hotbird 13.0°E w Saarbrücken