WItam serdecznie poszuuje schematu do tego radia i odrazu pomocy gdyz: podlaczylem radio nie dzialalo , taki gostek cos poszperal i jak je odbieralem to dzialalo gdy podlaczylem go w samochodze to dupa nie dziala, wiec go rozkrecilem popatrzylem ( patrze) a tu sciezka przerwana wiec mysle to nie problem, naprawilem i podlaczam zadowolony radio po wlaczeniu...
W sumie dla pewności wystarczy wydzielić operację tx_buf_head++; z indeksu tx_buffer. Ja tak robię ;] w obu wypunktowanych przeze mnie fragmentach może nastąpić ten sam "efekt uboczny" - jeśli przerwanie nastąpi pomiędzy jedną i drugą operacją Zgodzę się w przypadku indeksów, ale nie zgodzę się w przypadku SFRa. Wyjaśniam: 1) load adresu SFRa do rejestru...
Pokazany schemat rozpoznania źródła przerwania jest błędny : sprawdzasz flagę RBIF (zmiana stanu na RB4...RB7), Ciebie natomiast interesuje INTF - zbocze na RB0/INT. Sprawdzanie T0IF pomiń, sa tylko 2 żródła przerwania, wiec jeśli nie zewnętrzne (INTF), to na pewno od przepełnienia TMR0. No i nie włączaj RBIE.
Zmienną 'flaga' ustalasz w przerwaniu wiec powinna być volatile. p.s. Samych rejestrów nie sprawdzalem.
Witam. Dzieki uzytkownikom tego forum zdążyłem, w moim odczuciu, zrobić postępy w zrozumieniu przerwań. Wiem już o tym dlaczego nie stosować funkcji delay w przerwaniu ze względu na niedokładność odliczanego przez nią czasu i ryzyko gubienia przerwań i zamiast tego używać timera do opóźnień. Próbuję jeszcze zapanować nad jedną rzeczą ale mi się nie...
Wkleję cały program: = 0x33" naprawiło problem, więc gdzieś tu tkwi szkopuł. Bo jeśli dobrze rozumuję , to: bajt XX10 XX11 & ~0x33 1100 1100 ( czyli ~(0011 0011)) bajt XX00 XX00 PD7 jest niepodłączone. PD6 to wyjście na tranzystor (przez rezystor). Nie mam schematu, ale układ elektrycznie działa ok. PD2 i PD3 to switch'e zwierające do masy. Drugi...
Heja, mam problem z obsluga przerwan na atmege. Przejrzalem wszystkie porady wpisywalem mnostwo roznych przykladow i nic. Ponizej kod ktory jest jak w kazdym przykladzie ale u mnie nie dziala #include <avr\io.h> #include <avr\delay.h> #include <avr\interrupt.h> SIGNAL (SIG_INTERRUPT0) { pik(); } GICR |=0x40;...
Co dokladnie oznacza u Ciebie wywolanie funkcji z przerwania? Czy jest to: a) pierwsze wywolanie uzytkowej funkcji w C z poziomu asemblerowego "handlera" (tzn. tego, który bezposrednio reaguje na przerwanie), umieszczanego zwykle w startup.S a) kolejne wywolanie funkcji z tej pierwszej uzytkowej wyzej wymienionej ? Powodow mozesz miec mnostwo: 1. Jednak...
Tak wiec plik glowny wyglada to nastepujaco #include <at89c5131.h> #include "zmienne.h" #include "funkcje_lib.h" extern GET_KEY(); BYTE Tablica[10]; //Tablica[0] sekundy //Tablica[1] minuty //Tablica[2] godziny //Tablica[3] dni void RTC_INIT() { RCAP2H =(0-10000)>>8; // licznik zlicza impulsy RCAP2L = (0-10000); // opoznienie 10ms - sprawdzone...
SIGNAL(SIG_INTERRUPT0) { IR_int_disable; //to jest niepotrzebne, automatycznie blokowane sa globalnie przerwania sei(); // to tez jest niepotrzebne ... Z tego co wiem, WINAVR w funkcjach obslugi przerwan SIGNAL() automatycznie blokuje wszystkie przerwania ( CLI() ) przy wejsciu do tej funkcji wiec nie trzeba tego robic recznie...
Widzę że się znasz na rzeczy wiec zadam Ci kilka pytań jeśli pozwolisz. 1. Czyli jeśli chcę żeby przerwanie od TB miało najwyższy priorytet to muszę odblokować w pozostałych przerwaniach GIE ponieważ chodziarz to przerwanie w Tabeli jest na wyzszym poziomie nie przerwie mi przerwania np Portu. 2 Czy dobrze rozumiem <bo to mi umsknęło podczas przeglądania...
Witam, Od jakiegos czasu pracuje nad urzadzeniem komunikujacym sie z PC za posrednictwem USB. Ostatnio padla decyzja ze trzeba zastosowac ft232rl zamiast sprzetowego USB procesora poniewaz ftdi ma dobre wsparcie bibliotek na PC i ogolnie latwiej jest to stosowac niz uzerac sie z domyslnym sterownikiem wirtualnego portu COM w Windowsie. Ale teraz juz...
A dlaczego program zaczyna sie od 2000h ?? Masz jakis system uruchomieniowy z wlasnym BIOS-em ?? Jesli tak i program ladujesz do pamieci RAM i stamtad jest wykonywany to jesli nastapi przerwanie to procek skoczy do BIOS-a i stamtad dopiero skoczy pod odpowiedni adres. Jesli jest przesuniecie o 2000h to skoczy pod adres 200Bh (2000h + 0Bh) UPDATE: Wiec...
Co do Pana propozycji z poprzedniego postu: sugeruje Pan ze jesli wlaczam obsluge przerwan portu i ustawiam flage TI_0 zeby wyslac znaki przez putchara to program odrazu sie zapetli przez to i bedzie wykonywal ciagle przerwanie ? tak wyglada moj set_RS() void set_RS() { SCON1 = 0x50; /* SCON1: mode 1, 8-bit UART, enable rcvr */ TMOD...
Oczywiscie, ze sa procedury przerwan, planowalem sygnal przepuscic przez 2 diody LED i maly oporniczek. Kolejnosc nie ma znaczenia, wiec to nie to. Chodzi mi o to, ze symuluje to przerwanie w Proteusie i nie dziala, więc zastanawiam się co może być nie tak...
Napisalem przeciez ze gdy jest spelniony warunek i skaczesz gdzies do innej procedury to mozesz pobrac te dwa bajty ze stosu i po klopocie lub wykonac reti na koncu tej procedury i procek juz sam zadba o odpowiednie oczyszczenie stosu. Zreszta nie wiem po co tak kombinowac. cpi rZmienna,0x01 breq JestRowne1 NieJestRowne1: ... ... reti JestRowne1: ......
To znalazlem i czytalem. Chodzi mi o ta konkretna sytuacje. To wywolane przerwanie wlasnie inkrementuje zmienna... wiec nie przerywa dzialania na niej. W dodatku podczas debugu widze ze zmienna ta w intrukcji if przyjmuje kolejne wartosci wiec nie ginie. I widze sytuacje 15 == 15 a tu nic... warunek spelniony a program milczy... M.
dziechu - sliczne dziek za zwrocenie uwagi na makro banksel w momencie zapamietywania rejestru STATUS. Masz racje - banksel zmienia go wiec moj sposob byl bledny. Adresy 70h-7Fh sa idealne do tego typu operacji. Odnosnie mojego pytania o goto, stwierdzilem, ze w przerwaniu mozna go uzyc ALE jako skok LGOTO (poniewaz do przerwania mozna wejsc z kazdej...
cześć chłopcy i dziewczęta :) Od jakowegoś czasu próbuje rozgryźć przerwania w procku ADUc7026 korzystając z IAR System , Wigglera i H-Jtaga. Wszystko skonfigurowane wg opisu na stronie: (EN).pdf W związku, ze korzystam z ARMa z firmy Analog Device nie mam możliwości flashowania pamięci wiec ożywając plik startowy dostępny z examplow IARa programuje...
Program dopiero powstaje (dopiero mam szkielet do uzupełnienia), wiec moze byc duzo elementów nieaktywnych takich jak PWM'y i i2C itp(ale konfiguracje juz sa), głównie jest MENU nieskonczone ale tyle co jes to działa , no i nieszczesny pomiar z wyswietleniem co 0,5 s za pomoca flagi z przerwania. Docelowo będą czytane wszystkie wejscia ADC ale jak utknołem...
Witam ja z tym samym piecem ale z FW100 mam z pozoru(?) podobny problem a mianowicie pompa cwu chodzi cały czas. Próbowałem zmniejszać ilość załączeń na godzinę, ograniczać przedziały w jakich ma ona działać ale bez rezultatów. Zgodnie z tym co było już opisane sprawdziłem podłączenie i jest prawidłowe. Funkcja E5 tez ustawiona na 01. Grzebiąc w ustawieniach...
Witam Klawiatura zbudowana jest za pomocą sześciu przycisków monostabilnych, podłączonych do portu PF0-PF5. Równolegle z każdym przyciskiem jest włączony kondensator elektrolityczny o pojemności 1µF w celu eliminacji wpływu drgań styków. Aby nie odczytywać stanu linii cały czas, zdecydowałem się na wykorzystanie przerwania zewnętrznego !INT7. Jest...
Klawiatura jest właczona bo współczesne komputery można włączyć/wyłaczyć przyciskami pod DELETE. Monitorowanie przerwania wymaga zasilania.. Daj winampowi wyższy priorytet. a wiec to bylo powodem... dalej wyzszy priorytet winampowi i juz jest ok.. a co do diody na klawiaturze to w biosie byla opcja podawania napiecia czy cos takiego jak sie ja wylaczy...
to jeszcze raz ja. nie zakladalem nowego posta, bo dalej ten sam temat walkuje. a wiec tak: -uzywam keila -procek to TUSB3210 z rdzeniem 8052 -kwarc 12MHz, jak wynika ze specyfikacji - w ukladzie mnozony x4 -podlaczone diody do portu P0.0 i P0.1 -w debugerze programy DZIALAJA. sprawdzalem krok po kroku. nie dzialaja gdy wgram je do ukladu. wklejam kompletne...
Czy moglby ktos tak w miare przystepny sposob opisac zasade wykorzystywania takich wektorow w przerwaniach?? czy jest jakas zasada przydzielania adresu wektora, kanalu? jak rejestr VICIntEnable rozroznia przerwanie IRQ od FIQ? i czy mozna dla jednego timera zrealizowac dwa(lub wiecej) przewrwania MR0 i MR1 jako dwa wektory przerwan VICVectAddr0 i VICVectAddr1?...
Witam. Mam kod, w którym Atmega ma wysłać na kompa dane dopiero wtedy jak komp wyśle ramkę 0b01111111. Zatrzymanie wystąpi po wysłaniu z kompa 0b00000000 (stan początkowy Atmegi, nic nie wysyła). Komenda 0b1xxxxxxx oznacza odczyt konkretnego urządzenia. Każda przesłana komenda ustawia odpowiednią flagę, która sygnalizuje działanie. Odbiór z kompa (Rx)...
Zeskanuj system programem Spybot Search & Destroy z najnowsza bazą danych, masz go wgranego wiec tylko zrób update i skanuj Trudno dojść co może powodować ten problem masz tam dziwne biblioteki np C:\WINDOWS\system32\e2f30b00.dll Ale google nic na ten temat nie mówi Do tego: F:\AutoRun.exe Wygląda na wirusa wiec pełne skanowanie esetem
Najlepiej podac przyklad z zycia wziety. Zalozmy ze wykonujesz czynnosc zwana prasowaniem. Nagle rozlega sie szwonek do drzwi. Co robisz?? PRZERYWASZ prasowanie i idziesz zobaczyc kto dzwoni, gdy sie okaze ze to listonosz przyniosl list polecony to go odbierzesz i wrocisz do prasowania. Tak samo jest w procesorze. Wykonuje on program glowny ktory np....
Witam! Do tej pory wszystko mi ladnie chodzilo Niestety teraz juz tak nie jest Gdy chce polaczyc sie z komputerem za pomoca irdy, komputer sie laczy ale polaczenie zaraz zostaje przerwane Polaczenie sygnalizuje komputer i komorka, wiec mysle ze podczerwien w kompie jest dobra i w komorce tez. Prosze o pomoc! Co mam robic? Moze w ustawieniach cos zmienilem,...
Witam !!! Ok rozumiem że zgłoszenie od t0 ma startować pracę wyswietlacza wiec należało by jeszcze obliczyć wartości do ładowania liczników t0. W jaki sposób to obliczyć to optymalnie i kiedy powinny te liczniki startować, czy przy wyjściu z obsługi przerwania t0 Pozdrawiam
czesc, dzieki za odpowiedzi. powiem szczerze, ze badanie wejsc co jakis czas jest nieeleganckim rozwiazaniem... powiem dodatkowo, ze urzadzenie ma takze sterowac 4 silnikami DC i dla nich wlasnie sa przewidziane te krancowki. reakcja uC po otrzymaniu przerwania i zatrzymanie odpowiedniego silnika bedzie z reguly bardzo szybka co pozwoli na ochrone przekladni...
mam teraz problem z przerwaniami, w progr glownym wyswietlam godzine na lcd z rtc, wiec sterownie diodami ( wyswietlane kolejno po jakims czasie) chcem zrobic w obsludze przerwania, dotychczac doszedlem do nastepujacego kodu, ale to nie dziala void Timer0(void) interrupt 1 { unsigned int licznik; licznik++; if (licznik == 300) // gdy zmienna licznik...
czestotliwosc tego waznego przerwania to od 100 do 4000Hz . jego obsluga bedzie trwała tyle co zapis 6 liczb 8bitowych. i to wsszystko , miedzy tym przerwaniem musze zmiescic wymiane danych (uart tez króciutko - góra 2 ramki) oraz własnie ta obsluge enkodera. czyli jak , jesli bedzie wykonywane to wazne przerwanie o którym mowa i podczas jego wykonywania...
olo_3 -> to jest cały kod? ten który tu pokazałeś????? po pierwsze - gdzie masz pętlę główną po części inicjalizacyjnej programu ??? DO ... LOOP - chyba że ślepy jestem czy jak? (jeśli rzeczywiście jej nie masz to nie dziw się, że twój program wariuje bo po z tego co widać po inicjalizacji odrazu program leci do obsługi przrwania i się zapętla na śmierć)...
Witam Od niedawna bawię się uC STM32 i krok po kroku próbuję nauczyć się ich obsługi. Słowem wstępu: Mam płytkę ZL31ARM, pewne doświadczenie z programowaniem w C/C++ i zupełny brak doświadczenia z mikrokontrolerami. Mam już za sobą mruganie diodami i proste pętle opóźniające; obecnie chcę nauczyć się obsługi przerwać przy wykorzystaniu EXTI i IO. Korzystam...
Nie sądzę żeby tak było... Jedyne co, to czasem warto układ po programowaniu z jakimiś dużymi zmianami porządnie zresetować <: Ale jest ciekawy hint dla Ciebie: 1. Połącz się z OpenOCD przez telnet. 2. komenda "reg" 3. Komenda mdw <adres> 8, przy czym <adres> to wartość rejestru PSP a potem MSP (w sensie dwa razy). 4. W jednym z tych...
Kod wydaje się sprawować prawidłowo. Przecinek jest względny. Operacje na zmiennych z przecinkiem są męczące dla mikrokontrolera. Jesli nie jest to konieczne to należy ich unikać. Zauważ że sam DS nie wysyła Single tylko Integer. Każda zmienna z jednym miejscem po przecinku pomnożona przez dziesięć da liczbę całkowitą. Tutaj przecinek jest "wirtualny"...
Faktycznie wygląda na to, że obsługa semaforów wpływa negatywnie na to. Musze przyznać, że jestem w lekkim szoku, ponieważ pomiędzy dwoma zboczami jest 400 us, procesor taktowany jest zegarem 180MHz, a w samych wątkach niewiele się dzieje. Moja opinia jest subiektywna i może zostać uznana za stronniczą (z racji tego że tworzę własny RTOS), jednak uważam...
Nie uzywaj przerwania 27h, lepiej jest stosować usluga 31h przerwania 21h. Domyślam się ze piszesz to w pascalu. Ja wole asemblera wiec pomoge w asemblerze. Z tego co rozumiem masz osobne programy do ustawiania IRQ5 i IRQ7. Spróbuj zrobic to w jedym programie. Start: jmp instal ;skok do procedury instalacyjnej Procedura obsługi IRQ5 Procedura obsługi...
Czy i który timer wykorzystuje 1wire. Chce wyorzystać jeden timer do cyklicznych przerwań, ale jak wykorzystam timer 0 lub timer 1 wysiada transmisja 1wire. ATmega32 nie ma wbudowanego interface 1wire, wiec nie rozumiem problemu, a wróżyc tylko mogę, że o bascom się rozchodzi... Stawiałbym na niezbyt szczęśliwą obsługe przerwań przez Bascom (zapisuje/odczytuje...
Moglbys wytlumaczyc po co jest rezystor? Jesli tranzystor jest oswietlony, to caly prad plynacy przez opornik bedzie zwierany przez tranzystor do +5v, a wiec na INT1 bedzie wtedy logiczna jedynka. jesli zas tranzystor bedzie nieoswietlony, to bedzie stanowil przerwe w obwodzie i opornik bedzie sciagal potencjal pinu INT1 do masy. Jednoczesnie opornik...
Jeśli procesor faktycznie się nudzi, to może w pętli czekać na zapalenie flagi INTx zamiast zezwalać na wykonanie podprogramu obsługi przerwania. Zyskasz na czasie przyjęcia obsługi przerwania - nie będzie odłożenia adresu powrotu na stosie, oraz wywołania funkcji z wektora przerwań. jakby tak bylo to nienapisalbym tego postu ale niestety jezeli procesor...
Witam. Mam mały problemik z UARTem . Mianowicie wszystko dziala ladnie , wysylanie i odbieranie znakow. Problem powstaje w momencie gdy wlacze przerwanie od zakonczenia nadawania (TXC: USART Transmit Complete ). Wowczas po wyslaniu jakiegokolwiek znaku z mikroprocesora mikroprocesor sie restartuje. Uklad to ATmega16, kwarc 16Mhz, predkosc transmisji...
Dzięki Tony wiele mi wyjaśniłeś. OK, wiec jesli dobrze zrozumiałem, wychodzi na to, że jesli przerwanie jest usatwione na zbocze to jeśli prawie w jednym czasie wystąpią powiedzmy dwa przerwania (na jednej lini przerwań) to jedno zostanie zignorowane i sie zawiesi bo: -pierwsze przerwanie wystawi stan wysoki na lini przerwań, co wygeneruje zbocze rosnące,...
i tak wlasnie powstal projekt do d... Jakos ogolnie nie zabrzmialo to dosc milo...:Wink: separacja skladowej stalej w tym przypadku to poroniony pomysl. jak ktos wczesniej pisal nalezalo uzyc hallotrona z wbudowanym schmittem cena 3-5 zł. kontrakton juz z samych zalozen sie nie nadaje (tylko do roweru). czujnik ma byc montowany na samochodzie, czyli...
Zbocze generuje tranzystor napedzany fototranzystorem. Ten zas wyzwala przerwanie w momencie blysku lampy blyskowej. Wiec opoznienie 50ms jest zabojcze bo synchronizacja bedzie zerowa. Juz wiem co to jest ten Eifr, nie ma jak dokumentacja pdf ;) Swoja droga myslalem ze rejestr przerwan sam sie zeruje. Dodano po 55 Ok westepnie procedurka ze sprawdzaniem...
Szanowni Panstwo: Pisze swoj pierwszy wiekszy projekt na 89s52 i mam pewna watpliwosc. Jakos nigdzie tego nie moge znalezc. Powiedzmy, ze nastapi przerwanie, ale zezwolenie na to przerwanie zostanie wylaczone zanim samo przerwanie zostalo obsluzone. Czy wtedy przerwanie bedzie obsluzone czy nie. Chodzi o przerwanie zewnetrzne, czyli odpowiednia flaga...
Ja to robiłem na chama-bezczela... Znaczy na pocżątku przerwania od razu WŁĄCZAŁEM przerwania instrukcją sei Razz Wiem że to niezbyt eleganckie ale działało w moim przypadku. Wcale nie nieeleganckie. Jesli jedno z przerwan ma najwyzszy priorytet to mozna to tak spokojnie robić. Poza tym w AVRach nie ma mozliwosci ustawiania priorytetow przeerwan wiec...
Witam Mam pewien problem z timerami, jesli dobrze rozumiem dokumentacje to przy kazdym przejsciu wartosci rejestru TMR z 0xFFFF na 0x0000 powinno wystapic przerwanie. Napialem prosty program wywolujacy przerwanie przy pomocy timera0 i niestety wartosc ta musi przjesc przez zero kilkaset razy zanim wystapi przerwanie. Korzystam ze sprzetowaego debuggera,...
Dzięki wielkie ale ja pewnie mam coś z rejestrami, ktorych z pod bascom sie nie używa :D Dodano po 24 wg. noty katalogowej sprzętowe TWI powinno wyzerować TWINT gdy coś odbierze, a nie zeruje, wiecie może dlaczego:?: Dodano po 29 ale dziwnie:( wysyłam adres, czkam na ACK, dostaje ACK a teraz TWCR = (1<<TWINT) | (1<<TWEN)...
Operator przypisania zawsze myli mi sie z porówaniem gdy na jakis czas przestane pisac (pisze duzo w php). Hmm, trzeba zabrac sie za te dokumentacje w takim razie. Z kursu udało mi sie uruchomic timer, wiec myslałem ze jest ok. Co do wyskoczenia poza rozmiar - to program tylko do testów, udało mi sie zapisac dane do eeprom, uruchomic timer, teraz chciałem...
Nie do końca, poczytaj co to jest stos i nie będziesz zadawał takich pytań. Wiem co to jest stos :P Rzeczywiscie troche glupote napisalem. Chodzilo mi o to zeby w tej procedurze np. nie zapelniac stosu bezmyslnie np. zmienna lokalną <a tak mialem>. Juz po problemie - zrobilem tak jak mi poradzil dawid512 - w przerwaniu zmieniam wartosc flagi...
Witam. Tworzę mały projekcik i natrafiłem na pewną zagwózdkę. Na początku wprowadzenie co układ ma robić i jak działać. Układ składa się z części analogowej, tzn. dwóch detektorów tonu (LM567) odpowiedzialnych za detekcję "bitów" łącza fizycznego. Chodzi o to, że rozpoznają "swoją" częstotliwość i gdy stwierdzą zgodność z obwodem czasowym, na swoim...
Czesc Zaczalem nauke programowania mikrokontrolerow avr w jezyku C. Doszedlem do zagadnienia przerwan i musze przyznac, ze nie kumam pewnych rzeczy. A mianowicie, mam nastepujacy kod: // Testowanie przerwań zewnętrznych #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h> SIGNAL (SIG_INTERRUPT0) { PORTD = 0x1d;...
Jeżeli byłby ktoś w stanie wyjaśnić mi dlaczego realizując wyświetlanie multipleksowane w poniższy sposób uzyskuję wyświetlanie czterech zer ? ................ Config Timer0 = Timer , Prescale = 32 Enable Timer0 On Timer0 Wyswietlanie Timer0 oraz Timer1 nie maja prescalera=32 Zatem ta Dyrectywa jest pomijana i twoj prescaler defacto jest =1; - co daje...
Witam mam trywialny problem, ale chciałbym się upewnić: Otóż postanowiłem zrobić sobie wysyłanie danych przez port szeregowy. Mam w związku z tym pytanie odnośnie USART na STM32. Jeśli ustawię sobie przerwanie USARTA na aktywny stan TXE (USART_ITConfig(USART1, USART_IT_TXE, ENABLE); ), to ono od razu mi się wykona, bo w TDR nie ma danych. Przerwanie...
No i po sprawie. po wielu godzinach walki z wymiennikiem płytowym, piec pracuje normalnie. Okazało się, ze wymiennik główny był czysty natomiast płytowy niemal ze całkowicie zapchany. Zaczynając od odkamieniaczy poprzez odkamieniacz do chłodnic niewiele to pomogło. wymiennik nadal pracował z przerwami. Zdecydowałem się na dość niecodzienny pomysł. Zastosowałem...
Nie bardzo wiedziałbym jak tego użyć. Chyba że jakiś przykład miałby ktos, kto to już robił. Na razie staram sie jakos sam z tym uporać. Podczas ustawiania czasu/daty, zapisuję nieulotnie czas i datę oraz zeruję licznik RTC_CNT. Po każdym włączeniu zczytuję aktualny stan licznika RTC_CNT, przeliczam (to znaczy staram się:) na sekundy, minuty, godziny......
Więc po kolei... 1.tak w tym kodzie jest błąd :) ale w programie go nie ma ponieważ nie kopiowałem tylko pisałem w poście od nowa. 2.na moja wiedzę flaga jest zerowana w momencie skoku do przerwania a nie w momencie powrotu z niego.... w momencie skoku zerowana jest flaga wystąpienia przerwania i zerowana flaga globalnego zezwolenia przerwań. W momencie...
Witam, Uzywam stm32Cube do generowania kodu dla SW4 ktorego uzywam w eclipse. Staram sie uwuchomic przerwania RX dla CAN1, ale nie moge tego uruchomic, program counter nigdy nie wchodzi do obslugi przerwania. Wysylanie dziala. Testowa procedura dla sprawdzenia wysylania: [syntax=c]CanTxMsgTypeDef TxMess; TxMess.ExtId = 0x234501; //TxMess.StdId = 0x241;...
Witam, Jestem początkujący jeśli chodzi o programowanie ARM wiec proszę o wyrozumiałość. Mam problem z procesorem LPC 1768, konkretnie jest to płytka Mini DK-2. Od pewnego czasu walczę z problemami w przerwaniach i nie mogę sobie poradzić. Przewertowałem setki tematów na forach polskich i zagranicznych, być może źle szukałem, wiec każda wskazówka i...
Problem polega w tym że program potrzebuje chwili aby sprawdzić stan przycisku tak wiec muszę użyć przerwań ale uno ma tylko 2 przerwania . Czy da rady użyć jakiejś sztuczki aby w jakiś sposób zwiększyć liczbe INT. Obbługi przycisków nie robi się na przerwaniu zewnętrznym. Jest to temat wałkowany na elektrodzie 5 razy w tygodniu. Zrób w przerwaniu...
Mialem ten sam problem. VCDS mowil ze Sterowanie podgrzewacza zbiornika czynnika redukującego a okazala sie grzalka ta duza co grzeje plyn w zbiorniku. Sa 3 ogolnie jeszcze w przewodzie dochodzacym do zbiornika i we wtryskiwaczu adblue do DPFa. W tym przypadku duza grzalka ze zbiornika do wymiany wiec neiestety musicie otrzec sie serwis gdyz zamiennikow...
Warhard cyt: Powiedzmy że sygnał liniowo opada ze stanu wysokiego w stan niski w czasie 1 sekundy. (Bardzo ale to bardzo małe strome zbocze) Przerwanie ustawione jest na opadające zbocze. Czy AVR zgłosi mi tylko jedno przerwanie ?. Czy bede miał przerwanie za przerwaniem ? Przerwanie powinno być jedno bez względu na nachylenie zbocza bo na wejsciu jest...
nie jest to fuse bit tylko bit w GIRC ktory odpowiada za przepisanie tablicy wektorow przerwan do bootloadera...w Datasheet jest opisany Dodano po 5 w procku nie dziala sekcja SPM (nie mozna bylo zapisac nic do flasha poprzez spm). podlaczylem inny uklad PCB tez z mega8 i wszystko bylo OK. No wlasnie bylo !!! bo po chwili zabawy drugi uklad tez nie...
witam wszystkich. chcialem zrobic uklad w ktorym nacisniecie ktoregokolwiek z klawiszy bedzie powodowalo obsluzenie go wewnatrz procedury obslugi przerwania. szukalem czegos podobnego na forum ale znalazlem tylko opisy ze mozna to zrobic uzywajac diod ale bez zadnych schematow. wiec robie to tak jak na przedstawionym rysunku ale niestety nigdy na wejsciu...
Obluga przerwan w jezyku C zalezna jest od kompilatora pod jakim piszesz program i musisz w jego manualu zobaczyc jak pisze sie funkcje obslugujaca przerwanie np w keilu masz: void f() interrupt 3 W innym kompilatorze skladnia moze byc zupelnie inna Wiec nalezy czytac manuala Pozdrawiam
Zamieniłem zapis w funkcji wyslij . Zmieniłem tez kolejnosc linijek w funkcji obslugi przerwania. Niestety nic nie pomaga. Wylaczyłem przerwanie od portu szeregowego i transmisje obsluguje programowo. Problemem nie jest wiec tez funkcja obslugi przerwania od RS. Zalanczam projekt w Keilu, moze ktos znajdzie chwiel czasu na spojrzenie co jest nie tak....
Witam serdecznie forumowiczów.Dostałem ostatnio temat pracy kontrolnej z układów mikroprocesorowych i jak zobaczyłem tematy to powiem wam szczerze ze nie jestem w stanie tego zrobic.Bardzo was prosze o pomoc wiem ze jest tutaj wielu doswiadczonych ludzi,wiec moze uda się wam mi pomóc.Podaje tematy: 1.Sortowanie bąbelkowe 100 liczb umieszczonych w pamięci...
1. Po przyjeciu, zablokować przerwania int0 -> skoro ustawiłeś flagę, to nie będą Ci już chyba potrzebne (dopiero po resecie). Problemem jest kiedy wylaczyc przerwanie int0, nie moge przeciez tego zrobic w obsludze samego przerwania. Trzeba to chyba zrobic w petli programu glownego, tylko ze jak nie wylacze przerwania od razu to znowu wejdzie w obsluge...
Sory za wykopanie starego tematu ale również mam kilka pytań do klawiatury matrycowej. Program pisze na AT89S50 w asemblerze, klawiatura 2x3 bez urzywania przerwań. Oto mój kod: K1EQUP2.0 K2EQUP2.1 K3EQUP2.2 W1EQUP2.3 W2EQUP2.4 ORG 0000H LJMP START ORG 100H START: LCALL KLA LJMP $ KLA: ORL P2,#00011111B CLRP2.0 JNBP2.3, KL1 JNBP2.4, KL2 SETBP2.0...
hipotetyczna sytuacja o ktorej napisano w pierwszym poscie jest... hipotetyczna. [; najpierw wystarczy po prostu wyliczyc, a potem nakazac stworzonym przez siebie funkcjom wyslac te dwa bajty - problemu nie ma. jak musi byc super szybko, to przeciez uart przyjmuje tylko 1 bajt, wiec drugiego nie dostanie dopoki nie zostanie on obliczony, bo dopoki nie...
mozna funkcji przypisac atrybut przynaleznosci do jakiejs sekcji, a nastepnie sobie taka sekcje zdefiniowac w opcjach linkera. ogolnie zas nie ma raczej potrzeby zeby kod umieszczac pod konkretnymi adresami - prosta droga do klopotow. wektory przerwan umieszczone beda tam gdzie trzeba, wiec o to sie martwic nie trzeba. 4\/3!!
szelus przeczytaj dokładnie o co chodzi układ działa ale czasy się nie zgadzają :/ opisałem dokładnie wadliwe czasy pracy optymalizacja jest wyłączona a ta pętla wytłumia drgania związane z przyciskiem, w przerwaniach nie mogę stosować makra _delay_ms(), a po za tym jedna iteracja wykonuje się w 4us jak dobrze pamiętam wiec spokojnie tak szybko nie...
int TDelay wyciągnij jako zmienną globalną. Za każdym razem, gdy SysTick wejdzie do przerwania ją tworzy, a to bez sensu, co? :) w końcu nigdy nie doliczysz do 500, skoro będziesz cxo chwile tworzył tą zmienną. właśnie tak myślałem że z tym jest coś nie tak, niestety z C też nie jestem mistrzem i przez to ta gafa, dzięki Porównaj: SysTickHandler SysTick_Handler...
Witam Niedługo mam termin obrony pracy inżynierskiej i w komisji przypadł mi dziekan który zajmuje się sterownikami programowalnymi. Ja kończę studia mechaniczne wiec ze sterownikami nie miałem prawie nic wspólnego - tylko podstawy. Temat jaki będę musiał zreferować to: "omówić rodzaje przerwan i ich konfiguracje w sterownikach siemens s7-200". Szukałem...
szczywronek : Tu mój błąd, nie doczytałem, ze potencjometry są elementami nastawczymi, wiec całe moje zdanie niema sensu. Bartosz36 : Ad 1. Zgadzam się z Tobą, prawie napewno masz rację; chyba, że przerwanie trwa 12 sekund a wywoływane jest co 10 sekund. Ad 2. Niema tu żadnych haczyków, chodzi mi o czas - co który wywoływane jest przerwanie (najlepiej...
No to zysk będzie 2 cykle, ale potem znów jest kopiowanie do zmiennej Volatile. Wiec czy coś sie poprawi? Dodano po 25 Czyli każda procedura (oprócz INT4) powinna wyglądać tak: 1. Na początku procedury wyłączenie wszystkich przerwań oprócz INT4. 2. Włączenie globalnej flagi przerwań #asm("sei") 3. Właściwy kod przerwania. 4. Wyłączenie globalnej flagi...
W momencie, gdy pojawi się sygnał na ICP (szczerze mówiąc traktuję go jako zwykłego INT-a, bo ICR-a nie potrzebuję) wchodzi w przerwanie i teraz odbiór sygnału RC-5 jest absolutnie priorytetowy, więc wszystko blokuję (może nawet i dałbym cli() aby globalnie wyłączyć przerwania, a sei() po zakończeniu przerwania ICP, aby nie tracić taktów na np. OVERFLOW...
Za zawieszenie górne wymiane u mnie na serwisie kolego 8zł bierzemy wiec skad te 50 ? Chyba cały układ drgan i inne częsci przenoszące. Proszę nie stresujcie kolegi !
Witam serdecznie! Mam duzy problem. Nie mogłem sie uporać na laptopie z wirusem Isass.exe dlatego odpialem dysk z laptopa i podpiałem do stacjonarnego. Tam probowałem combofixa i innych antywirusow jednak nic nie pomogło. Postanowiłem wiec sprobować opcji "napraw" z plyty instalacyjnej systemu. Na nic sie to zdało bo po powtórnym samoczynnym restarcie...
Ponieważ aktualnie mierzę się z podobnym problemem w driverach zaimplementowanych w moim RTOSie, powiem Ci szczerze, że taki sposób obsługi SPI jest po prostu niemożliwy do zrobienia poprawnie i tak żeby osiągnąć jakąś rozsądną częstotliwość. Sytuacja którą obserwujesz jest stosunkowo prosta. Natychmiast po uruchomieniu transmisji masz pierwsze przerwanie...
Witam. Mam problem tym razem z przerwaniami napisałem taki program obsługi przerw. od przechwycenia żeby to wszystko przetestować ale kompilator wysypuje WAJH.c:17: error: `TICIE1' undeclared (first use in this function) WAJH.c:17: error: (Each undeclared identifier is reported only once WAJH.c:17: error: for each function it appears in.) WAJH.c:24:2:...
Witam wszystkich Proszę wybaczyć, jeżeli temat był juz tutaj poruszany - niestety nie umiałem go znaleźć. Do rzeczy: podczas odkrecania płyty głównej, śrubokretem przypadkowo "przejechałem" po płytce drukowanej. Przerwałem przed to ścieżkę prowadzącą do PS/2 i klawiatura jest niewykrywana... Szukam sposobu naprawy. z ciekawości potraktowałem te "przerwę"...
(at)UP Czy nie mogę się spytać? To że próbuje sie dowiedzieć czegoś to chyba nic złego. Wyciągnij mu baterie i ja wloz - mozliwe że mu odbilo. <-- ta sugestia u mnie dzialala wiec mowie ... Pozdrawiam Dodano po 28 Proszę, tutaj problem zostal rozwiązany : Mam nadzieję że to pomoglo. Ty przerwales CHDSK a on kopiowal dane z ps3 , ale numery bledu...
Bawie sie tym teraz i juz chyba dziala.Wciaz dziwi mnie to ze TL0 laduje sie co 2 a nie co 1.To dopiero poczatek mojego projektu wiec w tych podprogramach start stop sa jakies przykladowe rzeczy.Potem bede potrzebowal jeszcze obslugi lcd.Jeszcze nie wiem jak.Pewnie to bedzie trudne.
skoro pin wisi w powietrzu to rozumiem ze przerwanie nie jest wykorzystywane....wiec moze je wylacz :), a po drugie to to jest wejscie przerwania a nie wyjscie wydaje mi sie ze powodem wlanczania przerwania jest to, ze wejscia cmos sa bardzo czule na rozne rzeczy (np palce :), fale elktromagnetyczne), kiedys pamietam robilem cos na liczniku cmos i jedno...
Dzieki za szybka i konkretna odpowiedz :) Co do termometru - ma to byc projekt niskobudzetowy, wiec wszelkie dodatkowe elementy (poza jakimis tam opornikami itp) sa nie mile widziane :) Co do histerezy - obawiam sie ze nie mam juz zadnego wolnego pinu, wiec z tymi opornikami to tak srednio... zabralem sie wiec za pomiar co kilka sekund, a raczej opoznienie...
Witam, wie ktos moze jak to zrobic, aby przy wywolaniu przerwania w funkcji za nia odpowiedzialnej, gdy zmienie wartosc zmiennych globalnych, te wartosci rzeczywiscie zmienialy sie w programie. Chodzi o to, ze przy wywolaniu np. przerwania IRQ procesor wchodzi w tryb IRQ, kopiowane sa wszystkie zmienne globalne na stos tego trybu (IRQ mode), wiec moge...
Jak zalecałeś-Przeczytalem tą note intela i wiele nowego sie nie dowiedzialem;) No ale po kolei, zrobilem tak jak pisales - czyli ustawilem IT0 w TCON tak by przerwanie INT0 reagowalo na zbocze a nie na poziom. Po drugie ustawilem P3.2, choc chyba niepotrzebnie bo wczesniej po kazdrorazowym uruchomieniu ukladu byla tam 1, no ale teraz dla pewnosci jest...
Witam wszystkich ! jestem tu swierzakiem i chcialbym sie was doradzic w kwestii naprawy zwrotnicy od kolumny altus 140. stalem sie posiadaczem legendarnych zestawow za nie wielkie pieniadze ale z mala usterka, otoz w jednej kolumnie glosnik niskotonowy przerywal wiec wziolem sie za jego sprawdzenie. Wykrecilem wiec zwrotnice znajdujaca sie pod koszem...
Flagi mogą być ustawiane w każdym momencie wykonywania programu. Globalne wyłaczenie przerwań nie skasuje flagi, program jedynie nie wejdzie do procedury obsługi przerwań do czasu ich włączenia. interrupt() { if(TMR1IF) { //<- tutaj przychodzi przerwanie od TMR2 wiec obsługa tego przerwania zostanie wykonana jeszcez w tym...
Jak bys zobaczyl ile trwa wejscie do procedury obslugi przerwania i wyjscie to bys sie nie zdziwl. Z tego co pamietam to taka operacja w przypadku timera zajmuje okolo 100 cykli teraz podziel 1MHz na 100 i wyjdzie ci 10KHz. Wiec calkiem podobna wartosc do twojej ;) Takze wykorzystaj asma a dobijesz do 40KHz spokojnie. EDIT: Cos mnie sie pomieszalo albo...
Witam, Mam problem z obsluga przerwan od przepelnienia licznikow. W projekcie wykorzystuje 3 liczniki w atmega8, timer2 wykorzystuje do generacji sygnalu 40kHz natomiast pozostale dwa maja zliczac czas od nadania sygnalu do otrzymania echa. Narazie napisalem osobną obsluge kazdego z timerow i dzialalo. Po wrzuceniu wszystkiego do jednego projektu dziala...
Witam mam takie pytanko, bo walczę teraz z uruchomieniem przerwania od UARTA na odbiorze. Bo zasadniczo FreeRTOS ma swoje przerwanie ten SysTickTimer i ono jest u mnie na timerze 3, co jest w ustawione w VIC0 na priorytecie 5. Z tego co zrozumiałem to semafory we Freertosie slużą do tego, żeby zsychronizować przerwania z systemem operacyjnym. Jako,...
Witam, pisze mój pierwszy post wiec proszę o wyrozumiałość. :D Cała historia zaczęła się dwa tygodnie temu kiedy przez głupotę rozwaliłem matryce w moim laptopie "Lenovo" Ale mniejsza to. Postanowiłem kupić nowy laptop A, ze się na tym kompletnie nie znam to kupiłem laptopa Marki Acer. niestety z WIN 10, Od samego początku ten system mi się nie podobał...
Cześć, Projekt zaraz będę konfigurował od początku. Fakt, podałem za mało danych, wybaczcie, skrajna nerwica mnie na to wzięła. Od początku: Używam SW4STM32, ale chciałbym od tego odejść mocno, bo za dużo automatów i za mało szczegółów, może dlatego, że nie potrafię tego wszystkiego ogarnąć. Kompilatora używałem poprzez naciśnięcie "build". W ustawieniach...
Program II: Podczas symulacji zaraz na stacie jest skok do podprogramu odbierz (wartosc scon=0x52). Nastepuje wyskoczenie z podprogramu Potem w symulacji reaguje na przerwanie i wskakuje do podprogramu odbierz ale po zaprogramowaniu procka nie wskakuje (wprowadzilem sobie mala instukcje ktora mruga dioda - dioda nie mrugala wiec w ogole nie wskoczyl...
Tak DS podłączony jest prawidłowo - po 3 przewodach i na lini sygnałowej 4k7 do Vcc... Poniewaz mozna sprawdzic czy DS juz pomierzyl temperature (po stanie nozki sygnalowej) program mam napisany tak ze zaraz po pomiarze program czeka az DS zmierzy temp i dopiero odczytuje... wsadzilem to w petle z licznikiem i sprawdzilem ile trwa petla... A wiec odczyt...
Elektrolity jak najbardziej do wymainy i zasilacz tez bym proponowal a co do sciezek to nie powinno byc problemu.Kolega zrobil zwarcie na jednym z fan`ow (neony ,oswietlenie kompa) i wyparowalo jakies 10 cm sciezki z napieciem 12V zaraz przy fan`ie i przy tym z 5 cm sciezki od AGP ale to juz nie wiem czemu.Oderwalem reszte odchodzacych sciezek wzielem...
Co do schematu to jeszcze go nie przerysowalem na komputerze, przekaznik wyeliminowalem wiec to tez nie to, jesli chodzi o /int to do jednego podpiety mam rezystor 700ohm do +5V i przez wylacznik zamyka sie z masa, drugi int tez rezystor do +5 i podawana jest masa z samochodowego czujnika wstrzasowego. Jak na razie uklad dziala poprawnie- przyczyna...
W kwestii zakonczenia tematu: tak jak na rysunku w pierwszym poscie nie dzialalo wiec podlaczylem kondensatory do osobnych przerwan.
Ja uzywam 1.0.4, wiec moz cos inaczej ale nie podejrzewam, Jak napiszesz: INTERRUPT( ) to kompilator na poczatku wstawia instrukcje odblokowujaca przerwania, a jak SIGNAL() to nie , wybor zalezy od ciebie. Mozesz to sobie podjerzec w pliku .lss .
A mi sie wydaje, ze ma bardzo duzo wspolnego ;) Przeciez "sprzetowy pies" to nic innego jak timer z preskalerem, po ktorego przepelnieniu wywolywane jest przerwanie resetujace resetujace uC. Wiec jezeli uruchomimy T0 i uaktywnimy przerwanie od przepelnienia T0, w obsludze przerwania zrobimy 2-gi programowy licznik i jego inkrementacje to mamy gotowego...
1. oczywiście że ATmega obsługuje przerwania na każdy rodzaj zbocza a także na poziom ;) (na pewno!) 2. Przerwania INT0 i INT1 to standardowe i opisane oddzielne dwa przerwania hmmm mają można tak ogólnie powiedzieć więcej opcji działania ;) Natomiast przerwania PCINTx mogą być wygenerowane przez wybrane piny danego AVRka, przeważnie to jest jakiś...
Trzeba dodać dodatkowy odwracacz fazy - np trzy rezystory i tranzystor npn. Jeden rezystor będzie podciągał wejście int1 do plusa a tranzystor w wypadku zadziałania będzie zwierał go do masy. Na wejściu dajesz rezystor do bazy i dodatkowo od bazy do masy (np 2k2 wejście, 10k bocznik do masy). I teraz jak podasz plus na wejście układu to tranzystor zewrze...
Hmm na poczatku stan portu jest niski w przerwaniu ustawiany na wysoki i tak zostaje. Program wrzucilem do megi sprawdzilem stan portu, jest 5V to znaczy ze przerwanie jest wykonywane... bez oscyloskopu bedzie ciezko Ci dojsc do tego czy jest ok... Tu masz program w ktorym PORTD na zmiane ma 0xFF i 0x00(czyli wypelnienie 50%) wrzucilem do megi i sprawdzone...
Witam, napisalem program ktory zczytuje dane z wyjsc Q1-Q4 dekodera DTMF wszystko dziala ladnie, chcialbym tylko dodac jeszcze pare szczegolow i mam nadzieje ze ktos tutaj mi w tym pomoze. 1) Chcialbym zapisac chociaz 10 ostatnich wynikow jakie pojawily sie na wejsciu B, tylko nie mam pojecia jak to zrobic bo dekoder ten wysyla pojedynczo cyfry. Kazde...
Mam pewien problem. Problem ten dotyka mnie praktycznie od początku pracy z ARMami, wygląda to tak pisze sobie procedure obsługi przerwania dokonuję jakiejś drobnej zmiany i wszystko przestaje działać, i właśnie dziś udało mi się przyłapać ten problem troche dokładniej i conajmniej ciekawie. Wiec : //***************** PROBLEMATYCZNE LINIE KODU *************************...
ma i wie, ze main moze zwracac wartosc w programach na pc, bo na uc to niby komu mialby to zwracac i ktoredy? i niby w jakis sposob, skoro program wykonuje sie w nieskonczonosc? powyzszy kod nie wyglada na napisany pod system operacyjny, wiec jakos nie widze potrzeby zwracania czegokolwiek. tak wiem, ze to detal, ale czasem przez detale dzieja sie rozne...
:arrow: sieciech, znajac czestotliwosc taktowania uC wiesz tez ile dokladnie trwa jeden cykl maszynowy. Tak? Wiesz wiec tez ile cykli maszynowych potrzeba na Twoje opoznienie (niech bedzie to n). Musisz tak sobie zaladowac TMR1 aby przepelnienie zachodzilo dokladnie co n cykli maszynowych. Nie zliczasz wiec od 0x0000 do 0xFFFF tylko od powiedzmy 0x120A...
Czy to miales na mysli : Set Flaga While Flaga = 1 1wreset Pind , 2 1wwrite &HCC , 1 , Pind , 2 1wwrite &H44 , 1 , Pind , 2 Waitms 255 Licz_temp = 0 1wreset Pind , 2 1wwrite &HCC , 1 , Pind , 2 1wwrite &HBE , 1 , Pind , 2 B1 = 1wread(1 , Pind , 2) B2 = 1wread(1 , Pind , 2) Wend przerwanie resetuje flage, wiec efekt jest ten sam jakby...
Problem rozwiązany co prawda tylko w symulacji mi chodzi ale dzis nie bede w domu wiec nie uruchomie sprzetu. Zmienilem na ISR (TIMER0_OVF_vect) i poszlo. Dzieki pozdrawiam Dzieki za odpowiedzi Pozdrawiam PS: Dr.Vee , nie rozumiem Twojego kodu tym bardziej wyrażenia (at)(at) -21,7 +21,7 (at)(at) rozumiem , że dołączasz pliki nagłówkowe led7seg.c. Jestem...
Zamieszczam ten temat jako ciekawostkę i może ma ktoś jeszcze więcej informacji niż ja to niech cos napisze czy to pewne? Bo mój kolega z pracy był w piątek w WKU w celu otrzymania jakiegoś kwitku dla banku żeby mógł wziąć kredyt. Bank nie chce mu udzielić kredytu ponieważ niema uregulowanej służby wiec w Wku mu powiedzieli ze będzie pobór w lutym i...
Witam Próbuje aktualnie zrobić kontroler serw używając atmegi 32. Tylko z małym dodatkiem. Staram się osiągnąć to: SIGNAL (SIG_UART_RECV) { buff[z]=UDR; if(z==10 || buff[z]=='T')z=0; //wykrycie konca ramki else z++; } Serwa obsługiwane są za pomoca 16 bitowego licznika T1. Jego obsługa wygląda tak: SIGNAL (SIG_OVERFLOW1)...
pudlo again [; D1 i D2 to diody (komentarze w przerwaniu). rejestry DDRx maja domyslnie wartosc oznaczajaca wejscia, wiec nie trzeba koniecznie wpisywac tam zer. z tego samego powodu nie jest konieczne stosowanie operatora |= - skoro wiadomo ze reszta elementow tak czy siak byla zerem i ma byc zerem. zapis typu REJESTR = (1<<x | 1<<y); jest...
zanim uklad dojdzie do twojej liniki pare cykli mija (zachowanie rejestrow, sama reakcja na przerwanie) - powiedzialbym ze tak z 10-20 cykli, wiec nie dziw sie... w momencie w ktorym zerujesz ten rejestr ma on juz jakas tam wartosc i tyle - cala filozofia. 4\/3!!
port zmieniłem tylko w celu sprawdzenia, myślę ze powinno działać nie zależnie na którym porcie to zrealizuje. przerwanie gasi diodę a wiec po powrocie do pętli gł się zapali zgodnie z instrukcja; powinna migać u mnie wykonuje się tylko program gł i się świeci cały czas. dodałem tez instrukcje opóźnienia żeby sprawdzić czy nie miga tak szybko ze nie...
A nie lepiej po prostu wszystko na timerach i przerwaniu? Tak co mi na szybko przychodzi do glowy tolinie podpiac pod przerwanie, ustawic na detekcje zmiany zbocza. Zrobic jakas zmienna ktora mowi czy jest to przerwanie startujace czy konczace. Jesli startujace to zczytujesz czy jest to 0 czy 1 i start timera. Jesli przerwanie konczace to stop timer...
Primo, termin przerwanie oznacza w informatyce zupełnie coś innego, niz Ci się wydaje - zobacz . Secundo, poczytaj sobie jakiś tutorial np. . Tercio, próbowałeś użyć funkcjiMessageBox? ((VS.85).aspx) Może to załatwi sprawę? Pisałem, że dawno już nie pisałem w WinAPI, wiec nie jestem pewien, ale jest spora szansa. W ostateczności wklej swój kod, WinMain,...
po wpisaniu tego GICR=1<<INT0, bit INT0 ustawia sie (na 1) czyli wg mnie powinno byc przeciez ok! Po wpisaniu tego bit INT0 jest 0 i wtedy zadne przerwanie nie jest wywolywane. Nie wiem wiec o co chodzi. Ale dzieki za zainteresowanie! A z tym PINC to w sumie nie wiem, poniewaz jak wpisuje PORTC=0xff to pozniej, dalej w programie chce sprawdzac...
Witam, mam problem z ustawieniem dłuższych przerwań ...np co 1 albo 2 sec. Gdy wybieram licznik pierwszy (16bitów, pojemność 65535) to jesli zegar zewnetrzny ma 12MHz to bede miał przerwania mniej wiecej co 65mS (ustwiająć rejestry TH0 i TL0 na wartosci zerowe) i chyba nic wiecej tu nie wycisne Nie pomogło nawet zmniejszenie czestotliwosci zegara taktujacego...
jak w temacie przerwana praca silnika podczas jazdy zakończona głośnym stuknieciem.samochód potem nie chciał odpalić i tylko dymił.stało sie to pare godzin temu wiec moze ktoś coś doradzi co to moze być i co z tym robic??
a ta się to jakoś ustawić rejestrami żeby zmieniało ?? Kopiowałem gotowe przykłady ale niestety mam w domu wiec nie wkleje kodu ale to wygląda mniej więcej tak: volatile unsigned char EKRAN TIMSK = _BV(TOIE1); // włącz obsługę przerwań T/C1 TCNT1 = 0xFF00; // wartość początkowa T/C1 TCCR1A = 0x00; // włącz tryb czasomierza T/C1 //TCCR1B = _BV(CS10)|_BV(CS12);...
W takim razie sprawdz czy rejestry sa takie same, Czasami niektore bity wedruja pomiedzy rejestrami w zaleznosci od procka. if(overflow_ADC>=overflow_ADC_max) przy wlaczonych przerwaniach moze prowadzic do bledow - zastanow sie co sie stanie jesli przerwanie wystapi pomiedzy porownaniem jednego a drugiego bajtu zmiennych. Nic dobrego. A problem atomowosci...
Impulsator zwykle ma wyjscie w kodzie Greya, wiec masz tam raczej GND, A i B. A i B musisz zdekodowac i z tego masz kierunek. Poniewaz impulsator wystawia zapewne tylko "0" wiec musisz linie A i B podciagnac przez rezystor do Vcc. Kolejna rzecz - jesli to impulsator mechaniczny to styki maja drgania tak jak przy kazdym mechanicznym przelaczniku - trzeba...
Wszyscy z jakiegoś powodu skupili się na stałych/zmiennych, a nikt nie zwrócił uwagi na niżej przedstawione "rodzynki" :D i.t.d. Tak, jeszcze wczoraj odkryłem, ze trochę źle wpisuje jedynki do rejestrów. Poprawiłem to chyba na dobrze, ale cały czas mam pewien problem. Ograniczyłem sobie kod na razie na jedno przerwanie INTO. Zmieniłem tak obsługe przerwań...
Ostatnio mecze się z takim samym problemem. Podczas odczytu z DS przerwanie właziło i rozwalało cala transmisje,czemu nie wyłączysz przerwania na czas pomiaru? Z drugiej strony jak wylaczysz -bedzie krotkie migniecie wyswietlacza,aby temu zapobiec trzeba inteligentnie manipulowac zatrzaskiem... Nie podałeś schematu ,ale domyślam się ze nie jest możliwe...
Witam, jestem tu nowy hehe i w tym temacie jestem zielony czytalem o zerowaniu dysku i od bad sectorach itd ;] moj dysk segate 250gb w ogole nie dal sie sformatowac nic nie pomgalo wiec wczoraj rano wlaczylem mhdd i zaczelem zerowanie dzisiaj rano budze sie o 6 00 patrze 22.3% poszedlem dalej spac budze sie o 9 i dalej 22.3% i caly czas zaczymal sie...
Wiec wyjaśnię dokładniej. Np wysyłam do pamięci eeprom 10 bajtów. I2c pracuje bez obsługi ich przerwań, porostu oczekuje na flagi gotowości. Czy jeśli np. po wysłaniu np. 5 bajtu zgłoszone zostanie np przerwanie licznik t1 które, będzie dłuższe niż oczekiwanie na flagę I2C. spowoduje wysypanie się transmisji?. Dodam ze obsługa I2C jest dokładnie taka...
Zamiast przerabiać Twój, podam taki przykład - diodę dałem na RC0, by uniknąć przełączania banków w przypadku portu D. LIST P=16F877A #INCLUDE "P16F877A.INC" __CONFIG _CP_OFF &_WDT_OFF &_BODEN_ON &_PWRTE_ON &_XT_OSC &_WRT_OFF &_LVP_OFF &_DEBUG_OFF &_CPD_OFF org0 goto MAIN org4 ;rozpoznawanie zrodla przerwanie jest zbedne, mozliwe jest tylko...
w PIOB przerwanie jest odnotowane (zapala sie bit w PIOB ISR), wiec problem lezy chyba w tym ze AIC nie odnotowywuje przerwania od PIOB, zamienilem linijki i sposob wyzwalania - bez zmian :(
Czy udalo sie komus uruchomic przerwanie zewnetrzne na tym procesorze? Walcze z tym juz jakis czas, znalazlem ze nie tylko ja mam z tym problem: tutaj niby rozwiazanie: ale tak na prawde jest to komenda w komende to co mozna znalezc w przykladowym kodzie od nxp, ktory nie dziala... void EINT0_IRQHandler (void) { LPC_SC->EXTINT = EINT0;...
Soft chyba nic nie da rozkręciłem telefon i jest przerwana tasma. Wiec pewnie to jej wina.
Nie kumam tego wiec w końcu co ile czasu następuje przerwanie? Dodano po 2 oki działa mam jeszcze inny problem mam zegar rtc seeedstudio.com podłączony przez i2c dodatkowo do arduino podłączony jest jeszcze tft 8-bit i toutchscreen. + ten kod internal IRQ. Zegar RTC nie chodzi równomiernie. w stosunku do zegara na kompie. W nocy przy wyłączonym arduino...
To zwiększ do 16Mhz a bedziesz mial do dyspozycjie 3200 taktów na przerwanie o ile sie nie myle a to masa rozkazów. Dodano po 5 Wszystko jasne sprawdz czy nie masz przebiegu na innej nóżce. I skasuj obsługe przerwania oraz zezwalanie na przerwanie bo z jedejstrony ty chcesz sprzetowo generować a z drugiej strony programowo wiec zdecyduj sie. Sygnał...
Z reguly jest tak ze w celu odpalenia przerwania nalezy go wlaczyc w rejestrach od danego peryferium oraz w NVIC. Tak wiec w przypadku np Timera4 chac uzyskac przerwanie od przepelnienia ustawiamy bit 0 w rejestrze TIMx DMA/Interrupt enable register (TIMx_DIER) oraz odpowiedni bit w rejestrze NVIC_ISER ( o ile sie nei myle to 30).
to dziwne bo bylem prawie na 100% pewny ze to jest poprawne rozwiazanie.. ale nie dziala..kiedy nie zmieniajac podlaczenia diody zmienilem na ten kod uzytkownika: _marek to zaczela dioda migac..a na tym moim nic sie nie dzieje:/ wiec ciezko tez stwierdzic ze procek jest zepsuty. wszystkie inne czynosci dziala bez problemu tylko z tym CTC jest taki problem...
wiec napisz odpowiednio podprogram jesli po zakonczeniu jego wykonania bedzie ustawiona flage ze przerwanie nastąpilo wykonaj je ponownie
Mad Bekon miałeś racje trzeba było dodać U2X do UCSRA:D serdeczne dzięki za pomoc w końcu widzę że ten USART działa. Teraz zabieram się za walke z tablicami i przerwaniem, wiec pewnie jeszcze bede miał kilka pytań i problemów:D
w opisie na stonie stronie 4programmers czytamy: 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 formę (np. funkcję przerwania, itp.). U mnie to wlasnie przerwanie tak wiec na poczatku mialem int status; probowalem rowniez...
Witam poniższy kod to moje pierwsze podejście zaprogramowania uC z obsługa przerwań, oczywiście zakończone niepowodzeniem. Nie mam już pomysłu wiec proszę o pomoc, zaznaczam że nigdy nie miałem styczności z programowaniem, nauczyłem się jedynie operacji na bitach i kilku innych prostych rzeczy ale na przerwaniach się zatrzymałem. Chciałem uzyskać jakieś...
Masz w nim błąd polegający na tym, że używasz Timer2, a włączasz przerwania od przepełnienia Timer 0: Zmieniłem na: Podobnie z wektorem przerwań - używasz wektora z Timer0: Zmieniłem na: W jakim celu ustawiasz: Kwarc 16MHz Prescaler 64 Timer2 8 bitów= 256, zaczynam liczyć od 6 aby otrzymać 250 kroków Częstotliwość przepełnienia= Częstotliwość Kwarcu...
Witam Borykam się z problemem zajęcia programu przez oczekiwanie na wynik przetwarzania temperatury w czujniki DS18b20. Przy jednym czujniki jeszcze nie jest to aż tak bardzo uciążliwe w zależności od układu. Jednak tym razem dokonuję pomiaru z 4 czujników wiec łączny czas na konwersję temperatury to ponad 3.5s! Program w tym czasie nie robi dosłownie...
Witam. mam mały kłopot z przerwaniami w bootloaderze na wymienionym procesorze (dataszit o ile mnie oczy nie mylą, mowi ze adresacja sekcji pamieci flash jest taka sama jak w zwyklej atmedze8) proc ustawiony na wielkosc sekcji boot na 1024 słowa, po resecie wskakuje do bootloadera. program skompilowany pod 0xC00 czyli w makefile de facto adres .text...
Chodzi o to że protokół dmx ma takie ramki jak na obrazku na razie za pomocą UART zrealizowałem ramkę danego kanału, które to dane wysyłam za pomocą nóżki Tx, ale brakuje mi jeszcze mi początkowej ramki "Mark After Break (MAB)" MAB następuje natychmiast po zakończeniu Break i ma postać impulsu HI o czasie minimum 8 mikrosekund (2 bitów). i ramki Mark...
Mam podobnie skonfigurowane przerwania!. [syntax=c] EXTI_InitStructure.EXTI_Line = EXTI_Line2; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE;[/syntax] Pin PC2 skonfigurowany [syntax=c] GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode...
Zalecane świece to ngk 2 elektrodowe ale nie wiem jaką mają fabryczne przerwę, z tego co już wiem to do lpg zalecane są świece 1elektrodowe które mam założone. Wiec zmniejszenie przerywy tez zrobiłem co radzono mi. Teraz zostaje obserwacja Dodano po 1 I stało się w górnych obrotach jest słaba i teraz nie wiem czy przez to że zmniejszyłem przerwę czy...
...Kazik85... Tadzik85 jeśli już... Ad1 dywagacją była szybkość realizacji która jasno określiłeś jako równą operacji &=. Miej odwagę wziąć odpowiedzialność za własne słowa. podczas bit-bandu wszelkie operacje zapisu są blokowane (instrukcja STR). i nie wpłynie na pozostałe bity ich kasowanie lub nie. Sam zaznaczyłeś ze kasowanie odbywa się poprzez...
Niekoniecznie trzeba. Jeśli to stoper, to ma np. rozdzielczość 10 ms? Góra 1 ms, wystarczy wiec, aby przerwanie timera w którym robimy debouncing było odpowiednio częściej. Nie zmienia to oczywiście faktu, że każdy problem można rozwiązać na wiele sposobów...