Witam, prawdopodobnie błąd jest w inicjalizacji watchdog. Wykorzystujesz do tego dwie funkcje, init_WDT() oraz init_watch_dog(). Pierwsza init_WDT: ale już kolejna linijka [syntax=c]WDTCSR=_BV(WDIE);[/syntax] ... nadpisanie rejestru WDTCSR, w tym momencie ponieważ mieścisz się w czterech...
Czesc ! Mam taki maly problem . Napisalem program w ktorym urzywam przerwanie . Wydaje mi sie cos zle robie .W przerwaniu mianowicie mam do wyboru dwa wyjscia , i tu wlasnie jest problem . Gdy urzywam drugiego wyjscia Call sub , przerwanie tak jakby juz nie reagoowalo . $large Config Lcd = 16...
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, Przerabiam książkę STM32 Aplikacje i ćwiczenia w języku C Pana Marka Galewskiego. Dotarłem do ćwiczenia 12c, w którym do sterowania diodami mają być użyte TIM1 oraz TIM2. TIM1 może generować przerwanie ogólne oraz przerwanie z kanału Compare. Dzięki temu łatwo możemy sterować dwoma diodami. Natomiast...
Witam serdecznie, Jestem w trakcie tworzenia menu na wyświetlaczu alfanumerycznym działającym na bibliotece HD44780. Menu opiera się na przerwaniach EXTI, które generuję za pomocą joysticka 5 położeniowego. Przerwania konfiguruję w ten sposób: switch . W przypadku gdy przycisk zostaje zwolniony...
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....
Witam Napisałem kawałek kodu do obsługi przerwań IRQ Zasada miała być taka po wywołaniu przerwania (zwarcie PIO_PA2 do masy) miał zmienić się stan diody na PIO_PA27. Niestety program nie działa poprawnie (przerwanie nie jest wykonywane). Tytułem wstępu to tyle. Poniżej kod, który powinien realizować...
Witam. Muszę napisać funkcje obsługi klawiatury matrycowej. Niestety generuje mi się dodatkowe przerwanie podczas zmiany stanu wyprowadzeń pinów. Przerwania jest generowane gdy aktywuje ponownie przerwania. void klawmat1(void) { GPIO_EXTILineConfig(GPIO_PortSourceGPIOE... GPIO_PinSource0); ...
Cześć, mam napisać "prosty" program dla ATmegi2560. Po wciśnięciu przycisku na porcie A, ma on zapalić odpowiadającą mu diodę na porcie B. Dioda ma się świecić 1 sekundę a potem ma zgasnąć. Za podtrzymanie świecenia mają odpowiadać przerwania timera1, a program ma się zaczynać od ustawienia flagi przerwania...
Witam. Od dłuższego czasu próbuje napisać program do obsługi klawiatury 2x3 w przerwaniu. Sporo szukałem na ten temat i wszędzie wszyscy doradzali getkbd() no a mnie niestety to nie urządza :( program testuje na ZL3AVR ale zamieszczę schemacik a tutaj mój kod: $regfile "m32def.dat" $crystal...
Po małej dyskusji oraz przejrzeniu Cortex ™-M3 TechnicalReference Manual, Revision: r1p1, nasuwa się takie ciekawe pytanie. Wiadomo, że zewnętrzne przerwania od układów peryferyjnych są podłączane pod odpowiednie linie IRQ_n, w tym przypadku mamy numery od 0-239, czyli IRQ0-239. Natomiast poziom...
Edit: DMA nie działało bowłączałem DMA2 a nie DMA1. Napiszę jak dalej pójdzie :] Cześć, mam pewne problemy z I2C, bazowałem na zmodyfikowanym kodzie od ST (jak mnie pamięć nie myli) najpierw używałem samych przerwań na najwyższym priorytecie jak ST przykazało, niestety od czasu do czasu zdarzało...
Mam nastepujacy problem, probuje wywolac przerwanie zewnetrzne od przycisku ktore uruchomi mi licznik w celu eliminacji drgan stykow. Wszystko dziala dla przycisku podpietego do wyprowadzenia A0 ale dla przycisku podpietego do wyprowadzenia C13 juz nie dziala. Przy debagowaniu widze ze ciagle wchodzi...
Witam, Mam problem z realizacją przerwania z USART3 na STM32L152RBxx. W momencie wywołania przerwania debugger zatrzymuje się na funkcji default_handler(). Poniżej umieszczam kod: main: #include "stm32l1xx.h" #include "stm32l1xx_conf.h" #include <string.h> void GPIO_Conf(void); void...
Oto cały program, poprawiłem go według Waszych wskazówek jednak dalej nie wchodzi do obługi przerwania. Powiedzcie mi co w nim jest nie tak? Żeby przyśpieszyć analize opisze go po krótce. Przez włączeniem należy ustawić w stan wysoki Pind.3 wtedy program poprosi o tekst do wyświetlenia. Potem przechodzi...
no wykonuje ci się wszystko bardzo wolno - ponieważ w procedury obsługi przerwań pakujesz sobie czaso-żerne procedury w tym te najgorsze czyli opóźniające. popatrz ile np u mnie zajmuje kod przerwania od zegarka PCF // przerwanie INT1 generowane jest przez PCF8583 co 1 sekundę // ustawiana jest...
Poniższy program dla wersji ATMega32 usiłuję przerobić na wersję dla ATMega644p /która posiadam/. Program ma za pomocą przerwań realizować opóźnienia. Niestety robi się to wszystko skomplikowane ponieważ jak wiadomo szczególnie system przerwań i timerów jest dużo bardzie rozbudowany niż na niższych modelach...
witam mam zrobioną obsługę wyświetlacza led na przerwaniach i problem z odbieraniem znaków przez uart mianowicie uart "gubi" znaki podczas odbioru, jeżeli wyłączę przerwania przerwania problem znika, niestety wyświetlacz muszę mieć zrobiony na przerwaniach i nie wiem jak mam się z tym problemem uporać....
Witam, mam problem z wywołaniem funkcji w przerwaniu. Na chwilę obecną debugowanie odpada, gdyż mam mały problem z odpaleniem debugowania. Po wywołaniu przez procesor przerwania, albo się on wiesza albo niepoprawnie działa funkcja. To samo dzieje się gdy wkleję do przerwania zawartość funkcji. Podczas...
witam INT0 przerwanie zewnętrzne końcówka INT0 INT1 przerwanie zewnętrzne końcówka INT1 TIMER0 przerwanie przepełnienia licznika TIMER0 TIMER1 przerwanie przepełnienia licznika TIMER1 Gdy używane są przerwania INT0 lub INT1, można określić warunek zgłoszenia tego przerwania. Należy w tym celu...
Witam, Mam problem z uruchomieniem dwóch timerów. Timer0 ma obsługiwać przerwanie pochodzące z INT1 (Signal1), natomiast Timer1 (Signal0) z INT0 (ale może być odwrotnie). Każdy z timerów ma wykryć impuls PWM większy od 1,5ms i zapalić lub zgasić diodę / diody. Po wgraniu poniższego kodu, diodki migają...
Witam! Nie mogę dojść do tego co się dzieje. W zamierzeniu program powinien czekać na ustalone znaki z USARTa i odpowiedzieć kilkunastoma znakami tekstu. Objaw jest taki, że po otrzymaniu 1 znaku odpowiada trzema prawidłowymi znakami a potem siedzi w przerwaniu z którego nie może się wykaraskać (tzn....
witam Podpiąłem włącznik pod gipo ustawiłem na nim przerwanie i zmienną która je zlicza. jak przycisk trzymam krótko to licznik powiększa się o jeden prawidłowo, przy dłuższym przytrzymaniu przycisku zliczenie ( przerwanie ) występuje na przyciśnięciu i puszczeniu guzika, proszę o pomoc [syntax=c]void...
Witam, mam problem z obsługą przerwań zewnętrznych INT0 oraz INT1 w symulatorze (Simulator). Piszę w AVR Studio 4.19, gdyż Atmel Studio nie ma symulatora dla ATtiny87. Popatrzcie na ten banalny kod (okroiłem pierwotny kod do absolutnego minimum): [syntax=c] #include <avr/interrupt.h> unsigned...
ale nie wiem jak podejsc do przerwan zewnetrznych (przyciski). Przyciski mam podlaczone pod: P3.3 (Int1), P3.5(T1), P3.4 (T0), P3.2 (Int0). Jak to jest mozliwe ze sterujac multiplekserowo wyswietlaczami segmentowymi wysylajac aktywny bit na port P3, moge jednoczesnie zglaszac zewnetrzne przerwania...
Średnio chce mi się analizować ten kod, ale jeśli załączasz przerwania w przerwaniu od INT1 po wcześniejszym wyłączeniu przerwania od INT1 - jest poprawnym rozwiązaniem, gdyż nie ma możliwości wejścia do funkcji przerwania od INT1 podczas jej wykonywania niezależnie od okoliczności; tak ponowne zezwolenie...
Wziąłem sobie Wasze uwagi do serca, choć nie wiem, czy dobrze je zrozumiałem. Kod wygląda teraz tak: Xury , do mnie trochę jak do dziecka, ale zapewne chodzi Ci o błąd w postaci zapętlenia podprogramów? Po dokonaniu w/w zmian, objętość kodu wzrosła o około 30%, rozumiem już, co miałeś na myśli...
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ę...
Diody na pewno poprawnie, dołączyłem na samym końcu po stwierdzeniu że występują resety, stan rejestru MCUCSR sprawdzałem początkowo przez debug, później wyciągnąłem na diody. po uruchomieniu/aktualizacji programu pokazuje reset zewnętrzny/JTAG, po niespodziewanym resecie gasną wszystkie (domyślam się...
Cześć, Mam zapytanie dotyczące przerwania IRQ w module radiowym nRF24L01+. Moduł pracuje jako nadajnik. Wykorzystuję w nim funkcję potwierdzenia odbioru. Pomyślne odebranie danych przez odbiornik powinno skutkować wystawieniem w nadajniku stanu niskiego na IRQ. Ten sygnał chcę podać na wejście przerwania...
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....
Witam. Przerwań timerów dawno już nie używałem, ktoś zechciałby przypomnieć, w jaki sposób wyliczono w poniższym programie wartość Timer1, równą 64566? Fragment programu do sterowania fazowego (włączanie triaka na pewien okres czasu), autorstwa Kamila Kozłowskiego: $crystal = 10000000 (...) Inttim1:...
Witam! Uczę się Bascoma i postanowiłem napisać "stoper" sterowany z pilota (pilot nadaje w standardzie rc5). Najpierw napisałem pętlę odpowiadającą za ustawienie stopera za pomocą pilota. Zrobiłem to za pomocą przerwania INT0. Wszystko działało jak należy. Problem się zaczął jak skonfigurowałem timer0...
Witam, od kilku dni męczy mnie uciążliwy problem, nie wiem skąd się bierze przepełnienie stosu, skoro wg mnie program powinien działać poprawnie. Kto wie, co może być tego przyczyną? Dziekuje za jakiekolwiek wskazówki Programator - J-LINK SEGGER Środowisko - IAR Procedura obsługi przerwania: ...
Sprawdzilem wszystkie pliki i w zadnym niema wykozystanej zmiennej sstatus, zmiienialem jej nazwe aby czegos nieprzeoczyc niestety bez powodzenia. Podaje caly plik main .[syntax=cpp] *------------------------... "AT91SAM7X256.h" #include...
Witam mam bardzo nietypowy jak dla mnie problem z układem który ostatnio wykonałem. Mianowicie jest to centralka alarmowa oparta o uC ATmega16. Działa na tej zasadzie że pod wejście PB2(INT2) podpięty jest kontrakton (zwiera do masy) do którego przykładam magnes i albo rozbrajam albo uzbrajam centralkę....
Coś się w tym algorytmie nie trzyma kupy. Wciśnięcie przycisku zajmuje człowiekowi czas rzędu 1-10 sekundy (ok, przy trzymaniu palca na guziku daje się zejść do 1/40). Przez 1/40 sekundy przy 8 MHz próbkowaniu można zarejestrować 200 tysięcy próbek, a bufor mamy na kilka tysięcy. No to co my tu udajemy?...
Prywit! Mam problem z obsługą przerwania zewnętrznego. Do pinu INT0 podłączyłem włącznik zwierający do masy. Jak widać w programie podciągnąłem końcówkę do plusa. Do pinów C.1; C.2; C.3 podłączyłem diody LED do zobrazowania problemu. Napisałem taki oto krótki program i jestem zdziwiony działaniem....
Witam, Właśnie zajmuję się timerami w STM32 i eksperymentuję z nimi w różnych konfiguracjach. Podczas prostego migania diodami natknąłem się na problem. Dwa kanały TIM1 pracują w trybie Compare Mode. Do rejestrów wpisuję: TIM1_ARR = 50000 TIM1_CCR1 = 25000 TIM1_CCR2 = 10000 Wszystko działa...
Witam ,napisałem program który ma odmierzyć czas lotu helikoptera (do wyczerpania bateryjki) ,niestety po 2 tygodniach utknąłem na czymś takim: $regfile = "attiny2313.dat" 'wybór procesora attiny2313 $crystal = 8000000 Config Pinb.0 = Output ...
Witam Dosięgła mnie ta przyjemność (albo i nie) przesiadki na pice (pic24j256GB110) + MPLAB. Otóż próbuje uruchomić na board test podstawowe funkcje przerwania timery uart etc. i natknąłem sie na podstawowe przeszkody: 1. funkcje przerwań: (z jakiegoś tutoriala) [b]void __attribute__((__interrupt__,no_...
Witam. Na początek konfiguracja: RFM22B STM32F103CBT6 ... nadajnik jak i odbiornik w projekcie są zbudowane tak samo - różnią się oprogramowaniem. Mam problem z poprawnym odbiorem danych w odbiorniku. Nadajnik co około 2 sekundy wysyła 10 bajtów. W odbiorniku - uruchomione mam przerwania:...
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...
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...
Witam, Próbuję uruchomić przerwanie timera 0 w ATMega8583 i jakoś nie mogę. W założeniu ma być to tryb pracy normalnej - licznik krąży i jak się przepełni to następuje przerwanie. Pewnie robię coś nie tak, tylko nie wiem co. Próbuję tak (to tylko fragmenty kodu dotyczące przerwania): .CSEG .ORG...
DEX - no cóż dlatego, bo taki układ już jest i nic nie da się teraz zrobić. Kolumny i wiersze są podpięte bezpośredni pod wymienione porty.. Więc bezpośrednie wykorzystanie zewnętrznego przerwania nie wchodzi w rachubę. mariuszlorenc - no wlasnie może o to mi chodzi, ale jak to się robi, bo to moje...
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...
Używam zegara PCF8583, działa mi jego obsługa itp, natomiast mam problem z jego przerwaniami. Układ jest skonfigurowany by generować przerwanie co 1s, po którym procesor ponownie ustawia odpowiednie flagi w zegarze, bowiem samo przerwanie jest jednokrotne. W celu inicjalizacji przerwań od zegara używam...
Problem mam następujący. Ustawiłem, żeby procesor odbierał ramki przez USARTA na przerwaniu i w tym przerwaniu sprawdzał czy z nią wszystko ok. Kod całęgo przerwania wygląda tak: void USART1_IRQHandler(void) { ... ReceivedByte; extern ReceivingFrame; extern ReceivingHeader; extern...
Coś nie bardzo wychodzi mi wywołanie przerwania INT0 po przepełnieniu Timera0. Poniżej kod (usunąłem zbędną funkcję wyświetlającą, która działa poprawnie). Program powinien: - po restarcie wyświetlić korpkę (robi to poprawnie) - po każdym przerwaniu wyświetlać kursor (i to nie działa bo nie ma...
Witam, Szukałem na forum i nie znalazłem... Mam taki oto problem, przerwania są skonfigurowane w następujący sposób: [syntax=c] NVIC_InitTypeDef NVIC_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); NVIC_PriorityGroupConfig(NVIC_PriorityGr...
Pomóżcie, bo zacukałem się z obsługą odczytu RC5 w przerwaniu. Problem sprowadziłem do prostego programu, który miga dwiema ledami. LED2 zapala się w trakcie wykonywania wywołanej przerwami procedury odczytu RC5, LED1 ma się zaś zapalić na sekundę po odebraniu dowolnego rozkazu z pilota. Tymczasem...
Napisałem sobie takie oto funkcje do obsługi DS18S20: #include <DS89C4xx.H> // biblioteka uC DS89C430 typedef unsigned char BYTE; // definicja typow danych typedef unsigned int WORD; sfr led_10 = 0x80; // port P0 wyswietla cyfre dziesiatek sfr led_01 = 0xA0; // port P2 wyswietla cyfre...
nie chcę siać zamętu, ale jeśli dobrze pamiętam to istnieje błąd w Bascomie, który źle kompiluje powrót w subie zawartym w przerwaniu (wstawia RETI zamiast RET) Obecnie takiego błędu kompilator nie wykazuje: ;---- test.bas ----------------------------------------...
Dzięki za info :) A wiesz coś może na temat dziwnego zachowania LPC po zmianie CPSR ? Musiał to powodować mój program, ale czy to nie jest tak, że JTAG resetuje procka ? W LPC działa to trochę inaczej, ponieważ interfejs JTAG jest tu trochę skrzaczony. Ponieważ reset procka (SRST) powoduje też reset...
Dobra nie będą Cię więcej męczył tylko powiem. To nie będzie reset. Podczas sprzętowego resetu są asynchronicznie resetowanie wszystkie rejestry specjalne. Czyli piny są ustawiane jako Hi-Z, Timery są zatrzymywane, ADC/I2C/SPI/UART zatrzymywane, przerwania wyłączane itd. itp. Skok pod adres 0 nie...
Sprzęt jest ok. Wczoraj był badany na oscyloskopie pod tą płytką, ładnie zmienia się czas odpowiedzi echa. Słychać jak pyka sobie pulsy. Błąd był w linii z TIMSK0 (skoro używam TIMERA1) Tylko problem jest bo nie odświeża. Obecnie coś tam zwraca (bo wysyłam zmienną time po RS232), ale dopiero po naciśnięciu...
Sorry, Wiesz ja to sie z tym bawie tylko i program pisze w bascomie metoda prob i bledow. Za bardzo sie na tym nie znam tylko sobie przerabiam inne projekty na moje potrzeby. Chodzi mi tylko o to czy dobrze rozumiem te taktowanie procesora. no ale jak co to tu masz caly kod: $regfile...
Hej, Piszę, ponieważ mam problem z jednoczesną obsługą Timera, UART'a i ADC w lpc1769 (CodeSourcery, a moduł z Propoxa). Moduł przerwań Timera działa bez zarzutu, dla przykładu migam sobie diodką, kod inicjujący poniżej: [syntax=cpp] LPC_SC->PCONP |= (1 << 1); //Power up Timer 0 ...
Witam. Na obecnym etapie pewnego projektu wyrzuciłem instrukcję Input blokującą pętlę do czasu wprowadzenia klawisza ENTER. Teraz pobieranie znaków przychodzących na UART odbywa się z użyciem przerwania (przykładowy kod poniżej). [syntax=basic4gl]$regfile = "m32def.DAT" $crystal = 8000000 $baud...
Witam Procesor przechodzi w stan Powerdown po ustalonym czasie kiedy zmienna L=1. Ustawiłem wybudzanie z przycisku (podanie 0 na int0) no i nie działa . Przepatrzyłem już chyba wszystkie tematy na forum i robiłem z milion kombinacji. Już nie mam pojęcia co robić czy to może być wina BASCOM, procesora...
Hej, Próbuje na płytce STM32F3 uruchomić komunikację z PC po USART. Działa mi TX bo w main-ie mam wysyłanie przykładowego tekstu i działa prawidłowo. Niestety problem jest gdy wysyłam dane z terminala do STM - brak efektu przerwania. Nie jest to problem kabelków bo je kilka razy zamieniałem i dalej...
Na przykładzie timera0 ;wektory przerwań .org 0x00 rjmp reset .org 0x09 rjmp przerwanie_timer0 reset: .def acc = r16 .def maska = r17 ;### START TIMER0 in acc, TCCR0 ldi maska, 0b00000111 ; 3 ostatnie bity to ustawienie preskalera or acc, maska out TCCR0, acc in acc, TIMSK ldi...
Kolego mirekk36 to program próbny. Wiem, że w przerwaniu należy umieszczać jak najmniej kodu a na pewno już nie jakieś skomplikowane procedury. Kod w tym przerwaniu umieszczony został już po prostu z braku innych pomysłów i ciekawości. Docelowo przyciśnięcie tego przycisku ma zatrzymać prace całego układu,...
Mam taki problem, a mianowicie, mam zadeklarowane w programie procedury, ktore maja za zadanie wyświetlanie na wyświetlaczu graficznym różnych wartości. Jednymi z tych wartości są między innymi zmienne odpowiadające za prędkość, obroty silnika oraz który bieg jest aktualnie wrzucony. Mój problem...
Witam. Mam podłączony moduł BlueTooth HC-05 do ATmega328, używam go do programowania oraz do standardowej komunikacji. Programowanie jest możliwe dzięki wyprowadzeniu STATE w HC-05. Pin ten skonfigurowałem tak, aby podczas normalnej pracy był na nim stan HIGH (3.3V bo taka jest logika HC-05) a podczas...
Mam problem z rozumieniem języka ASM. Niby wszystko działa OK ale jest pewien fakt dla mnie niezrozumiały i aż zjadam zęby. Krótki opis działania programu: w podprogramie ustawiany jest 7 bit w zmiennej bajt który następnie jest sprawdzany w głównej pętli i jeśli jest ustawiony to zmienia się na 0 logiczne,...
W programie nie napisales czy przerwania maja byc wywolane stanem niskim czy opadajacym zboczem. Zgloszenie poziomem niskim powoduje wykonywanie podprogramu tak dlugo jak dlugo na wejsciu INT bedzie 0. Oznacza to, ze przed zakonczeniem procedury obslugi przerwania stan na wej INT musi zmienic sie na...
Pogrzebałem trochę i choć nie rozwiązałem tego, to wydaje mi się, że to nie wina hardwaru. Zdisasemblowałem ELFa i na początku mam tablicę wektorów. Domyślam się, że to wektory przerwań. Pierwszy to skok do miejsca gdzie kończą się wektory. Rozumiem, że to wektor dla reset. Każdy następny to skok do...
Witam. Od pewnego czasu jestem w posiadaniu zestawu z prockiem AT91SAM7S64. Mam problem z obsługą przerwań zewnętrznych. Kontroler nie wchodzi w procedurę obsługi przerwania.Wygląda na to ze wykonuje ja tylko po resecie a potem juz nie :( Oto fragment kodu (to jest chyba przykład ze strony atmela): ...
hmmm ogólnie macie rację kolego teedd ;) .... ale ten twój prosty programik powinien być koniecznie uzupełniony o ustawienie portów (przynajmniej tych, które mają pracować jako wyjściowe) tak aby ich kierunek był wyjściowy i podciągnięcie do "plusa" (dopiero wtedy można sprawdzać czy dobrze działa...
Witam Zakupilem zestaw uruchomieniowy ZL25ARM+ ZL24ARM w sklepie Kamami. Mam problemy z obsluga przerwania. Najprosciej mowiac chcialbym aby po zgłoszeniu przez watchdog'a zakonczenia liczenia (Timer Mode). Jednak tak sie nie dzieje i nie wiem w czym tkwi problem. Wrzuce tutaj troche kodu: void main() { #ifdef...
Witam. Piszę program na atmegę 8 w Avr Studio 4.13. build 571. Mój problem polega na tym, że gdy skompiluję program kompilator wywala się na tym: .CSEG .ORG $0000 rjmp RESET .ORG OC2addr rjmp Petla .ORG ADCCaddr rjmp Petla .ORG 0x0013 Petla: ... Assembler v2 wywala...
Ano tak, problem w tym, że nawet po wyąłczenu zasilania plotera, odczekaniu jakiegoś czasu i włączeniu go - dalej zaczyna rysować od miejsca gdzie wyłączyłem mu prąd - leci z głowica do miejsca parkowania, wraca na poz. 0,0 i leci do miejsca gdzie mu przerwałem. Jak wyjmę mu wtyczkę z kompa z portu...
/* * Some defines for the program status registers */ ARM_MODE_USER = 0x10 /* Normal User Mode */ ARM_MODE_FIQ = 0x11 /* FIQ Fast Interrupts Mode */ ARM_MODE_IRQ = 0x12 /* IRQ Standard Interrupts Mode ...
Część nie związaną z tematem, usunąłem. ______________________________________... ktoś miał z tym problem, to zamieszczam działający kod: Timer TC0 generuje 100 przerwań na sekundę, dzięki czemu mam 100Hz wyświetlacz. Funkcja obslugi przerwania (plik main.c): ...
Patrząc po temacie w którym okazało się, że winą dziwnej pracy uC był fusebit M103C można bez problemu opisać powstawanie błędu: spód stosu był niepoprawny (w m103 pamięć kończy się niżej), a więc powrót z przerwania był skokiem w losowe miejsce co kończyło się resetem procesora stąd niezależność od...
Witam! Mam problem z projektem na STM32. Chciałem użyć pamięci flash do zapamiętania potrzebnych mi parametrów. Problem pojawił się przy czyszczeniu flasha. Po wywołaniu FLASH_ErasePage dostaję flagę FLASH_FLAG_BANK1_EOP,co wydaje się całkiem prawidłowe. Program wraca do pracy z tym, że przez około...
Witam. Kod jest taki: Jestem w petli... Naciskam klawisz "1" otrzymuję odpowiedź: Enter=0 Znak: Naciskam klawisz "2" otrzymuję odpowiedź: Enter=0 Znak: 1 Naciskam klawisz "3" otrzymuję odpowiedź: Enter=0 Znak: 2 Naciskam klawisz "4" otrzymuję odpowiedź: Enter=0 Znak: 3 Naciskam...
Witam Proszę o pomoc w zindentyfikowaniu problemu. Otóż jestem w trakcie nauki programowania uC AVR i chciałbym w swoim programie umieścić programowy reset za pomocą watchdog'a. Zależy mi na kompletnym resecie żeby program "na świeżo" wystartował. Po zasięgnięciu do noty katalogowej uC znalazłem opis...
Witam, Postanowiłem wykonać urządzenie nalewające (grawitacyjnie, z wykorzystaniem pewnego prawa fizyki) wodę ze zbiornika w żądanych ilościach. Do postu załączam schemat tego co napsociłem (wszystko jest złożone na płytce stykowej). Urządzenie po wykryciu przez czujnik odległości jakiegoś...
Witam. Mój problem pewnie wynika z małej jeszcze wiedzy z ARM, jednak liczę na waszą pomoc. Po inicjacji układu, włączeniu USART1, GPIOA, NVIC, USART dzieje się coś dziwnego. Mianowicie po linijce USART_Init(USART1, &USART_InitStructure); i wcześniejszym ustawieniu NVIC następnym krokiem jest...
Witam. Mam problem z przerwaniami. Chcę przerwaniem INT0 uruchomić timer0 a przerwaniem INT1 go zatrzymać. Czy jest taka możliwość? [syntax=basic4gl] $regfile = "m8adef.dat" $crystal = 8000000 Config Lcd = 16 * 2 Cursor Off Config Lcdpin = Pin , Db7 = Portc.5 , Db6 = Portc.4 , Db5...
Cześć! Posiadam od wielu lat (co najmniej 4) płytkę uruchomieniową Open107V od Waveshare. Nigdy nie miałem z nią problemów, i każdy projekt robiłem na niej, bo ma wszystko ładnie wyprowadzone i szybko mogłem sobie debugować instalację. Obecnie robię układ w którym 2 układy (drugi to STM32F407) komunikują...
Dzień dobry. We wstępie odrazu zaznaczę, że używam zestawu ZL3AVR z mikrokontrolerem ATmega32. Chciałem napisać program w assemblerze, który będzie zliczał wciśnięcia określonego przycisku w dowolnym rejestrze i będzie wyświetlał liczbę wciśnięć binarnie na diodach (czyli przykładowo jeśli wcisnąłem...
mam problem z obsługą przerwania od T0 w at90s2313. oto programik: ;program .nolist .includ...
.org 0x0000 ; ustawia adres w pamięci programu rjmp reset ; skocz do etykiety ... ; wektor przerwania timer 1 .org 0x0005 rjmp led_off ; skocz do obsługi przerwania ; w tym przykładzie początek programu głównego reset: ; Jako pierwsze ustawienia stosu (w asemblerze jest to ;...
WItam Mam taki prosty programik, ktory ma reagowac na 1,2,3,4 lub 5 impuls (zbocze opadajace) w zaleznosci od tego co ustawie. Problem polega na tym ze caly program dziala tak jak chce. Reaguje na 1,2,3 itd zbocze ktore ustawie tylko ..za kazdym razem po przerwaniu miga mi dioda led. Wyglada to tak...
Witam, walczę z tym cały dzień i nie potrafię zrozumieć dlaczego program nie działa. Próbuje poprostu "uruchomić" przerwanie podczas przepełnienia timera0. Jak widać niżej jest bardzo prosty kod który powinien zapalać i gasić diodę. Preskaler ustawiony na 1024, ustawiona odpowiednia flaga w rejestrze...
Cześć, Nie dawno zacząłem przygodę z STM32. I mam duży problem nad którym siedzę już parę dni. Chciałem stworzyć prostą komunikację z komputerem gdzie przez terminal odpowiednimi komendami będzie można gasić i zapalać diody i w drugą stronę przesyłać które diody są zapalone. nie wiem gdzie jest tu...
Witam Wątpie, że mi ktoś pomoże ale cóż zależy spróbować. Nie mogę włączyć obslugi przerwań w moim procesorze. wiem że kod jest napisany prawidłowo gdyż testowalem na innym kompilatorze. Chodzi o plik startup, którego w sumie nie rozumiem. A może ktoś zna jakieś źródła wyjaśniające jak pisać takie...
Chciałem odpalić przerwania- akurat od timera. Patrząc po tym jak piszą inni brakuje mi wektorów(?). Niestety sprawa nie jest dla mnie taka oczywista. Kawałek main wygląda tak: [syntax=c]/* ==================... Name : main.c ...
Witam wszystkich! Aktualnie bawię się trybami PWM atmegi32. Na timerze0 robię phase correct pwm, zaś na timerze2 zegar systemowy. PWM jest software'owy i ustawianie poziomu logicznego znajduje się w przerwaniu od OCR0. Czas systemowy to po prostu inkrementowana zmienna globalna w przerwaniu...
Hej :) Natknąłem się na pewnie problem którego nie mogę rozwiązać otóż spróbowałem sobie zrobić prosty generator przerwań przy użyciu SysTicka (przykład z książki paprockiego) który zapalałby mi diode po 500ms. Nie wiem w czym może leżeć problem ale dioda mi nie miga. Poniżej wklejam kod main i funkcji...
Panie kolego po prostu naucz się pisać kod przejrzyście nie tylko dla potrzeb forum i innych osób ale przede wszystkim dla siebie, co to znaczy? zobacz jak powinno się zrobić inicjalizację takiego timera w trybie CTC: Dodano po 4 tymczasem pamiętaj że jeśli bit ma mieć wartość = 0 to NIGDY...
Witam Chciałem zrobić prosty sterownik światła na pilota. Poniższy kod nie daje się skompilować - czy są jakieś przeciwwskazania do pracy Attiny45 + RC5 ? [syntax=basic4gl] $regfile = "attiny45.dat" 'etykietka mikrokontrolera $crystal = 9600000 ...
Witam:) Od kilku dni próbuję uporać się z CAN. Po początkowych próbach z inicjalizacją funkcjami bibliotecznymi odpuściłem je sobie na rzecz inicjalizacji za pomocą rejestrami. Nie podobało mi się, gdy odkryłem, że funkcje ustawiały bit 16 w rejestrze CAN_MCR Odpowiednie zegary, GPIO (Rx-PD0, Tx->...
Właściwie to nie wiem też, dlaczego masz w przerwaniu zliczanie do 125. Chciałeś w ten sposób uzyskać okres zapalania/gaśnięcia diody co 125 sekund? Chciałem to zrobić według treści z zadania jako że miał to być tryb porównania do zadanej wartości i teraz ustawiłem 125 ale sprawdzałem też na innych....
Witam Zastanawiam się czy konieczne jest resetowanie prescalera timera gdy wykorzystujemy go w roli opóźnień. Na początku uruchamiam zezwolenie na przerwania timera w trybie ctc aby licznik zaczął pracować. Gdy licznik wykona swoją robote i odmierzy odcinek czasu, pętla blokująca zostaje wyłączona...
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...
Witam, Zwracam się z prośbą o przejrzenie kodu. Założeniem jest obsługa przerwania EXTI po wciśnięciu jednego czy też drugiego przycisku odpowiednio PB13 i PB14 (Pull Up) i zapalenie diody PB9 czy też PB8. Niestety przerwanie nie jest obsługiwane i nie mam już pomysłu dlaczego. [syntax=c]void EXTI15_10_IRQHandler() { if...
Ja proponuję dodać jedno zaklęcie :wink: ... Licznik = 0 Reset Scon.0 ' owo zaklęcie Reset Scon.1 Enable Interrupts ... Odbierz: ... Reset Scon.0 ' ponownie zaklęcie Reset Scon.1 ... Piotrek
Witam!!! Trafiłem na taki mały i prosty systemik wielozadaniowy na stronie System w obsłudze dość przyjemny i chciałem go zaadoptować na zasadzie "czarnej skrzynki" w nadziei, że jest dobry i przetestowany. No właśnie... Teoretycznie wszystko działa (na razie??), ale niepokoi mnie jeden...
To jest startup: .section .vectors, "ax" .code 32 .align 0 .global _vectors .global reset_handler /**********************... Exception Vectors ****************************************...
Witam! Na wstępie chciałem zaznaczyć, że od niedawna dopiero poznaję procesory z serii ARM. Bardzo dawno temu miałem styczność z 51- jedynką i keilem. Moje doświadczenie w programowaniu C też nie jest oszałamiające, natomiast asembler na ARM jak na razie jest przeze mnie mało zrozumiany. Proszę o wyrozumiałość...
Nie jest tak, że w wszystkie przerwania mają ten sam priorytet? Nie jest to tak. Generalna zasada jest taka, że w pierwszej kolejności zostaje wykonana procedura obsługi przerwania, które pojawiło się prędzej. Jeśli w czasie wykonywania tej procedury nie włączymy flagi globalnej I a pojawi się...
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...
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,...
Łatwo i bez marnowania pinów można zrobić to programowo. Nie znam bascoma, więc napisze taki prosty kod w C. //start programu reset=1; while(1) //początek pętli bez końca { if (reset==1) //jeżeli reset =1 { //wyłącz obsługę przerwań //wyzeruj...
Witam dość długo szukałem przed napisaniem ale nie mam pomysłu co tu jest nie tak... oto kod: void UART_init(void) // inicjalizacja UART { _UBRR_ = (u08)UART_CONST; // ustaw prędkoœć transmisji _UCR_ = _BV(RXEN)|_BV(TXEN)|_BV&...
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...
Mam problem z napisaniem programu rozpoznającego stany w sieci. Na wejście INT0 procesora podpiąłem sygnał z sieci 1Wire. Chciałbym rozpoznać trzy stany w sieci: - reset (czyli ściągnięcie linii danych do 0 na 480us) - nadanie 0 - (czyli 10us stan niski, 80us stan wysoki) - nadanie 1 - (czyli 80us...
Otóż jak w tytule mam problem z przerwaniem pcint. program ma za zadanie zamrugać 2 diodami pb0 i pb1 po czym iść spać. Pcint ma go obudzić i wykonać taką samą sekwencję. Globalne mam odblokowane, pcint też, pul upy podciągnięte a to dalej nie działa.... Proszę o pomoc .DEVICE ATtiny13 .ORG 0x0000 ;--------------------...
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 ? Wygląda mi to tak jakby zmienne Z1...Z4 nie były dostępne w momencie działania podprogramu przerwania. Jeżeli podprogram 'Wyswietlanie' umieszczę w pętli głównej...
Wywala sie przy wyjsciu z przerwania 0x000013ac <ADC_IRQHandler+92>: pop {r4, r5, r6, pc} BUG: couldn't calculate PC of next instruction, current opcode was 0x5c002000 should never reach this point Dorzuce jeszcze moj plik startup: /* Startup code for STR91x ARM-based microcontrollers based...
Witam, nie chcę zakładać nowego tematu, skoro tu jest o wiadomościach podstawowych ;) Otóż jest problem. Zrobiłem układ, w którym są cztery przyciski: set A, reset A, set B, reset B. A i B dałem na wyjścia i połączyłem z INT0 i INT1. W czym tkwi problem? Przerwania INT0 i INT1 reaguje jak należy, poza...
Wstyd się do tego przyznać, ale nie mogę sobie z tym poradzić. Chcę by przerwanie INT0 było wyzwalane zboczem opadającym. Kod źródłowy programu znajduje się poniżej: .nolist .include "m16def.inc" ;dołączenie listy stałych .list .cseg ;konfiguracja przerwań zewnętrznych .EQU ISC0 =...
Przerwania w AVR działają w ten sposób że w chwili rozpoczęcia obsługi przerwania, kolejne przerwania są blokowane aż do instrukcji procesora RETI (tu w basicu RETURN). Nieskończona pętla w przerwaniu - czemu nie. Tylko że zakończenie takiej pętli jest możliwe tylko przez sygnał RESET. Czyli bez sensu...
Witam Kombinowałem już rożnie i nie wiem co źle napisałem że nie działa poprawnie. Powinno działać na stan niski, a w rzeczywistości działa non stop - niezależnie czy jest stan niski czy wysoki. [syntax=asm] .include "tn2313def.inc" .equ wejscia = portd .equ in_wejscia = ddrd .equ dane = portb .equ...
Witam. Piszę aplikacje pod stm32 w Keilu z wykorzystaniem biblioteki STM32F10x_StdPeriph_Driver. W przerwaniu od alarmu RTC mam: [syntax=c] void RTCAlarm_IRQHandler(void) { if (RTC_GetITStatus(RTC_IT_ALR) != RESET) { RTC_ClearITPendingBit(RTC_... RTC_WaitForLastTask(); RTC_SetAlarm(...
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,...
Witajcie. Od jakiegoś czasu zapoznaję się z mikrokontrolerami STM32, wcześniej okiełznałem rodzinę AT91 od Atmela. Do rzeczy: Chcę zmusić procesor wchodzący w skład zestawu STM32F0Discovery do generowania przerwania w chwili wciśnięcia przycisku znajdującego się na nóżce PA0. Program: [syntax=c]/* ...
Witam! Zrobiłem prosty projekt wysokościomierza ciśnieniowego. Wszystko działa w jak najlepszym porządku. Teraz muszę go przekonwertować aby działał na mniejszej płytce zasilanej z baterii. Z tego powodu postanowiłem użyć funkcji sleep i przerwań. Program ma działać tak: - w funkcji setup następuje...
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ą...
Dzięki za odpowiedzi i uwagi ! Na pewno nastepnym razem zwrócę na nie uwagę, ale szczerze mówiąc teraz zależy mi bardzo na czasie, żeby to jakoś posklejać, jak to się mówi jakoś na ślinę i żebym mógł trochę danych zebrać. (at)BlueDraco: Tu jest aktualny kod odbioru danych GPS: void USART1_IRQHandler() { if...
No widze że jednak to chyba jest niebezpieczny kierunek. Skąd ten pesymizm. Nikt nie napisał, że się nie da (włącznie ze mną), tylko uświadamiamy Ci, na co zwrócić uwagę. A czy można zmienić priorytet przerwań. Chodzi mi o to, aby jeśli w trakcie wykonywania jakiegoś przerwania, zgłosily się przykładowo...
Program wygrywa się bez problemu i się uruchamia, wszystko sie zdaje działać ale nie wykonują się żadne przerwania. Wszystkie rejestry skonfigurowane. Na debugerze widać że bity odpowiedzialne za globalne zezwolenie są załączone, poszczególne bity i flagi w peryferiach również ale z jakiegoś powodu...
gdzie w nocie katalogowej można znaleźć informacje na temat priorytetów wykonywania przerwań, jeżeli wystąpią w tym samym czasie. The lower the address the higher is the priority level. RESET has the highest priority, and next is INT0 – the External Interrupt Request 0. The Interrupt Vectors...
To przy budzeniu przerwaniem przy pierwszym sygnale przerwaniu wykona się przerwanie i w nim kod? Tak. Warto zapoznać się z: znacie jakieś sposoby na resetowanie mikrokontrolera oprócz wykorzystania sprzętowego. Skok pod adres 0 nie resetuje rejestrów procesora (np. DDRx) i trzeba to uwzględnić w...
A przetwornicę nie mógłbyś obciążyć rezystorem, który szybciej rozładuje te pojemności? Pomysł elektryka z komparatorem jest bardzo dobry. Sugerowałbym jednak sterować końcówkę RESET. Można także skorzystać z gotowych układów scalonego resetu z funkcją BOD.
>>> DrDead, w szczególności chodzi tu o to że jeżeli bezkrytycznie posłuchamy rady, jak to robi Kol. asembler: 'ja stosuje taką zasada: zawsze w obsłudze przerwania na początku odblokowywuje przerwania globalne' to: 1) ryzykujemy że nastąpi blokada wykonywania przerwań o wyższym priorytecie gdyż...
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,...
T1MR0=270000; // T1MR0 = 15[Mhz] * 18[ms] = 270000 T1MCR=3; // MACH0 ustawiony na reset, przerwanie T1TCR=1; // counter wlączony Według podglądu w rejestrach wszystko ok. Chyba trzeba sobie po prostu dać spokój z tym środowiskiem.
Trochę pogrzebałem i znalazłem przyczynę. Kluczowa była flaga IDLE okazało się że po resecie UART nie jest w stanie IDLE nawet jak nic nie szło i wtedy trochę pogrzebałem i odkryłem że mam błąd. Problem polegał na tym że robiłem OR-a żeby skonfigurować port w odpowiedni tryb a zapomniałem że rejestr...
A może przyczyną jest nie wyzerowany licznik preskalera (strona 75): Bit 0 PSR10: Prescaler Reset Timer/Counter1 and Timer/Counter0 When this bit is written to one, the Timer/Counter1 and Timer/Counter0 prescaler will be reset. The bit will be cleared by hardware after the operation is performed....
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...
Witam, Problem polega prawdobodobnie na braku wywłaszczania przerwania TIM1 przez przerwanie Systick-a o wyższym priorytecie. Otóż w trakcie wywołania przerwania od timera wywołuję sobie funkcję delay-a: void TIM1_CC_IRQHandler(void) {... (TIM_GetITStatus(TIM1, TIM_IT_CC1)...
Chciałbym zrobić przerwanie od Analog Watchdog, które będzie wywoływane gdy napięcie na kanale 10 przetwornika ADC1 wyjdzie poza zakres 1V-2V. No i cóż, przerwanie nie chce występować... Sprawdzałem w debuggerze i w ogólę nie wchodzi do przerwania, więc problem jest zapewne w konfiguracji. Sam ADC1 oczywiście...
Witam. Walczę z przerwaniami zewnętrznymi od kilku dni i niestety przegrywam walkę... Jeżeli konfiguruję po jednym zdarzeniu dla każdego przerwania (np. PA0, PA1, PA2) jest wszystko ok. Problem się zaczyna jak chcę skonfigurować kilka zdarzeń od jednego przerwania ( w moim przypadku: PA1, PB1 i PC1)....
Witam, Dalej walczę z książka STM32 Aplikacje i przykłady w języku C. Doszedłem do obsługi przerwania RTC. W książce jest przykład, który konfiguruje przerwanie od RTC, tak jak by to było przerwanie wewnętrzne. Autor zakłada, ze w pliku stm32f10x_it.c jest gotowy szablon funkcji RTC_IRQHandler (),...
Analizator dawal wyniki niejednoznaczne (tzn losowe fazy transmisji w trakcie zwiechy). Poradziałem sobie przez reset interfejsu i dotaktowanie razem po stronie mastera. Nie wiem dlaczego samo dotaktowanie, lub samo zresetowanie mastera nie dawało wyjścia i dlaczego master (i2c doskladnie bo master zyje)...
Chodzi o występowanie przerwania generowanego zwieraniem do masy pinu C1. Plan był taki: 1. Wywołać przerwanie 2. W przerwaniu zdezaktywować przerwania na tym porcie
Ogólnie przerwania chodzą, ale problem pewnie w tym, że w obsłudze przerwania od timera chce wyświetlić tekst na lcd (hd44780). LCD używam bez wykorzystania linii busy, więc wszystkie komendy idą na delayach zrealizowanych przez timer. [syntax=c] volatile int flag=0; void timer0_inr() { ...
Witam, Dzieki za wyczerpujaca odpowiedz, widze ze tez zaglebiasz sie w szczegoly tego ustrojstwa ;]. W tej chwili u mnie juz dziala jak trzeba. Jezeli chodzi o wywolanie funkcji to mialem na mysli wywolanie funkcji juz z mojej funkcji obslugi przerwania. Sprawa wygladala tak, ze mialem mthumb-interwork...
Już działa:) Jeżeli chodzi o same ustawienia i inicjalizację Timera0 oraz przerwań to okazało się tak jak mi się wydawało że wszystko miałem dobrze. Jak zwykle w takich przypadkach błąd okazał się błahy i leżał w zupełnie innym miejscu. Otóż przy definiowaniu wektorów przerwań nie używałem definiowania...
Witam. Uc 16f887 ma na porcie rb0 i rb1 pushbuttony ktore zwieraja je do masy. Oba te piny maja podciaganie do zasilania. RB0 nacisniety w dowolnej chwili ma zmusic uC do przeczytania stanow portow (np re0, re1, re2 i wiele innych) i zmiane dzialania w zaleznosci od wybranych ustawien. RB1 dziala...
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, Moje pierwsze starcie z asemblerem na ARM i przerwaniami ... Mam taki kawałek kodu tmr0_irq stmdb r13!, {r0-r4, r12, r14} ldr r0, =TMR0_BASE ldr r1, =TMR0_RST str r1, [r0,...
Witam na forum. Korzystam i dołączam się do tematu. Mój problem jest dla mnie niezrozumiały. Próbowałem kompilować i testować prościutki programik z przerwaniami, ale nie wychodzi. Oto ten programik. #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h>...
Dzieki za zrodla. Okazalo sie, ze problem lezal w samym projekcie. Stworzylem nowy projekt i dodalem wszystkie potrzebne pliki i przerwania zaczely dzialac poprawnie. Jak narazie pracuje na bibliotekach ST, diodkami juz dawno migam:) Mam takie pytanko co trzeba zrobic, aby program wgrany poprzez JTAG...