Witam. Borykam się z problemem przerwania INT1 w procesorze Atmega88p. Otóż przerwanie raz działa poprawnie , wykrywa odpowiednie zbocze , a innym razem załącza się praktycznie losowo . Napisałem specjalnie prosty programik aby zobrazować problem . Program jest pisany w bascomie jednak ze sporą...
Dopiero co kupiłem Atmega8-16PU. Chciałem napisać najprostszy program z obsługą przerwania na przycisk, na początek. Naciśnij->włacz LED. Naciśnij-> zgaś LED. Ale... dioda miga z częstotliwością ~1Hz już od startu programu. Naciśnięcie przycisku powoduje chwilowe zgaśnięcie lub zapalenie diody....
Witam, mam do Was zapytanie, otoż do portu P3 mikrokontrolera 89s52 chciałbym podłączyć linie sterujące wyświetlaczem siedmiosegmentowym i na linii INT0 byłby jakiś sygnał i teraz moje pytanie, czy jak podłacze do P3.2 (INT0) sygnał wyświetlacza i sygnał z ukladu generującego przerwanie (zbocze opadające...
Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka...
Witam, Program ma na celu zmierzyć amplitude impulsu PWM, wypełnienie i częstotliwość. O ile z pomiarem wypełnienia i częstotliwośći nie mam problemu, to pomiar amplitudy nie do końca działa. Szczegóły: PWM 1 kHz. 5 < D < 95 % Na zboczu narastającym sygnału PWM uruchamiany jest TIM3...
Witajcie!! Mam taki problem: ponizej załączam mój plik źródłowy main.c , programik jest prosty, zawiera dwa przerwania jedno od timera 0 (przerwanie na narastajace zbocze CAP0.0 pin P0.2) drugie przerwanie to przerwanie zewnetrzne od przycisku (przerwanie na narastajace zbocze). Do pinu P0.2 dołączam...
Mam problem z uzyskaniem oczekiwanego działania przerwań INT0 i INT1. Procesor to ATMEGA 16 z zewnętrznym taktowaniem 16MHz. PD2, PD3 są skonfigurowane jako wejścia z podciągnięciem do 1. W obu przerwaniach jedyną czynnością jest inkrementowanie zmiennych zdefiniowanych jako volatile uint32_t. ISR(INT0_vect) { N_T++; } ISR(I...
Sprawa ma sie tak, ze chce pobrac kilka kodow z TSOP1736, podlaczonego do RB0 i zapisac je w EEPROMIE procka. Procedura poboru kodu RC5 z transoptora jest nastepujaca: void IR_init() { DelayMs(100); TRISB = 0x11111111; // RBx jako input INTEDG = 0; // option 6 przerwanie...
Nie neguję rozwiązania przerwanie-w-przerwaniu, w niektórych sytuacjach jest to rozwiązanie bardzo eleganckie i efektywne, tylko należy pamiętać aby dobrze wyłączać przerwania. Nie popieram natomiast pętli oczekującej w przerwaniu, kod warto przeprojektować względem tych pętli pozbywając się ich - czy...
Cześć. Proszę Was pomóżcie bo coś mieszam sobie i nie wiem co jest grane. Bawię się przerwaniami EXTI w uC STM32. W założeniu zbocze opadające na liniach PC0, PC1, PC2 i PC3 oraz PB5 ma wywołać przerwanie i PC0 i PC1 gasi/zapala LED1 podłączoną do PB1 natomiast PC2 i PC3 gasi zapala LED2 podłączoną...
Witam szanownych użytkowników, Programuję mikrokontroler ATmega32, mam problem z przerwaniem INT2, które po starcie urządzenia się odpala mimo, że nie puszczam sygnału wyzwalającego przerwanie. Ponieważ projekt jest za duży, żeby zamieścić go w całości zamieszczam tylko najważniejsze fragmenty,...
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ść...
Witam Kiedyś pisałem że nieda sie uruchomić przerwań rs w bascomie. Ostatnio usiadłem nad tym i jakoś mi sie udało ale nie ze standardowymi komendami tylko zoperacjami na rejestrach - coś jak asm. Ale spoko wszystko jest jasne i proste. Doszedłem do tego że jeżeli w programie niema komendy print w jakiej...
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...
Witam. Procek tak się zachowuje bo nie określiłeś czy przerwanie ma być generowane przez zbocze opadające, rosnące czy przez stan niski na końcówce INT. Domyślnie wyzwalane jest stanem niskim więc wykonuje się raz za razem. Instrukcja Config INTx. Przeznaczenie: Konfiguruje sposób wyzwalania...
Witam wszystkich kolegów Mam prawdopodobnie dość trywialny problem. Chce zliczać impulsy na jednym z pinów uC (częstotliwość 100-200kHz) w czasie kiedy na innym pinie uC jest stan wysoki. Mój pomysł wygląda tak: Ustawiam timer w 16 bitowy tryb prosty Przerwanie wyzwalane zboczem narastającym...
Stworzyłem kod który powinien wyświetlać czas trwania stanu niskiego na lcd. Na wyświetlaczu pojawia się 0.0 ms oraz na przemian 1 lub 2 takt(czyli ile zliczył timer). Proszę o naprowadzenie na właściwy kierunek osiągnięcia zamierzonego celu. kod: [syntax=basic4gl]$regfile = "M8def.dat" $crystal...
mam ustawione przerwanie zewnętrzne ustawione na wyzwalanie zboczem opadającym i narastającym w funkcji obsługi przewania zapisuję sobie do bufora: void EXTI0_IRQHandler(void) { //Check if EXTI_Line0 is asserted if(EXTI_GetITStatus(EXTI_Line0... != RESET) { ...
Wysyłam dane z ADC do ram transferem DMA i chciałbym podpytać czy aby przerwać aktualnie wykonywany transfer wystarczy wyzerować bit EN w rejestrze CCR? Pytam się bo mam taką apkę: [syntax=c] while(1) { switch... 0: // break; case 1: //uruchom konwersję (bez DMA) if(M_TRG) { ADC1-...
Podczas pisania programu dla mikrokontrolera AT90S2313 napotkalem na dosc osobliwy problem z przerwaniami zewnetrznymi. Mianowicie przerwanie wywoluje odbiornik podczerwieni (przez przerzutnik Schmitta) sterowany oczywiscie dioda IRED. Dzialanie tego systemu mozna porownac do bariery podczernieni. Problem...
Witam, W chwili obecnej pracuje nad termometrem, sterowanym na pilota. Pilot wysyła dane w kodzie RC5. Wysłane dane trafiają na odbiornik podczerwieni TSOP31236 (36kHz). W momencie gdy dane nie docierają na wyjściu odbiornika jest stan wysoki, gdy odbierze jakiś sygnał na wyjściu jest poziom niski....
Wymyśliłem sobie, że będę obsługiwał klawiaturę matrycową 4x4 na płytce ZL3AVR w przerwaniu generowanym podczas naciśnięcia któregokolwiek klawisza (wyprowadzenie JP13 połączone mam z INT0), siedzę nad tym bardzo długo i nie mogę doszukać się swego myślowego błędu. Pierwszy wiersz (kolumna) działa...
Bawię się ostatnio wspomnianym w tytule mikrokontrolerem i natknąłem się na problem z zewnętrznymi przerwaniami, którego nie potrafię obejść. Zaczynając od tego co działa: układ jest sprawny na pewno, jest podłączony, cały czas hula dioda sterowana przez timer z ustawionym przerwaniem na przepełnienie;...
chodziło o to że na wejście INT0 podany był zakodowany sygnał i chodziło tylko o to aby jego pierwszy bit wywołał przerwanie. dziękuje Jeśli potrzebujesz przerwania tylko na pierwszym zboczu ramki i wszystkie pozotałe bity tej ramki odczytujesz właśnie w tym jednym przerwaniu to problem jest...
Witam, Używam przerwania zewnętrznego na INT0 w konfiguracji na zbocze opadające. Funkcja przerwania jest definiowana w ten sposób: [syntax=c] ISR( INT0_vect, ISR_BLOCK) { //ciało przerwania } [/syntax] Wszystko działa bardzo dobrze, oprócz jednej rzeczy. W przerwaniu wykonuje się kod,...
Witam, mam problem z uruchomieniem przerwań. Procesor działa poprawnie, nie zawiesza się ale nie chcą ruszyć przerwania. Proszę o wskazówki. Programy piszę w Keilu [syntax=c] #include<AT91SAM7S... main_init(void); void...
Szukałem już chyba wszędzie i próbowałem wszystkiego, więc ostatecznie zmuszony jestem założyć tutaj temat. Uczę się programować stmy na "rejestrach". Utknąłem przy próbie włączenia przerwań zewnętrznych na pinie PA1 (pull-up, zbocze opadające). Jeżeli chodzi o sposób testowania to sprawdzam w STMStudio...
Poczytaj sobie od deski do deski to: W atmelowskich dataszitach nie doczytasz wszystkiego o "standardzie" ;) W rozdziale 2 Programmers guide, w podrozdziale Interrupts, na str. 2-12 znajdziesz małym druczkiem: In addition, for externall interrupts, pins INT0 and INT1 (P3.2 and P3.3) must be set...
Bardzo bym prosil o podpowiedz co nie gra w tym kodzie, bo juz walcze z tym 3 dzien: #define INT_TWI 1<<19 #define PRZERWANIE_LEVEL 4 #define TIMER0_INTERRUPT_LEVEL 0 __irq void timer0_c_irq_handler(void) //przerwanie FIQ { AT91C_BASE_TC0->TC_SR; ...
Mam program, w którym uruchamiam przerwanie z pinu ICP. I wszystko działa jak należy, program jest przetestowany. Postanowiłem połączyć go z programem do obsługi karty pamięci pobranym z //**************************************... **** MAIN routine FOR Interfacing microSD/SDHC...
Witam, Od razu pisze że nie jestem mistrzem w pisaniu programów, a z stm zaczynam swoją przygodę. Chce wyłączyć przerwanie od EXTI na przykład po obsłudze tego przerwania: Do wyłączenie/wyłączenia przerwania np. od Timera jest TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE); //TIM IT enable Generalnie...
Użytkuję płytkę STM32F429-Discovery, środowisko budowałem w oparciu o poradnik od Freddiego, makefile oraz skrypt linkera także od Freddiego, tak słowem wstępu. Problem który napotykam jest związany z powrotem z przerwania EXTI0. Jeżeli przerwanie zostanie wyzwolone, w tym przypadku pojawi się zbocze...
"Kugluje" tymi zboczami, a flagę przerwania kasuje przez nie nie po "kuglowaniu". Gdzie sens, gdzie logika? A co za różnica w którym miejscu procedury obsługi przerwania skasuje tą flagę? Tak w ogole jest ona kasowana przy wejściu do procedury obsługi przerwania. Napisałem ją tak z przyzwyczajenia......
Cześć. Chcę skonfigurować linie PB8 i PB9 jako źródło przerwań żeby reagowało na zbocza narastające i opadające [syntax=c] RCC->APB2ENR |= RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN; gpio_pin_cfg(GPI... 8, gpio_mode_input_floating); gpio_pin_cf... 9, gpio_mode_input_floating); AFIO->EXT...
Może faktycznie szum nałożony na zbocze jest tu przyczyną wielokrotnego wywołania przerwania przy jednym impulsie. W poniedziałek przyjrzę się dokładniej temu zboczu i spróbuje coś zaradzić. Ale z drugiej strony gdyby tak było, to dlaczego impulsy zliczane są prawidłowo wtedy gdy program okrojony jest...
Witam. Mam problem z panelem dotykowym, a dokładniej z sygnałem TIRQ. Wyświetlacz 2,8 '' ze sterownikiem ILI9325 Panel dotykowy ze sterownikiem XPT2046 Dotyk podpięty do SPI na porcie C. Połączenie 1-1 bez pull-up'ow, rezystorów w linii i kondensatorów. pin 2 na porcie C dostaje sygnał o dotknięciu...
Oczywiście. ICP może być wyzwalany zboczem. Wybierasz zbocze opadające/narastające i masz przechwycony moment zmiany stanu. Ponieważ zbocza muszą występować naprzemiennie, więc łatwo policzyć z tego wypełnienie i okres. Przerwanie OVF w tym przypadku służy np. do detekcji zaniku sygnału PWM.
- Podobne rozwiązanie jest często stosowane. Mianowicie linie, które mają być podpięte do jednego wejścia dołącza się na wejścia bramki AND a jej wyjście na wejście przerwania. Dodatkowo te linie dołącza się na linie portów skonfigurowanych jako wejścia. To przypadek gdy interesuje nas zmiana z 1 na...
ATMega8 nie posiada przerwań PCINTx (SIG_PIN_CHANGE X ) które teoretycznie można by wykorzystać. Lepiej połączyć linię RXD z wyprowadzeniem INT0 (lub INT1) i tak skonfigurować przerwania by wykrywało zbocze opadające - bit startu. Jak wykryje zbocze to przerwanie trzeba zablokować, przekazać działanie...
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... ...
Witam Niedawno zaczałem zabawe z uC i programowanie i docelowo, a może i nie ;) chciałbym zbudowac wydaje mi się prosty układ do regulacji opadania i podnoszenia ramienia. Mam dwa przyciski góra, dół. jeden potencjometr na ramieniu drugi do ustawiania zadanej wysokości na jaką ramie się ma opuścić....
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:...
Witam. Mam problem z przerwaniami. Chcę przerwaniem INT0 uruchomić timer0 a przerwaniem INT1 go zatrzymać. Czy jest taka możliwość? 2 czujniki podpięte pod INT0/1, za pomocą których chcę zmierzyć czas przejazdu. Jeden czujnik ma wystartować zegar (bardzo dokładny przepełnienie timer0 co...
Niestety podmiana wektorów nie pomogła, przy kompilacji nie pokazują się żadne błędy, a mimo to przerwanie nie działa. W sumie istnieje możliwość, że mój program jest źle napisany. Wrzucam poniżej: [syntax=c]#include "stm32f411xe.h" void UART_send_string (char* s); int main ( void ) { RCC...
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...
Jak są ustawione przerwania ? na zbocze? Jeśli na konkretne zbocze to po co sprawdzać fizyczny stan pinu. Jeśli sądzicie że te przesunięcie jest spowodowane czasem wykonywania przerwań to program jest źle napisany. Sądzę że problem leży po stronie błędnie napisanej aplikacji i założeń.
Ja mam tak i działa [syntax=c] int ADC_On() { RCC_APB2PeriphClockCmd(R... ENABLE); RCC_AHB1PeriphClockCmd(RCC_AH... ENABLE); GPIO_InitTypeDef GPIO_S; GPIO_StructInit(&GPIO_S); ... = GPIO_Pin_0; GPIO_S.GPIO_Mode = GPIO_Mode_AN; GPIO_S.GPIO_PuPd...
Witam Potrzebuję programik na attiny2313 napisany w bascom. Mam ten procek , oscyloskop i trochę ogarniam bascoma a potrzebuje to dopasować do zepsutego urzadzenia. Podane czasy są orientacyjne , wyliczone na kartce. Te czasy będę musiał dopasować , stąd potrzebuję to w bascom , opóźnienia związane...
A miejsce gdzie używasz produkcja_Wh i zuzycie_Wh ? To nie jest problem z samym przerwaniem. Musisz to przedebugować kiedy ci się to konkretnie resetuje. Na twoim miejscu porównałbym wynikowy asm jednej wersji z drugą i zaczął szukać w miejscu gdzie są różnice. Program resetuje się gdy jeszcze nie...
Witam Mam mikrokontroler LPC2148 na płycie zl9arm. Ustawiam Przerwanie zew. EINT0 na P0.2 reagujące na zbocze i teraz nie zależnie czy opadające czy narastające reaguje tylko na opadające czyli zwarcie do masy (nawet jak jest ustawione na narastające), i obojętnie czy jest ustawione na narastające czy...
Witam, Mam takie pytanie. Jaka jest różnica w obsłudze przerwania zboczem narastającym a stanem wysokim. Stan wysoki to wiadomo, że napięcie dojdzie do pewnego poziomu powiedzmy 5V i następuje przerwanie. Jak to jest ze zboczem narastającym. Załóżmy, że mamy stan niski i następnie napięcie zaczyna rosnąć....
Jeżeli chcesz najmniejszym kosztem to proponuje mikrokontroler. Detekcja zbocza w przerwaniu zewnętrznym INT, odliczanie czasu w przerwaniu TIMER'A.
Mam problem, bo układ nie sczytuje mi przerwań z lini INT1, a z INT0 doskonale, po restarcie jak chociaż raz nacisne klaw. od INT1 procek nie zlicza już nawet na INT0, a gdy nie ruszam INT1 to liczy dobrze. Załączam kod jak ktoś wie gdzie jest błąd proszę o pomoc. Na wszelkie pytania odpowiem jutro...
Witam Chciałbym na początku zaznaczyć że jestem nowicjuszem w zabawach z programowaniem :) Napisałem program w języku C# na STM32F429I-DISCO pod czujnik HC-SR04. Ogólnie muszę zmierzyć czas od podania na wyjście stanu wysokiego do stanu wysokiego na wejściu. Zrobiłem to jako InterruptPort i obsługę...
Tak - użyj przerwania timera zaprogramowanego np na 100 Hz. Z przerwaniami od portów nie zadziała z powodu, który klarujemy tu co tydzień lub częściej.
To jest tak: Config Int0 = P3.2 ' Ustawienie przerwania zewnętrznego na pin P3.2 Reset Tcon.0 ' Przerwanie wywoła stan niski Set Tcon.0 ' Przerwanie wywola opadające zbocze (z H do L) To samo z Int1 To tyle pozdrowienia.
I coś te priorytety to nie bardzo działają w tych picach. Ustawiam priorytet przerwania z timera 0 na niski a i tak przychodzi na na wysokie. W symulatorze to samo. Nie mam pojęcia czemu się tak dzieje. Poniżej wrzucam kod konfiguracji i obsługi przerwań. konfiguracja bcf INTCON2,TMR0IP ;niski...
Jesli w ciągu sekundy naliczyłeś zbocze 8 razy, to twoja częstotliwość to 4Hz. Czyli w ciągu sekundy "świeci" 4 razy... Więc jeśli "co systick" generujesz zbocze, to systick tłucze z częstotliwością 8Hz. Faktycznie - SysTick_Config "odkonfigurowywał" mi źródło zegara. I to kolejny dowód na...
Witam, ostatnio zająłem się pisaniem stosunkowo prostej aplikacji na AVR ATmega8, potrzebnej mi na studia. Na celu miałem też trochę lepsze poznanie AVR. W czym problem : W moim programie chciałem przetestować typowe zachowanie uC, napisałem kilka prostych funkcji, włączyłem przerwania, zrobiłem pętle...
Znalazłem skromne zapiski... Skromne to mało powiedziane... (; To ma być coś na zasadzie co się robi na rejestrze przesuwnym, taki debouncer (przerzutnik->SIPO->detektor)?? Wersji programowej może wyglądać tak: -próbkować sygnał z pinu do zmiennej i przesunąć o bit w lewo. -Powtórzyć do zapełnienia...
Problem z zliczaniem impulsów rozwiązany ale mam nowy problem z wyświetlaniem wyniku zdjęcia w załączniku. Pierwsza rzecz co rzuca sie w oczy to brak konfiguracji LCD; Niby to pracuje mając config ustawiony w 'Options/Compiler/LCD, ale przeniesiesz listing na inny computer i tu już nie musi...
Generalnie, W Bascomie obsługa RC5 pozostawia wiele do życzenia dlatego też Mark w najnowszej wersji ma wprowadzić obsługę RC5 na przerwaniu ICP ("prawdziwie" w tle) według poniższego kodu, który udostępniam i polecam: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer1...
Stworzyłem kod konfiguracji zewnętrznego przerwania EXTI0 na PB0, reagującego na zbocze opadające. Niestety nie chce on działać. Próbuję już to uruchomić od wczoraj, niestety bez skutku. Czy mógłby mi ktoś wskazać w którym miejscu popełniam błąd. Program ma działać w taki sposób, że po wykryciu zbocza...
Koledzy, uczę się na płytce od KAMAMI ZL31 z prockiem STM32F103RB. Idę zgodnie z książka jednak nie mogę uzyskać innego przerwania jak od portu A. Program kompiluje się bez błędów. PB1 PB2 wyjścia PP Jeżeli debaguje na procesorze to nie jest już OK. W podglądzie przerwań konfiguruje się...
Witam. Chciałbym zmierzyć czas pomiędzy dwoma impulsami (stanami wysokimi) występującymi na pinie ICP1. Używam do tego celu timera1 oraz kodu znalezionego w internecie, zmodyfikowanego na własne potrzeby: [syntax=c]#include <avr/io.h> #include <stdio.h> #include <avr/interrupt.h>...
Pin P2.0 generuje zbocza, a P3.3 ma je wychwytywać i generować przerwanie. Oczywiście P3.3 skonfigurowany jako CT16B0_CAP0 oraz ustawiony LPC_IOCON->CT16B0_CAP0_LOC dla P3.3. Pętla główna się kreci bo widzę, że zmienna i jest inkrementowana natomiast zmienne licznik, licznik2, przerwanie zawsze...
Od razu mówię że kasowanie bitu nr 6 w rejestrze GICR nic nie daje, bo jedynie ukrywa przerwanie przed procesorem do czasu włączenia przerwania. Bit ten jedynie ukrywa przed procesorem ustawienie flagi. Flaga jednak i tak zostanie ustawiona przy zmianie stanu pinu PortD.2, nawet jeżeli wyłączy się przerwanie....
Na początku tak konfiguruje rejestry MOV IE, #10001011B ;PRZERWANIA: TIMER T0, INT0 SETB IT0 ;INT0 REAGUJE NA ZBOCZE SETB TR1 SETB PT0 Przerwania od T0 i INT0 zajmują kilka cykli. Krytyczne jest natomiast przerwanie od T1 gdzie multipleksuje wyświetlacz, sprawdzam klawiature i co jakiś...
Atmega jest taktowana zewnętrznym kwarcem 12MHz, żeby jeden tick timera trwał ~1us. 1. Czy timer 8-bitowy przyjmujący zewnętrzne impulsy, może je przyjmować w takich samych odstępach czasowych jak 16-bitowy? Niestety na etapie projektowania nie zauważyłem, że żeby użyć 16-bit timera do przyjmowania...
Witam! Ze względu na niedokładność funkcji waitms(); postanowiłem uruchomić licznik TC1 w ATTINY2313. Ma to być obsługa pilota (prawdopodobnie JVC). Więcej danych: - ATTINY pracuje z częstotliwością 1MHz (wewnętrzny oscylator) - TC0 jest już zajęty innymi działaniami (w czasie obsługi pilota TC0...
Witam, uruchomiłem przerwania jednak jest jeden defekt i to poważny. Pętla główna działa ok i przerwanie od INT1 wywołuje się poprawnie, ale tylko jeden raz. To znaczy wchodzi do obsługi przerwania i powraca do pętli głównej, ale przy kolejnym żądaniu przerwania już go nie wykonuje. Zauważyłem, że...
Witam, prosiłbym bym o pomoc, żeby ktoś wytłumaczył, albo podał przykład jak skonfigurować przerwania zewnętrzne w tym mikrokontrolerze bo walczę z tym i nic mi nie wychodzi i zaczynam podejrzewać, że to procek jest zepsuty, albo tej sztuki jeszcze nie opanowałem :D na początku pisałem własne kody,...
Witam, chciałbym mieć przerwanie zewnętrzne na PE0 a cały czas cokolwike bym nie zrobił, przełączył, zmienił itd jest na PA0, moglby ktos rzucic okiem na kod i powiedziec co jest zle... wydaje mi sie ze w tym syscfg jest cos zrabane, albo nie chce sie ustawic etc... swoje wnioski opieram na tym ze...
mnie najbardziej interesuje to czy moc obliczeniowa przez to spada jesteś pewien? Procesor nie poświęca czasu na to, czy przerwanie zaszło, więc tu nie ma żadnego narzutu. W chwili zgłoszenia przerwania, procesor przerywa swoją normalną pracę i zaczyna wykonywać program obsługi przerwania. Ten program...
Więc - na przykłądzie przerwania zewnętrznego: 1. Musisz zdefiniować w wektorze przerwań skok do obsługi tego przerwania którego chcesz używać - np. przerwanie zewnętrzne INT0 .cseg .org $0000 rjmp start ;Reset handler .org INT0addr rjmp ext_int0 ;External interrupt handler 2....
Przerwania w '51 są proste jak budowa cepa, poza tym przerwanie nie oznacza zajęcia timer'a. możesz również wykorzystać jedno z dwóch przerwań sprzętowych (zdaje się opadające zbocze na pinie 6 {int0/ P3.2 lub na pinie 7 {int1/ P3.3}). Do obsługi przerwania potrzebujesz koniecznie: -ustawić bit...
Zmienna pomocnicza zmodyfikowana w programie obsługi przerwania powinna być widoczna w całym programie. Nie bawiłem się nigdy Tiny 13, więc moje spostrzeżenia mogą być mylne lecz uważam, że kolega zapomniał o istnieniu przerwań zewnętrznych INT. Gdybym pisał ten program to podałbym impulsy wejściowe...
witam, chcialbym zrealizowac uklad z uC (na ATmega8) i podlaczyc do niego 8 wylacznikow krancowych, i 2 wylaczniki do obslugi urzadzenia. Warunkiem jest aby wszystkie 10 wejsc generowalo przerwania. Aby zaoszczedzic to te 10 wejsc powinno generowac jedno przerwanie. gdy wystapi przerwanie uC sprawdzi...
Witam wszystkich!!! Mam programik na którym próbuje zrozumieć przerwania zewnętrzne i nie moge pojąć :D . #include <REG420.H> #include <stdio.h> #define OKRES (-46080) unsigned char volatile tim = 0; unsigned char volatile licznik0 = 0,...
Witam Napisałem poniższy prosty program który po 6 zmianach stanu na nóżce int0 (PB2) wykonuje przerwanie. include "tn15def.inc" .def acc = r16 ;nadanie rejestrowi r16 nazwy symbolicznej .def licz1 = r20 .def licz2 = r21 .def licz3 = r22 ...
Mam problem z przerwaniem od Timera0. Chodzi o to by Timer0 zgłaszał przerwanie w trybie pracy z porównaniem. Jest to tryb Clear Timer on Compare Match (CTC). Licznik zlicza zdarzenia zewnętrzne i w momencie zliczenia do zadanej wartości ma zgłosić przerwanie i zacząc liczyć od zera. Aby to osiągnąć...
mam sobie oto taki kod DM EQU P3.1 PP EQU P3.3 PB EQU P3.0 ZB EQU 30H ;zmienne odpowiedzialne za częstotliwość migania diodek ZP EQU 31H ZD EQU 32H ORG 000H ; PO RESECIE JMP MAIN ORG 003H JMP INT ORG 00BH JMP ODT0 ORG 01BH JMP ODT1 MAIN: MOV ZD,...
Witam, Piszę obsługę enkodera optycznego w przerwaniu jednak natrafiłem na dziwny problem! Otóż kiedy program uruchamiam w "debugerze" to wszystko śmiga jak należy, gdy wrzucam program na procka to wywoła się kilka-kilkanaście razy przerwanie nagle koniec, nie przyjmuje tego przerwania, wiem bo wynik...
Witam ponownie, znalazłem wcześniej na elektrodzie program zegarka na LCD 2x16, który niestety nie działał prawidłowo (migały niezrozumiałe znaki na lcd). W celach edukacyjnych postanowiłem przerobić procedury obsługi wyświetlacza, co dało efekt końcowy jaki teraz mam czyli działający program zegara...
Witam! Mam taki dość nietypowy problem. Kontroler ma reagować na jedno z trzech przerwań: TIMERa 0 i dwóch zewnętrznych (czujki ruchu). Te przerwania zewnętrzne zliczają liczbę reakcji czujek, natomiast TIMER 0 ma odmierzać czas i dzięki niemu co kilka sekund mają być wyświetlane statystyki. Bez TIMERa...
Wielkie dzięki za odpowiedź. Jeżeli chodzi o konfiguracje rejestru TCCR0 to wzorowałem się na pracy dyplomowej w której był taki zapis i działał poprawnie. Wcześniej nie używałem tego rodzaju zapisu. TCCR0=(1<<WGM01)|(1<... Rozumiem, że...
Witam serdecznie. Szukałem już chyba wszędzie, próbowałem kilkunastu innych programów i problem ciągle zostaje nie rozwiązany. Otóż piszę program do sterownika pieca. Posiada on 3 czujniki DS18B20, 3 przekaźniki i 1 triak do sterowania pompki kolektorów. Wszystko działa bez zarzutu. Problem pojawia...
Po pierwsze to wyzwalaj przerwanie zboczem a nie poziomem bo będziesz miał masakrę Wink - zastanów się dlaczego. no nie mogę wymyślić.Chodzi o to że negacja musi nastąpić NATYCHMIAST po wykryciu przerwania.Dlatego Drgania zestyków chciałem wyeliminować na elementach RC a nie programowo.Dzięki...
Siemanko. Uczę się programowania mikroprocków w języku C. Aktualnie jestem na lekcji przerwań i pojawił się dziwny błąd, którego nie potrafię rozgryźć, może bardziej zaawansowani koledzy potrafili by powiedzieć co źle robię bo nie mam już pomysłów. Otóż cały program ma działać tak że diodka jest...
Witam, pisze program w assemblerze który pozwarciu INT0, będzie wykonywać określoną czynność(łączyć się z innym urządzeniem), Ale narazie utknąłem w martwym punkcie, napisałem program który po zwarciu INT0 wywołuje przerwanie które zapala diodę podpiętą do lini PC0 5 razy i gasi(zapalenie uzyskuje poprzez...
Witam, zaczynam dopiero przygodę z Cortexami i utknąłem na konfiguracji kontrolera NVIC. Chciałem uzyskać reakcje procesora na przerwanie od GPIOC Pin0. Wydaje mi się, że wszystko jest OK, a jednak nie chcę działać, program po wystąpieniu przerwania nie wchodzi w funkcję jego obsługi. Poniżej zamieszczam...
Witam. Buduję system, w którym potrzebuję zrobić zewnętrzne wyzwalanie pomiaru przez ADC. W uC pracują 2 ADC, zapisem do buforów po 512 próbek zajmuje się DMA. Wszystko śmiga, ale jeśli wyzwalam kolejne bloki (po 512 próbek) w przerwaniu np od ADC (Compare), od komparatora albo np zwykłym przerwaniem...
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ę...
Na poczekaniu zrobiłem podobny projekt sterujący serwomechanizmami poprzez przycisk, wykorzystujący przerwanie zewnętrzne na zboczu narastającym. Wszystko działało bez zarzutu. Tutaj, po przyjrzeniu się raz jeszcze temu, co naskrobałem widzę, że owszem, program działa. Wchodzi w pętlę while(1) i liczy....
Witam mam takie szybkie 2 pytania ( Czy dobrze rozumiem że konfiguracja przerwania INT0 "The falling edge of INTn generates asynchronously an interrupt request." (nota strona 90) mówi nam o tym że działa normalnie jak np. w atmega8 tylko że jest możliwe jego wywołanie w momencie kiedy jest procek uśpiony....
Dzień Dobry Chciałem zapoznać się z konfiguracją przerwań zewnętrznych. I mam pewien problem. Wydaje mi się, że rejestry skonfigurowałem dobrze. Założenie jest takie, żeby wygenerować sygnał prostokątny na pinie następnie podać ten sygnał na pin który będzie odpowiedzialny za przerwanie zewnętrzne....
Hej, mam problem, z którym walczę od dłuższego czasu. Posiadam przetwornik A/C, z którego dane (słowa 16 bitowe) wypuszczane są w postaci szeregowej (bit za bitem). Próbuję zebrać te dane za pomocą przerwania od GPIO, które wyzwalane jest zegarem generowanym przez przetwornik (inna linia niż dane). I...
nadal nie znam odpowiedzi na pytanie, czy stosując przerwanie, można je jakoś resetować w trakcie wykonywania kodu. to znaczy czy po podaniu sygnału niskiego lub wysokiego na wejściu, zawsze musi nastąpić jego fizyczna zmiana, czy można jakby (kasować) programowo, aby został on ponownie wykryty i odpowiednio...
chyba zrobię tak: załaduję timer (mode 1 - 16bit) aby po 50000 cykli generował przerwanie. wtedy co 4 przerwanie mam 100ms dla kwarcu 24MHz. teraz w trakcie zaistnienia opadającego zbocza na którymś INT od impulsu prędkości zabezpieczam naliczone cykle zegarowe od ostatniego przerwania i startuję...
Mam pewien problem z obsługą przerwania zewnętrznego nr.0 w AT90S2313. Mikrokontroler nie chce do niego wejść pod wpływem sygnału zewnętrznego. Nie wiem co konfiguruję nie tak w rejestrach. Ponizej umieściłem kod asemblera. Z góry dzieki za pomoc. .device AT90S2313, English .cseg 0000h ...