A pytanie poza konkursem: Dlaczego chcesz to zrobić na UARTcie programowym? Na moje oko UART programowy po prostu gubi dane. Terminal widocznie nie robi żadnej przerwy pomiędzy bajtami a programowy UART jakiejś przerwy oczekuje (poza bitem stopu jeszcze na coś czeka). Trudno mi powiedzieć.
A co jest złego w odmierzaniu czasu i obsłudze wyświetlaczy w jednym przerwaniu? O ile nie masz typowego zegara RTC (na kwarcu 32768Hz), to właśnie ten sposób jest najlepszy. Zmiany wymaga natomiast Twoje podejście do tej kwestii. Program powyżej jest lekko chaotyczny. Nie rozumiem dlaczego sekundy potrafisz liczyć w 1 zmiennej, a do minut już potrzebujesz...
Może coś jest z szybkością nagrywania czy też ponownego nagrywania i pen nie nadąża z aktualizacją danych a rejestrator już chce ponownie? Może robić mu przerwy w zasilaniu programowo w celu wyeliminowania tego zjawiska?
w UNO miałeś pewnie starszą generację i reduktor z bajpasem do regulacji wolnych, w sekwencji ustawiasz ciśnienie i resztę załatwiasz programowo
a ja chce zauważyć pewien średnik po while
Oczywiście, że jest to przesada, jeśli chodzi o sprzęt, ale jak wspomniałem na początku, chciałem przekonać się sam o jego mikromocowości i sposobach uzyskania tejże. A wydawało mi się, że program zegarka, który z założenia ma pracować bez przerwy, będzie dobrą bazą programową do testów. KT
Spora szansa, że problemem są priorytety przerwań. We FreeRTOS (w sumie w większości RTOSów) przerwanie które używa funkcji systemu musi mieć priorytet niższy lub równy wartości którą sobie skonfigurowałeś jako progowa w pliku FreeRTOSConfig.h. Ponieważ zwykle w tym pliku jest to skonfigurowane tak głupio, że nie wiadomo nigdy o co chodzi, na szybko...
Po pierwsze - jeśli chcesz się przekonać czy kod działa to go uruchom i to sprawdź. Po drugie - nie wiem po co tak bardzo grzebiesz w rejestrach timera, wpisujesz jakieś własne wartości do TCNT0 i TCCR0 w przerwaniu, jaki to ma cel? Uruchom przerwanie i zapomnij o nim: [syntax=c]#define KEY_UP(PINB & (1<<3))//PB3 - przycisk UP - do masy. ......
Prawie całe ;-) Jesteśmy zgodni co do tego, że da się obojętnie jaki. Ale co przemawia za PNP, a nie zostało jeszcze wspomniane to to, że w układzie z NPN potrzebny jest rezystor kolektorowy, chyba,że możemy odseparować masę nadajnika i MCU. To dodatkowy element i dodatkowe straty. Oczywiście nie jakieś kosmiczne, ale trzeba je uwzględnić gdy robimy...
Najprościej to bazować na timeout - dopóki coś jest nadawane to odbierasz. W chwili, gdy następuje przerwa w nadawaniu, np. dłuższa niż czas trwania jednego znaku, uznajesz, że nadawanie się zakończyło. Oczywiście to potem można nadbudować kolejnymi warstwami logiki - strukturą pakietu, długością pola danych. Nie bazowałbym na żadnych specjalnych bajtach...
Moim zdaniem jest prostsza metoda. Tworzy się dwa indeksy i tablice buforującą. Oprogramowanie zapisuje znaki to bufora i zwiększa pierwszy indeks (umownie indeks programowy). Po takim zapisie przed wyjściem zezwala na przerwanie. Przerwanie z kolei jak wykryje, że bufor programowy jest różny od drugiego buforu (umownie bufor sprzętowy) to z aktualnie...
Może być fizyczna wina układu (np przerwa w obwodzie, sterownik), a może programowa-w sterowniku silnika ustala się, czy są grzałki nurnikowe czy nie. Sprawdź zatem konfigurację sterownika
Dostałem czarny kartridż HP 45, który źle drukuje, po przestoju wcale, a po czyszczeniu programowym drukuje z przerwami pół strony w trybie "best". Wrażenie jakby nie dopływał atrament do dysz. Może coś z ciśnieniem w środku? Jakieś sposoby naprawy? Wpadł w moje ręce bo w innej drukarce prawdopodobnie też nie funkcjonował. Mam Photosmart 1000.
Udostępnianie opinii na temat instalacji obiektowych i okablowaniu Chciałbym przekazać ważną moim zdaniem informację, szczególnie dla młodych i początkujących instalatorów. Mianowicie poza samym systemem alarmowym t.j. centralą czujkami oraz sygnalizatorami bardzo ważną rolę odgrywają przewody, którymi to wszystko jest połączone. Kiedyś postanowiłem...
Migają po 3 razy i przerwa, te które pisałem wyżej...
...Jakie jest zatem rozwiązanie tego problemu (jeśli jest)? Bascomowy UART programowy działa jedynie wtedy , kiedy wywołamy funkcję z nim współpracującą. W pozostałych przypadkach ( kiedy działają funkcje/procedury nie związane z programowym UART-em ) , nadchodzące dane są "niewidoczne" dla procka :( Np. jeśli masz w kodzie Wait 1 , a w czasie działania...
Proponuję zmniejszyć przerwę między zmianami kierunków, może nawet do zera. Originał szybciej "odbija się" od krawędzi :)
... i zamiast sprzętowego zrób programowy.
(at)exlibris71 Musi być to zrealizowane na jednym timerze. I tak jak u ciebie tak i u mnie wygląda program główny, w którym inicjuję wartości początkowe wyświetlanych cyfr, włączam przerwania i dalej mam pustą pętlę z warunkiem, że jeżeli zmieni mi się bit odpowiadający za częstotliwość odświeżania cyfr, to inkrementuje mi sekundnik i później wywołuje...
Wykonaj kilkukrotne czyszczenie głowic programowo powinno pomóc. Uwaga zużywa sporo tuszu.
Potrzebuje taki sygnał do płytki z arduino, bo nie wiem jak to programowo zrobić o ile w ogóle się da. Sprzętowo, czy programowo, robi sie to tak samo, gdy zaniknie napiecie trzeba poczekać dłużej niż czas przerwy w miganiu i ponownie sprawdzic, sprzętowo uzywa sie przerzutnika monostabilnego, programowo odmierza czas timerem. W realizacji programowej...
Na tego typu problemy jest jeden prosty sposób, wielokrotnie dyskutowany na forum: automat w przerwaniu UART. Jeśli ma być wykrywana "przerwa w transmisji" najpierw trzeba zdefiniować, co to jest ta "przerwa". Jeśli "przerwa" - to brak nowych danych przez czas np. potrzebny na transmisję jednego bajtu - UART potrafi takie coś wykryć w sprzęcie. Jeśli...
1. port może być wyłączony programowo. 2. Rezystorki zabezpieczające na porcie mogą mieć przerwę.
Witam. Apropo 3. żeby TSOP działał poprawnie, sygnał nadawany w podczerwieni musi mieć przerwy, np. 10 impulsów, przerwa o długości 10 impulsów (10 to minimum). jak to zrobić programowo? po przez timer ctc sie nie da przerwan zrobic. Tylko w czsie przerwy nie moze sie zaswieca dioda
Cytuję "bo chyba się wgrało" - jaką masz pewność? Z tego co pamiętam wgrywa się to na uruchomionym silniku "od A do Z". Przerwa w zasilaniu i cegła z radia. Wersja jest bardzo ważna bo jak nie prawidłowa to radio leży i kwiczy. Znaczenie ma też użycie dobrej jakości płyt żeby laser dał radę odczytać bez błędów. Trzeba sprawdzić stan dysku jak jest w...
Witam, tego, przedstawionego na fotce, zasilacza już nie opłaca się naprawiać z powodu przegrzanego laminatu obwodu drukowanego. Nadaje się tylko na cześci, dlatego prosiłem o fotkę. Mechanizm tego (dość typowego w tym i podobnym modelu) uszkodzenia jest następujący; pracujący bez przerwy (wyłączenie programowe zasilacza, nie wyłącza zasilacza pomocniczego...
Nadajnik możesz to zrobić w oparciu o timer, na którym ustawisz sobie określony zegar - np. te po rz ądane 250 kHz. Być może musisz ustawić 500kHz - aby wyłapywać nie tylko czas cyklu, ale i jego zbocze narastające i opadające. Potem budujesz sobie kolejkę danych (bufor fifo) - która stanowi podstawę dla timera - do "machania określonym pinem". Wysłanie...
Wygląda na to, że procedura obsługi przerwania TIMER0_COMPA_vect się nie wyrabia (ma do dyspozycji 80 taktów). Innymi słowy czas pomiędzy przerwaniami jest krótszy od czasu wykonania kodu procedury obsługi przerwania. Wpisanie na początku procedury instrukcji TCNT0=0; powoduje po prostu wydłużenie czasu zliczania timera 0 o czas trwania prologu procedury...
Witam! ATCH - Blok funkcyjny łączący określony numer zdarzenia "EVENT" z wybranym numerem przerwania "INT". Operacja zostanie wykonana, gdy do wejścia "EN" podany zostanie sygnał. W momencie, w którym warunki określone numerem zdarzenia są spełnione zostanie automatycznie rozpoczęty proces wykonania fragmentu programu, któremu zosta! przydzielony numer...
Witam. im dłuzej przegladam rozne fora, tym bardziej skłaniam się przy zrobieniu roku przerwy po maturze. chcialbym sie dowiedziec jakie beda roznice programowe w maturach z rozszerzonej fizyki i matematyki wedlug nowwej podstawy programowej. wie ktoś coś, czym to sie bedzie roznic? latwiejsze, trudniejsze? inne dzialy?[/u]
Podczas zmywania naczyń, następuje przerwa w działaniu i wyciek wody. Dioda programowa pulsuje. Dioda końca programu pulsuje dwa razy.
Do OpenWRT można wgrać dodatkowe pakiety i mieć co się potrzebuje w danej sytuacji, a do RouterOS nie, musi wystarczyć do diagnostyki to co jest. Ponadto w Mikrotiku nie zawsze mają zastosowanie typowe komendy Linuxa, więc trzeba się trochę douczyć albo po prostu wszystko sobie wyklikać w intuicyjnym GUI. Na ich stronie jest demo tego systemu, można...
Program będzie pisany na STM32F303 tak więc mocy obliczeniowej starczy. Pod warunkiem, że oprogramowanie będzie napisane w sposób nie blokujący - bez żadnych martwych pętli oczekiwania, delayów programowych, itp... Jeżeli Twoj program będzie inicjatorem działań, to można go ładnie ułożyć tak, żeby wszystko wykonywało się w miarę po kolei (lub przeplatalo)....
Ja robiłem dokładnie to samo :) Programowy UART sprawdza się, ale jak program nie jest za bardzo pocięty przerwaniami timerów itp. Poza tym trzeba "czekać" na dane, chociaż w bascomie nie robi to większej różnicy.
Wykonywanie tak długich zadań jak choćby operacje na LCD w przerwaniach aż się prosi o kłopoty. Zrób sobie w przerwaniach kilka timerów programowych i ich zawartość badaj w pętli głównej Do...Loop i to od tych timerów uzależniaj kolejność wykonywania odpowiednich sekwencji (fragmentów) programu.
Trochę to trwało, popełniałem wiele podstawowych błędów ale i sporo się nauczyłem. Ale jak mawiał Owidiusz "Finis coronat opus". Okazało se, że zdecydowanie więcej problemów było, mechanicznych niż programowych. W programie w liczniku, po wielu próbach właściwym okazało się rozwiązanie: https://filmy.elektroda.pl/21_1435433513...
Program masz całkowicie źle napisany. Zacznij od sterowania serwami, ale tak, żeby nie używać delay. Czyli całe sterowanie musisz zrobić w przerwaniach. Najlepiej tak, że w procedurze obsługi przerwania inkrementujesz jakąś zmienną i porównujesz ją ze zmiennymi określającymi szerokość impulsu dla konkretnego serwa (skoro masz 10 to będziesz miał tablicę...
programowo zrobić z tego przebieg prostokątny???? Nie. Chodzi raczej o programową filtrację pulsowania, czyli funkcję, która będzie ignorować okresowo pojawiające się braki sygnału. Sprzętowo natomiast, możesz "ogarnąć" to np. tak: https://obrazki.elektroda.pl/3507537900_... Kondensator dobierasz z lekkim zapasem, mniej więcej na półtorej...
Czy ktoś spotkał się z takim oto zjawiskiem. Po każdej transmisji faks drukuje PROTOKOL MONITOR. Zawarte są w nim takie dane: Time, Other faks, Your faks, FIF, of, DIS, DCS, DTC. Programowo nie można tego wyłączyć. Nawet jeśli przerwie się wydruk " stopem" to i tak swoje zrobi. Lucjan
Witam, piszę całkiem spory (w moim mniemaniu) program do sterowania silnikiem i paroma jeszcze innymi rzeczami (aktualnie na ATmega32L i 8MHz wewnętrznego oscylatora) i mam niezrozumiały dla mnie problem z obsługą przerwania od timera, kod obsługi przerwania wygląda mniej więcej tak: ... .org 0x0012 rjmp t1Ovf ... t1Ovf: push r16 push r17 in R16,...
Jeśli chodzi o chwilowe zwarcie, czyli, ze włącza się jedna para zanim druga zdąży się wyłączyc, to wyeliminowałem to programowo, stosując 10 ms przerwy. Problem który opisałem, pojawia się głównie przy załączaniu lub wyłączaniu silnika. Dzieje się coś dziwnego z układem, przyjżałem się dokładnie wystkim przebiegom na oscyloskopie i nie widze zadnych...
No nie ja pisalem, ze C sam sobie z tym radzi. Programista musi sobie z tym radzic, niewazne w czym pisze. Fakt, ze nieczesto zachodzi potencjalnie niebezpieczna sytuacja przeklamania danych przez przerwanie nie jest zadnym przeslaniem do tego by ja ignorowac. Przerwan wcale nie trzeba wylaczac i wylaczac (moim zdaniem nawet nie powinno sie tego robic)...
8MHz / 1024 (preskaler) / 256 (timer zlicza od 0 do 255 i dopiero się przepełnia) / 100 (ilość przepełnień odliczana programowo (2*50)) = 0.3Hz z kawałkiem. Zmień preskaler timera na 4, o ile taki jest dostępny, nie sprawdzałem, a jak nie jest, to programowy licznik zmodyfikuj.
Co by było gdybym miał wysłać np. 19 bitów. Przecież nie mamy informacji który aktualnie bit jest wysuwany w danej chwili, by zastopować transmisje zmieniając, stan lini SS (CS). Jest to wogóle wykonalne ? AVR to 8-bitowiec, więc sprzętowy SPI będzie działał zawsze na 8bitach. Można to zrobić ale programowo...tylko oczywiście będzie wolniej. SPI w...
Przecież tu wystarczy sobie dorobić "dekoder" taki jak były w starych odbiornikach modelarskich i można mieć 10 kanałów do sterowania serwami z jednego PWM-a CD4017 i po robocie a w każdym przerwaniu od PWM ładujemy kolejno następne serwo i takim sposobem załatwimy jeszcze przerwę między impulsami ;) Tomasz pewnie powie że na logice XMEGI8E5 taki dekoder...
Może ktos pomoze - czesto załapuje zwiechę i musze restartnąc usługę - zaczeło się tak dziać jak przepiołem DS2405 w inne miejsce (notabene ten który chodził od roku bez przerwy) i w sumie nie wiem jak wykryć tą zwiechę programowo ps aux pokazuje normany tryb pracy więc nie ma jak tego wyłapac z basha zastanawałem sie nad odczytem i porównaniem temperatury...
Witam. Od 3 dni siedzę już nad programowym PWM. Wykorzystuję do tego przerwanie na timerze, ale coś nie działa tak jak powinno otóż jak nie mam ustawionego stanu 1 na ostatnim bicie portu to PWM dziwnie się zachowuje. //Includes #include "avr/io.h" #include "inttypes.h" #include "stdio.h" #include "util/delay.h"...
Przez UART nie możesz przesyłać danych bez żadnych przerw - musisz co jakiś czas odczekać. W TWoim przypadku sensownie byłoby czekać do zmiany położenia enkodera i transmitować nową daną po wykryciu zmiany. Przy zmianach położenia możesz mieć wahnięcia podobnie jak przy drganiu styków przycisków - wypadałoby to programowo odkłócić. Poza tym zwróć uwagę...
Co do pierwszego postu: To jest wynik pisania czegoś takiego jak "TIMSK = 0x80;" W ten sposób załącza się przerwanie OCIE2:"Timer/Counter2 Output Compare Match Interrupt Enable" a nie TOIE2:"Timer/Counter2 Overflow Interrupt Enable", który jest bit niżej. W symulatorze dokładnie widać, że jest wykonywany nie ten wektor przerwania. http://obrazki.elektroda.net/94_12161272...
Nie rozumiem, co Ci to komplikuje - dorzucasz do obsługi przerwania jedną zmienną (o ile już takiej nie masz), jeden if i nawiasy klamrowe, w które zamykasz dotychczasowy kod (kasowanie zgłoszenia przerwania ma zostać przed if).
Kupiłem używane urządzenie wielofunkcyjne Brother MFC-3220 z pełnymi tuszami, ale po uruchomieniu wyświetla się błąd 41 i nie widać wydruków. Wkłady z tuszami po wyjęciu są wilgotne od spodu (czyli tusz nie wysechł) ale czyszczenie programowe głowicy nic nie pomaga. Prawdopodobnie jest to związane z długą przerwą w drukowaniu i zaschnięciu głowicy....
No i nie udało mi się tego zrobić na Timer0- on sie kręci bez przerwy a ja potrzebuję włączyć i wyłączyć timer. Tak że na razie na Timer1- szkoda bo 16 bitów- ale zrobię na Timer2. Spokojnie użyj Timer0, który będzie zgłaszał przerwanie np. co 1ms. W procedurze obsługi tego timera dekrementuj zmienną, jeśli osiągnie 0 to należy zatrzymać dekrementowanie,...
Jeżeli masz czasochłonne przerwania mogą one znacznie zakłócić transmisje nawet przy 300baud. Jeżeli możesz na ten czas wyłączyć przerwania, zrób to - możesz wtedy próbować podnieść prędkość transmisji nawet do 115kbaud. Taki zabieg bez użycia assemblera może się nie udać.
Jeśli coś podtrzymuje Start E, a użycie pilota lub wejścia 61 powoduje ruch - to wygląda na to że sterownik odwrócił logikę działania z NO na NC. Może padł rezystor podciągający na wejściu 61 ale tylko dywaguję bo nie znam dokładnie układów wejściowych tego sterownika. Wylut radia nic nie da, bo płytka to tylko odbiornik W.Cz, a dekoder jest programowo...
W windowsie też są mutexy - i zarówno winda jak i linux to są jakieś systemu operacyjne dzięki którym masz w ogóle mechanizm zwany mutexem (oraz wiele innych) - mechanizm programowy. Przerwania to całkiem co innego a przecież też występują w komputerach i w systemach operacyjnych
Przykład diody1000 dotyczy przerwań programowych Basica i raczej działa jak podprogram bo każde naciśnięcie przycisku w pętli głównej blokuje przerwanie i przez to wszystko chodzi cztery razy wolniej. Ja chce wykorzystać przerwanie sprzętowe ,a bit PEIE ustawiam bo tak pisze w dokumentacji ale czy go ustawie czy wyzeruje to jest tak samo.Sprawdziłem...
Witam wszystkich forumowiczów po długiej przerwie, spowodowanej działaniem osób inteligentnych inaczej. Zacznijmy od początku. Wszelkiego rodzaju urządzenia grzejne są typowymi odbiornikami inercyjnymi. W tym przypadku możemy stosować regulację grupową,przyjmując okres regulacji np. 3sekundy. Zamieniamy analogowy sygnał czujki temperatury na cyfrę i...
Traktuj cyknięcie Timer'a jako kwant czasu. Potem licz oddzielnymi licznikami (programowymi) te kwanty jako czas trwania i czas przerwy. Możesz w ten sposób zrobić, co dusza zapragnie. Przykładowo - gdy timer "cyka" co 1 sek. Możesz ustawić sobie, że masz 20 sekund (kwantów timera) czas trwania - potem (drugi licznik) 30 sekund (kwantów timera) czas...
Watchdog nie jest programowy tylko sprzętowy Możesz mi powiedzieć co tu miałeś na myśli? Watchdog nie jest programowy? pierwsze słyszę. programowo: 1. ustawiam watchdoga na jak najkrótszy czas 2. wyłączam przerwania (na wszelki wypadek) 3. pętla nieskończona. i masz programowy PEŁNY reset i skok do adresu ustawionego za pomocą fusebitów. (to jest najpełniejszy...
Czyli void(* resetFunc) (void) = 0; wstawiam przed funkcją setup(), a resetFunc(); mogę wywołać np z przerwania? Tak, wywołać na końcu obsługi przerwania. Wykonywanie głównej pętli programu" i jego resetowanie chyba nie jest podstawowym zadaniem urządzenie które budujesz? Spróbuj przedstawić algorytm który ułożyłeś, może komuś uda się rozwiązać problemy...
Tak poza tym coś mi tu nie gra. - ATmega8A może być taktowana do 16 MHz a nie 14 MHz - nawet przy 14 MHz częstotliwość w FastPWM wyjdzie ~54 kHz. Zmniejsz rozdzielczość, tworząc na przerwaniach programowy PWM. W przerwaniu przepełnienia Timer-a możesz ładować odpowiednią wartość, zmniejszając tym efektywnie jego rozdzielczość. Pamiętaj przy tym, że...
Jednoczesny odczyt wszystkich 4 linii od tego bym zaczął, potem sprawdzanie pojedyńczo tych bitów i zwiększanie zmiennych czas1,czas2,czas3,czas4, jednocześnie zerujemy odpowiedni bit zmiennej 'gotowe 'xxxx1111' jeśli zakończy się '1' na linii. Na końcu cyklu sprawdzamy czy zmienna 'gotowe' jest zerem jeśli tak (były już 4 impulsy), to wychodzimy z...
Ależ szanowni koledzy, programując procesory pozbywajmy się zakłóceń (drgań styków) metodami programowymi (stosując filtrację cyfrową). A więc: Proponuję zastosować timer do generowania przerwań co około 2.5ms. W przerwaniu testujemy wejścia portów nie zawracając sobie głowy jakimiś 'drganiami styków'. Sprawdzone, pewne, proste. Czas 2.5ms dobrany jest...
Witam, widzę ze shg ładnie i poprawnie odrobił zadanie domowe, brawo ten gość, wygrał tę rundę. Chciałbym tylko dodać że skok z programu do adresu $0 nie zawsze oznacza wejście w podprogram RESET: bo może tam być inna procedura. Oprócz programowego istnieje jeszcze reset sprzętowy, np. przez podłączony przez ograniczający prąd rozładowania kondensatora...
skoro stosujesz rs485 ,to po co Ci programowe UART'y ? skoro na szynie rs485 może pracować wiele urządzeń ,w zależności od typu full /hall duplex ,to już kwestja programowa rozróżniania urządzeń po adresacji Poza problemami natury elektrycznej, może być jeszcze problem "spotkania protokołów", czy jak kto woli synchronizacji. W przypadku danych napływajacych...
Elementem wywołującym pracę układu jest Switch S1 który zwierając port PB1 do masy wywołuję zewnętrzne przerwanie INT0 Uzywanie przerwania do styków butonnów, klawiszy i innych podobnych diabelstw jest najgorszym pomysłem. Temat był na tym forum poruszany setki razy - proponuje włożyć trochę wysiłku i użyć wyszukiwarki.
jezeli masz ustawiony port jako wyjscie to przerwanie wywoa sie zgodznie z ustawienami tego portu. Jest to jedna z medod generowania przerwan programowych. Samo wyaczenie przerwan nie powoduje ze zostana one "zapomniane"
Ruszy bez problemu tylko napisz to porządnie. Kamyczkowi nawet się nie chciało zajrzeć do tego kodu a wydaje jakieś nonsensowne opinie tylko dlatego że mu nie wychodziło. Zobacz, nie możesz skoczyć do gadającego Sub`a na taką wieczność jaką jest gadanie i podwójne czekanie na zakończenie gadania. [syntax=vbnet]Sub Powiedz_czas: '**********************...
Byc moze za duzo razy wyzwala Ci sie procedura detekcji zera. Kiedy zbocze narasta/opada powoli to tak moze byc. Kiedys pisalem program do podobnego zastosowania. Zero bylo wykrywane prostym sposobem przy pomocy komparatora wewnatrz Atmegi88. Po kilku godzinach prob i zastawianiu pulapek programowych okazalo sie ze przerwanie od komparatora bylo generowane...
Możesz zrobić programowy PWM. Jest to raczej proste do napisania. Mógłbyś sprecyzować ?? bo samo PWM programowe owszem, ale pomiar z tylu czujników to ponad 1s, a tak długa przerwa w PWM raczej nie bedzie dobra. Chyba ze 2 procesor, ale sam nie wiem, troche skompliowane byłoby uniezaleznienie od siebie wszystkich wentylatorków. :| pomyśle, jednak czekam...
Te pomiary to najczęściej jakieś podstawowe - dotyczące pary przewodów obsługującej danego abonenta. Izolacja żył, a, b, pętla, przerwa. Wynik na ekranie jako meldunek na monitorze. Dzisiaj można spodziewać się relizacji SMS-em - są "komórki" - wszystko staje się coraz efektywniejsze. Jeżeli elektronicy amatorzy potrafią z tel. komórkowego zrobić autoalarm...
Odpalił po 10h przerwie - czyli wymiana zasilacza pomogła. Thanks for all. Ale pojawiło się nowe zjawisko: wyłączam komputer (programowo) > wyłączam listwę zasilającą też kupę urządzeń. Włączam listwę > komputer startuje... A tego nie chcę: włączając listwę nie zawsze chcę i włączyć komputer.
Co do: 1. Czyli procek bedzie wysylal dane dopuki nie otrzyma bitu potwierdzenia? Czytrzeba do tego pisać program czy to bedzie automatyczne w procku z I2C (chodzi o to czy program przerwie dzialanie az wyśle te dane czy trzeba to robić programowo -czyli jak nie odbierze bitu powtierdzenia to wraca i wysyla na nowo)? 2. Czyli jest polecenie które zajmuje...
Ja z moim fonem siedzialem od 10 do 20.45 z mala przerwa na obiadek:) Soft jest po rusku, ale ja wrzucilem caly soft v25 swupem i potem zmienilem tylko jezyk w ustawieniach. jak wgrasz swupem v25 to masz zaraz troche patchy, mam je wszystkie wgrane i chodzi pieknie:) tylko pamietaj o jednym - tego na powiekszenie dysku wgraj jako pierwszy, a jak wlaczysz...
witam problem rozwiazany :D udalo mi sie to zrobic na jednym RS-e i bez buforowania ,wykrywam tylko przerwy w tarnsmisji i wtedy wklejam moj tekst Dzieki za zainteresowanie Pozdrawiam Irek
Do tej pory omówiliśmy znaczenie ostrożnej obsługi przerwań, metody solidnej strukturyzacji ISR oraz uwagi wymagane do zmiennych globalnych i lokalnych ( Uważaj na przepełnienia bufora danych Generalnie używamy programowych buforów do interfejsów komunikacyjnych. Na przykład, mikrokontroler może zapewnić podrzędny interfejs komunikacji szeregowej I²C...
t en thomson ciągle po paru dniach traci pamięć . w ymieniłem nową pamięć 24 CO16 z wpisem nowego wsadu i po 3 dniach w szedłem pilotem w tryb serwisowy, pilotem zaprogramowałem standard fonii , telegazete oraz wymiary obrazu w pionie oraz później pare pozycji programowych i po 2 dniach przerwy[,] jak zalaczylem telewizor[,] w pamieci nic juz nie bylo...
Patrząc w Twój profil nie powinienem o to pytać, ale czasami warto: Czy na pewno diody na PORTB podłączyłeś we właściwym kierunku?
No więc ja dawno kilka takich centralek zakładałem i wydawało mi sie że wszystkie miały linie jednakowo bo jedna inaczej to sie jeszcze nie spotkałem/ oczywiście jak nie idzie ich zmienić programowo/ ale ta moja działa bez problemu z tym ustawieniem i to jest najdziwniejsze.Zwarcia przerwy i działa,alarm zazbrajany codziennie i nic za to właśnie zadałem...
Proponuję Autorowi tematu wrócić do działu, w którym zazwyczaj pisze, czyli do Arduino, ponieważ: - profesjonalne systemy alarmowe nie są kompatybilne z Arduino, - profesjonalne czujki alarmowe nie są kompatybilne z Arduino, - w sekcji Arduino łatwiej uzyskać pomoc w kwestiach programowych dla Arduino. Porty mikrokontrolerów AVR można skonfigurować,...
Albo można użyć RTOSa i - przykładowo - timerów programowych (;
Witam. Jeśli laptop nie jest zasilany z UPS to w przypadku pracy bez baterii niestety wyniki pracy mogą być utracone przy przerwach w zasilaniu. Jeśli masz włożoną baterię, to będzie pracowała (przebywała) w podwyższonej temperaturze i może to mieś wpływ na jej trwałość. Jeśli będziesz ją odłączał programowo lub sprzętowo nie wyjmując z laptopa to nadal...
Znalazłem czas wniknąć w szczegóły...J Jaka ma być rozdzielczość/częstotliwość tego programowego timera? Bo z wartością 108 jest jakaś taka mało okrągła. Rozdzielczość 20ms nie wystarczy? Bo jeżeli musisz go tak skonfigurować do timerów programowych, to czwartego kanału serwa nie da się na nim zrobić. UART nie ma nic do rzeczy, ma swój generator częstotliwości....
odczytywać stan przycisku w timerze (programowym, sprzętowym, jakimkolwiek) co (przykładowo) - 20-50ms i zapisywać to do zmiennej. Zmienna ta to "odfiltrowany" stan przycisku. Ewentualnie - jeśli masz już RTOSa albo kolejkę zdarzeń - z funkcji wywoływanej co te 20-50ms można od razu kolejkować jakieś zdarzenia.
Moze i lepiej, ale marnujesz 2 timery Może i masz rację ale nie można być aż tak skąpym :D Praktycznie każde sterowanie S7-300 posiada 2048 timerów , a więc nie obawiaj się, że zabraknie timerów. W 99 % używam taktmerkera ustawionego w Hardware ale są czasami sytuacje, że potrzeba impulsów o określonym czasie trwania oraz przerwie między nimi. Dodam,że...
No a jaką chcesz mieć prędkość transmisji i jaką częstotliwość taktowania procesora? Policz sobie ile trwa 1 bit w transmisji i zobacz jak się ma do takich 4 (chyba, trzeba by sprawdzić) taktów zegara, bo tyle zajmuje wejście do przerwania. Myślę, że Bascom dużo do tego nie dodaje. Proca pewnie puszczasz na 4MHz albo 8MHz, więc możesz spokojnie puścić...
Myślę, że rozumie, ale chodzi mu o coś innego. Każde urządzenie należy produkować z myślą o jego awarii i konsekwencjach jakie z niej wynikną. Awaria urządzenia do podlewania kwiatków może doprowadzić do a) utopienia kwiatków b) ususzenia kwiatków Awaria rozrusznika serca może doprowadzić do a) śmierci pacjenta b) poważnych problemów zdrowotnych Awaria...
Warto dorzucić kilka drobiazgów zabezpieczających pralkę w razie błędu elektroniki. Pod czujnik otwarcia drzwiczek podpiąć przekaźnik odcinający obwód elektrozaworów oraz silnika. Zamontować w obwodzie grzałki termostat bimetaliczny na ok 120-150 stopni w pobliżu grzałki. Pod elektromagnes blokady drzwiczek dorobić niezależny obwód sterowany przez presostat...
To nie są przerwania na PB1, 2, 3, a sprzętowe wyjścia timerów. NA ATmega8 masz trzy wyjścia PWM - dwa z T1 i jedno z T2. Nie wiem, ilu w końcu potrzebujesz. Jednego powinieneś użyć do generowania 36 kHz, kolejnego (a może dwóch) do sterowania silnikiem. Czemu mają służyć te zabawy z przerwaniem timera i programowym machaniem nogą uC?
Nie potrzeba kombinować, bo w standardzie RS mamy takie sprzętowe i programowe możliwości handshakingu. Nie bardzo zrozumiałem powyższy kod (sleep). Do czego potrzebne są te przerwy, skoro w tym czasie nie odbierasz danych o których piszesz, że mają przyjść z programatora? Jeśli to ma być synchronizacja pozwalająca na "wypisanie się" programatora, to...
Timery i dokładne odmierzanie czasu w różnych miejscach kodu. Zamiast korzystać z kilku timerów, można w różnych blokach kodu konfigurować 1 timer i wstrzykiwać odpowiednią funkcję przerwania. Oczywiście pod warunkiem, że nie będziemy musieli odmierzać czasu dla dwóch bloków jednocześnie. Wygląda na to, że potrzebujesz po prostu callbacka w jednym...
No w końcu ktoś początkujący kto zajrzał do noty PDF i chyba prawidłowo zrobił zasilanie i odkłócanie sprzętowe (rezystor 100R plus kondek). Tylko jedno pytanie dla sprostowania - mam nadzieję, że ten kondensator 4,7uF dałeś nie do VCC przed rezystorem 100R a za nim - czyli bezpośrednio do nóżki zasilania odbiornika TSOP ????? - jeśli odwrotnie to popraw...
Produkt zasilaczopodobny - jest na podejrzewam zasilacz, poniżej screen z everesta - napiszcie czy ten zasilacz ma dobre napięcia czy trzeba go już wymienić? Nie sugeruj się wskazaniami programowymi - bywają często mylne, a może inaczej - rzadko spotykałem się żeby pokazywały poprawne napięcia. Napięcia sprawdzamy na mierniku (chociażby takim za 15zł)....
Ciekawe linki kolega zapodał jednak jak wytłumaczyć stan faktyczny. Moja dokumentacja jeszcze papierowa pochodzi z lat, 80 kiedy to kupiłem pierwszego APC i jest tam wpis o przeprowadzaniu regularnej kalibracji a sam ups miał to ustawione programowo na raz w miesiącu. Kart oczywiście nie przekładam są w ups-a i już. Baterie, które padły mi po 2 latach...
trebuch1 Średnio to wytłumaczyłeś :] adrian_krc Skonfiguruj jeden z liczników tak, aby generował przerwanie ze stałym okresem, np. co 1ms. Jak będzie 0,5ms albo 3ms to też będzie działać. Licznik może pracować w trybie 0 lub 1 (wtedy będziesz musiał go przeładować/ORować w obsłudze przerwania. Może też pracować w trybie 2, ale to może być za szybko...
http://obrazki.elektroda.pl/8642978200_1... Wstęp Cała historia zaczęła się od zakupienia okazyjnie używanego sprzętu grającego, niestety w zestawie nie było pilota. Chciałem go dokupić, ale niestety jest nie do dostania. Korzystając z Format danych Najpopularniejszym formatem zapisu kodów IR jest Pronto Hex i takie właśnie kody obsługuje...
Zdaje się, że PWM-y generują przerwania a te pochodzą jak stwierdziłeś od zegarów. To w czym problem? Wyzwalaj pomiary A/D od przerwań PWM. Jak będzie za gęsto to dodaj prosty licznik w zmiennej z porównaniem i uruchamiaj przetwornik co n-te przerwanie od TOVn. Biorąc sygnał z wyjścia PWM i dzieląc go przez 2 uzyskasz przebieg o stałym współczynniku...
Witam Nie znam C ale ciągle na forum robicie błąd pisząc że serwo steruje się sygnałem PWM, sterowanie powinno się odbywać sygnałem o szerokości około 1-2ms i stałym okresie powtarzania 20ms. Pierwsze doświadczenie, zmieniamy przy PWM okres powtarzania na 15ms, PWM się nam nie zmienia a szerokość impulsu sterowania serwa bardzo. Przydałoby się sterować...
Robiłem kiedyś sterownik choinkowy pięciokanałowy. Sprawę rozwiązałem następująco: - przerwania od przepełnienia Timer0 generują skoki do podprogramu (u mnie był kwarc 4MHz, dobierz preskaler) [syntax=basic4gl]Config Timer0 = Timer , Prescale = 1 Enable Timer0 On Timer0 Software_pwm Enable Interrupts Dim Reference As Byte Dim A As Byte Dim B As Byte...
A ja znowu nie wyobrazam sobie tego abym muial angazowac program głowny który przewaznie słuzy w innym celu jak tylko pomiar temp. W przerwaniu to wychodzi elegancko a ilosc czujników jak moze byc obsłuzona jest dowolna. W programie głownym umieszczam tylko procedure odczytu uzyskanych wartosci z przerwan i ewentualne sprawdzenie CRC co zajmuje ułamiki...
rozdzielczość programowy atmega programowy programowy timer
wtyczka angielska lucas nissan kabel mercedesa
junkers usterki junkers usterki
Zaniki zasilania a reset OBK miniswitchy - problem z kondensatorem Kod błędu P2228 - Czujnik ciśnienia barometrycznego