attribute interrupt

Znaleziono około 265 wyników dla: attribute interrupt
  • [at91sam7s256] [at91sam7s256][gcc] Nie działa przerwanie z timera w Eclipse - inicjalizacja TIMER0

    PIT? przeciez gcc nie obsluguje takiego parametru do atrybutu interrupt... interrupt Use this attribute on the ARM, AVR, M32R/D and Xstormy16 ports to indicate that the specified function is an interrupt handler. The compiler will generate function entry and exit sequences suitable for use in an interrupt handler when this attribute is present. Note,...

    Mikrokontrolery ARM   16 Paź 2010 10:52 Odpowiedzi: 30    Wyświetleń: 4152
  • REKLAMA
  • [STM32][C Keil RealView] ISIX-RTOS - czy ktoś go kompilował?

    Ok, compiling cppsupport.c... ..\..\..\Libraries\ISIX_RTOS\include\isi... warning: #260-D: explicit type is missing ("int" assumed) ..\..\..\Libraries\ISIX_RTOS\include\isi... error: #65: expected a ";" ..\..\..\Libraries\ISIX_RTOS\include\isi...

    Mikrokontrolery ARM   14 Sty 2014 11:31 Odpowiedzi: 13    Wyświetleń: 4524
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [STM32F103][keil][C] nieznany atrybut przerwania SysTick

    Witam, Napotkałem ostrzeżenie przy kompilacji kodu: [syntax=csharp]#include "stm32f10x.h" int main(void) { RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; //Wlaczenie zegara portu A /*dioda*/ GPIOA->CRL |= GPIO_CRL_MODE5_1; //Wyjscie 2MHz GPIOA->CRL &= ~GPIO_CRL_CNF5_0; //Open-drain SysTick_Config(4000000); while(1) { }/*while*/ }/*main*/ __attribute__((interrupt))...

    Mikrokontrolery ARM   30 Gru 2017 10:38 Odpowiedzi: 63    Wyświetleń: 2439
  • [LPC2103] Jak poprawnie zaimplementować przerwania FIQ w LPC2103 z użyciem OpenOCD?

    Nie nie nie nie... Swoją funkcję musisz po prostu nazwać tak jak jest w tablicy wektorów, czyli: void FIQ_Handler(void) __attribute__ ((interrupt("FIQ"))); void FIQ_Handler(void) { ... i już. 4\/3!!

    Mikrokontrolery ARM   15 Lis 2010 22:23 Odpowiedzi: 6    Wyświetleń: 1365
  • REKLAMA
  • AVR vs ARM: Wybór mikrokontrolera do trackera GPS z GSM na Atmega32 czy ARM?

    Dziwna wersja, bo jako jedyna seria uC z rdzeniem Cortex ma domyślnie wyłączone wyrównanie stosu (do czego doszliśmy jakiś czas temu z kol. Freddiem) i w związku z tym jako jedyny Cortex wymaga pisania przy procedurach wyjątków "attribute interrupt", bo bez tego potrafi spłatań niezłego psikusa w bardziej złożonych programach. Obecnie mamy F0, F2, F3...

    Mikrokontrolery Początkujący   12 Sie 2013 11:54 Odpowiedzi: 14    Wyświetleń: 2349
  • Wszystko o ARM (LPCxxxx) i programowaniu w asm i C.

    bo przerwanie powinieneś zmienić na void FIQ_Handler(void) __attribute__ ((interrupt("FIQ"))); void FIQ_Handler(void) { ... } gdyż reszta parametrów jest potrzebna aby NIEUŻYWANE przerwania były przypisane do domyślnego. Pozatym potrzebna jest też konfiguracja danego źródła jako FIQ w module VIC. 4\/3!!

    Mikrokontrolery ARM   28 Lis 2009 17:35 Odpowiedzi: 141    Wyświetleń: 17212
  • REKLAMA
  • [ARM7] Czy gcc 4.2.2 ma błąd w obsłudze przerwań FIQ na ARM7?

    Z tej co ja korzystam (czyli 4.2.2) nadal występuje ten błąd. Jest on zależny od optymalizacji. Gdzieś wyczytałem że zachowanie kompilatora przy optymalizacji innej niz "O0" i przy atrybucie __attribute__ ((interrupt("IRQ"))) jest "nieoczekiwane". Nie wiem jak jest w wersji 4.3.0...

    Mikrokontrolery ARM   29 Lut 2012 18:41 Odpowiedzi: 26    Wyświetleń: 4464
  • [STR912] ADC wywołuje Undefined lub Data Abort po pierwszym przerwaniu

    1. Nie da się lecieć linia-po-linii w assemblerze. 2. Czy przerwanie nie powinno przypadkiem mieć atrybutu informującego kompilator, że jest to przerwanie? void ADC_IRQHandler(void) __attribute__ ((interrupt("IRQ"&... void ADC_IRQHandler(void) { ... } ? 4\/3!!

    Mikrokontrolery ARM   27 Paź 2010 21:01 Odpowiedzi: 4    Wyświetleń: 1535
  • Podwójne SPI w STM32F0DISCOVERY - dziwne zachowanie pinu NSS

    W funkcji wpisującej cokolwiek do SPIx->DR powinno być oczekiwanie na informację o tym, że rejestr TX jest pusty - trzeba więc sprawdzać flagę TXE. Rzutowanie powinno być na "volatile uint8_t*". Wrzuć cały aktualny kod. Wrzuć informację o tym jaka jest zawartość rejestrów SR obydwóch SPI w momencie wystąpienia problemu. "__attribute__((interrupt))"...

    Mikrokontrolery ARM   29 Maj 2017 21:00 Odpowiedzi: 16    Wyświetleń: 1200
  • LPC2129 – FIQ przerywa IRQ, po FIQ nie wraca do IRQ ani main, UART przestaje działać

    też zwróciłem na to uwagę, ale tak jest w książce Pawła Borkowskiego wiec to zignorowałem. Cała reszta włącznie ze startup-em skonfigurowana jest na FIQ i normalnie działa prawidłowo. Kiedy zamienie __irq na __fiq nie chce sie nawet skompilować: Generator11.c(35): error: #77-D: this declaration has no storage class or type specifier...

    Mikrokontrolery ARM   27 Gru 2010 15:34 Odpowiedzi: 28    Wyświetleń: 2292
  • Jak napisać kod GPIO dla STM32 bez użycia bibliotek?

    kaczor90 od razu rzuca się w oczy, że 18 000 000 > ( 16 777 215 = 0xFFFFFF), a SysTick jest 24 bitowy. Jak chcesz mieć 0,5s to wyzeruj bit SysTick_CTRL_CLKSOURCE i przelicz sobie wartości dla częstotliwości podzielonej przez 8. Brakuje jeszcze linii void SysTick_Handler(void) __attribute__ ((interrupt)); bez niej procesor wpada w nieskończoną pętlę.

    Mikrokontrolery ARM   07 Lip 2012 20:42 Odpowiedzi: 188    Wyświetleń: 18582
  • STM32F407-DISC1, nie działa przerwanie od przycisku, NVIC, IRQHandler, EXTI...

    Błędów całe mnóstwo. 1. Nie robi się przerwań od przycisków. Zrób przerwanie timera np. 100 Hz, w nim sprawdzaj stany przycisków. 2. __attribute__ ((interrupt)) jest zbędne. 3. Znacznik przerwania kasuje się na początku, nie na końcu obsługi przerwania. 4. Do zmiany stanu linii portów służą rejestry BSRR- jeden zapis zmienia stany dowolnie wybranych...

    Mikrokontrolery ARM   09 Cze 2017 16:07 Odpowiedzi: 21    Wyświetleń: 2202
  • [AT91SAM7X] Nieprzełączanie banku rejestrów po przerwaniu IRQ

    Masz 2 wyjścia. 1. Funkcji obsługi przerwania trzeba ustawić atrybut : __attribute__ ((interrupt ("IRQ"))) który dodaje prolog i epilog funkcji obsługi przerwania. Ale podobno nie zawsze dziala... 2. Piszesz sam prolog i epilog funkcji obsługi przerwania w asemblerze. I zamiast skoku pod AIC skaczesz do etykiety obsługi przerwania która powinna zachowywać...

    Mikrokontrolery ARM   09 Wrz 2008 13:01 Odpowiedzi: 2    Wyświetleń: 1512
  • STM32F107 konfiguracja zegara w Keil uVision - błędy kompilacji kodu

    W międzyczasie "trochę" dałem sobie radę i to nawet przy użyciu funkcji NVIC_EnableIRQ. Rebuild target 'TEST' assembling STM32F10x.s... compiling main.c... src\main.c(81): warning: #1207-D: attribute "interrupt" ignored linking... Program Size: Code=744 RO-data=268 RW-data=4 ZI-data=612 FromELF: creating hex file... ".\Output\Program.axf" - 0 Error(s),...

    Mikrokontrolery ARM   20 Kwi 2012 15:36 Odpowiedzi: 55    Wyświetleń: 7355
  • REKLAMA
  • Jak skonfigurować Eclipse i CodeSourcery do programowania LPC2478?

    A plik linkera przeglądałeś? _user_stack_size = 512; _fiq_stack_size = 0; _irq_stack_size = 0; _supervisor_stack_size = 0; _abort_stack_size = 0; _undefined_stack_size = 0; _system_stack_size = 0; Sam pare razy pisałem, że aby uruchomić przerwania, trzeba zmienić rozmiary stosów w pliku linkera... Do tego jeszcze gdybyś przejrzał pierwszy lepszy przykład...

    Mikrokontrolery ARM   27 Paź 2011 07:11 Odpowiedzi: 103    Wyświetleń: 17371
  • STM32F0DISCOVERY - EXTI, zawiesza się po wciśnięciu przycisku, dioda nie mruga

    Przejrzyj setkę wątków na forum poświęconych temu, dlaczego do przycisków nie uyżwa się przerwań portów, a potem zrób to w przerwaniu timera, np. tak, jak w tym artykule: http://ep.com.pl/files/10324.pdf Samo programowanie prtzerwania też masz ciut bez sensu - najpierw uruchamiasz przerwanie, potem programujesz linię portu, która ma je zgłaszać. Zanim...

    Mikrokontrolery ARM   23 Lut 2016 21:54 Odpowiedzi: 3    Wyświetleń: 834
  • STM32 - ZL29ARM - Uruchamianie płytki bez bibliotek

    Zmieniam zdanie - wg standardu EABI atrybut ten jest KONIECZNY. Sorry. Poniżej info z dokumentacji GCC: interrupt Use this attribute on the ARM, AVR, CRX, M32C, M32R/D, m68k, MeP, MIPS, RX and Xstormy16 ports to indicate that the specified function is an interrupt handler. The compiler will generate function entry and exit sequences suitable for use...

    Mikrokontrolery ARM   13 Lut 2013 10:14 Odpowiedzi: 99    Wyświetleń: 15504
  • [Atmega8] Atmega8 ADC - błędne dane w tablicy sensory z pięciu czujników

    Blokuje. Introduces an interrupt handler function (interrupt service routine) that runs with global interrupts initially disabled by default with no attributes specified. The attributes are optional and alter the behaviour and resultant generated code of the interrupt routine. Multiple attributes may be used for a single function, with a space seperating...

    Mikrokontrolery AVR   05 Kwi 2010 10:17 Odpowiedzi: 10    Wyświetleń: 4914
  • stm32f1 eclipse openOCD - podczas debugu od razu wchodzi do Default_Handler

    Witam ponownie. Mam jeszcze pytanie. Ponieważ chciałem dodać obsługę: ETH_WKUP_IRQHandler i ETH_IRQn. Więc w pliku vaectors.c dodałem takie linijki: [syntax=c] // ETH Ethernet global Interrupt void ETH_IRQHandler(void) __attribute__ ((interrupt, weak, alias("__Default_Handler"))); // ETH_WKUP Ethernet Wakeup through EXTI line Interrupt void ETH_WKUP_IRQHandler(void)...

    Mikrokontrolery ARM   17 Lut 2016 11:37 Odpowiedzi: 51    Wyświetleń: 2877
  • STM32F0 - STM32F0Discovery Przerabianie przykładu, wywala błąd w core_cmInstr.h

    Dzięki freedi miałeś racje. Patrzyłem na kolejność przerwań w tabeli f0 ale nie na adresy. Aby zapełnić luki i poprzesuwać adresy dodałem brakujące reserved handler Dodano po 11 Teraz tylko muszę rozwiązać skąd mi przerwań multum nadchodzi i w nierównych odstępach od timera. Bo pwm wyprowadzone jest na jedną diodę a przerwanie zmienia stan innej diody....

    Mikrokontrolery ARM   20 Paź 2013 11:55 Odpowiedzi: 24    Wyświetleń: 4221
  • [Atmega8] [Atmega8][C/winavr] Niezrozumiałe działanie zmiennej w sterowniku kotła

    A jednak w pełnym kodzie masz kilka przerwań. I dwa z nich są NOBLOCK. To zobaczmy co piszą na ten temat: #define ISR_NOBLOCK # include <avr/interrupt.h> ISR runs with global interrupts initially enabled. The interrupt enable flag is activated by the compiler as early as possible within the ISR to ensure minimal processing delay for nested interrupts....

    Mikrokontrolery   09 Lut 2011 00:47 Odpowiedzi: 12    Wyświetleń: 2026
  • [STM32][F4] - Przerwanie od timera, wskakiwanie do "__Default_Handler"

    Witam, Bazuje na projekcie ze strony Freddie Chopin dla stma F4 z dodanymi bibliotekami STM32F4xx_StdPeriph_Driver. Zdefiniowałem sobie konfigurację timer'a w następujący sposób: [syntax=c]void Timers_Config(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_TI... ENABLE); NVIC_InitTypeDef NVIC_InitStruct; NVIC_InitStruct.NVIC_IRQChannel = TIM1_CC_IRQn; NVIC_InitStruct.NVIC_IRQChannelPreemptio...

    Mikrokontrolery ARM   16 Mar 2013 10:19 Odpowiedzi: 4    Wyświetleń: 3063
  • PIC32 - Błąd atrybutów sekcji '.ramfunc' przy ISR w RAM, jak naprawić?

    W pierwszym przypadku po prostu przedobrzyłeś z atrybutami funkcji (tak mi sie wydaje :)): E:\\projects\\PIC32\\amivs\\amivs.X/... relocation truncated to fit: R_MIPS_26 against `PMPSlaveReadBuffer' E:\\projects\\PIC32\\amivs\\amivs.X/... relocation truncated to fit: R_MIPS_26 against `PMPSlaveWriteBuffer'...

    Mikrokontrolery PIC   16 Wrz 2014 10:44 Odpowiedzi: 8    Wyświetleń: 2229
  • STM32F373 - SysTick nie uruchamia się po migracji z STM32F103

    Witam wszystkich. Uzywam Eclipse + OpenOCD (0.9.0) + GCC. Do tej pory używałem STM32F103 (Cortex-M3), a teraz przesiadłem się na STM32F373 (Cortex-M4). Wziąłem ze starego programu skrypt linkera, startup, vectors.c i posklejałem do kupy odpowiednio je modyfikując. Program generalnie odpala się, mogę sterować GPIO. Następnie spróbowałem uruchomić SysTicka....

    Mikrokontrolery ARM   17 Lut 2016 10:36 Odpowiedzi: 12    Wyświetleń: 1224
  • Jak skonfigurować lm3s9b90 z CodeSourcery, OpenOCD i Eclipse?

    Zauważyłęm ze pierwsze 16 to exceptions i są u mnie takie same , jednak dalej zaczyna się kłopot, w dokumentacji do Twojego układu jest kolumna acronym w nocie do mojego nic takiego nie ma. http://obrazki.elektroda.net/77_12812020... Nie jest źle - nazwij je tak jak tam widzisz - UART0_IRQHandler, GPIO_PORT_C_IRQHandler itd. a poza tym rozumiem...

    Mikrokontrolery ARM   09 Sie 2010 22:12 Odpowiedzi: 26    Wyświetleń: 4067
  • [stm32] freeRTOS zawiesza się w funkcji vListInsert - przyczyny?

    Witam Wiem że o __attribute__ ((interrupt)) jest dużo napisane na tym forum, i w sumie jak teraz patrzę na FreeRtos to oryginalnie jest tak: [syntax=c]void xPortPendSVHandler( void ) __attribute__ (( naked )); void xPortSysTickHandler( void ); void vPortSVCHandler( void ) __attribute__ (( naked )); [/syntax] I wszystko działa... jakoś, xPortSysTickHandler...

    Mikrokontrolery ARM   24 Mar 2013 20:53 Odpowiedzi: 33    Wyświetleń: 7296
  • [Eclipse] Jak zaimplementować FreeRTOS w Eclipse z Codesourcery G++ dla STM32?

    Nie wiem jak wygląda Twój projekt. Ja mam w pliku port.c gdzieś tam dopisane tylko 3 linijki: [syntax=c] void PendSV_Handler(void) __attribute__ ((interrupt, naked, alias("xPortPendSVHandler"))); void SysTick_Handler(void) __attribute__ ((interrupt, alias("xPortSysTickHandler"))); void SVC_Handler(void) __attribute__ ((interrupt, naked, alias("vPortSVCHandler")));...

    Mikrokontrolery ARM   10 Lut 2012 14:44 Odpowiedzi: 20    Wyświetleń: 6768
  • CMSIS stm32f103 obsługi drgań styków w przerwaniu

    Dodam jeszcze że to: __attribute__((interrupt)) jest kompletnie niepotrzebne i tylko powiększa niepotrzebnie kod (zmniejszając szybkość wykonywania).

    Mikrokontrolery ARM   18 Maj 2018 08:26 Odpowiedzi: 49    Wyświetleń: 2319
  • [STM32][Eclipse] Włączenie USB powoduje wejście do Default_Handlera.

    Stwierdziłem że najlepiej jak zacznę przejście do Eclipse od nowa i wzorując się na [url=http://www.freddiechopin.info/pl/ar... i projekcie Freddiego zrobiłem to jeszcze raz. Niestety objawy są dokładnie takie same. Dlatego spróbuję krótko opisać co zrobiłem i co zmieniałem:...

    Mikrokontrolery ARM   25 Maj 2013 14:52 Odpowiedzi: 6    Wyświetleń: 2127
  • Coocox CoOS/FreeRTOS na HY-MINI STM32V – brak działania LED, zawieszanie na CoInitOS()

    Dodałem konfiguracje SysTick do obu projektów. Zero efektu. Już mi się kończą pomysły. Przejrzałem konfiguracje linkera, kompilatora i nic. Nie wiem czego się złapać. Wszystkie inne projekty działają a nie umiem uruchomić żadnego RTOS'a. Dodano po pewnym czasie Odpaliłem FreeRTOS Wiedza dla potomnych. Wystarczyło w pliku port.c włączyć aliasy przerwań...

    Mikrokontrolery ARM   31 Gru 2014 15:59 Odpowiedzi: 7    Wyświetleń: 1071
  • Jak działa Stack Align w STM32F103?

    1. Co to jest dokładnie to wyrównanie stosu do 8 bajtów i do 4 bajtów, standard API zaleca 8 jak to wygląda w pamięci Chodzi o to, że w momencie "wejścia do dowolnej funkcji" wartość rejestru wskaźnika stosu (SP) ma być podzielna bez reszty przez 8. Do "wejścia do dowolnej funkcji" wlicza się również wejście do przerwania, a ponieważ kod tego w sposób...

    Mikrokontrolery ARM   04 Sty 2021 08:13 Odpowiedzi: 15    Wyświetleń: 1152
  • [stm32] - Przerwanie zewnętrzne na PE0 zamiast PA0, analiza kodu

    SYSCFG włączyłeś? Debugger masz nawet nie sprawdziłeś czy konfiguracja się zapisała. [syntax=c]__attribute__((interrupt));[/s... Zbyteczne całkowicie.

    Mikrokontrolery ARM   05 Sty 2015 17:47 Odpowiedzi: 22    Wyświetleń: 1662
  • Przykładowe projekty ARM dla NXP LPC2103 i ST STM32F103RB w Eclipse

    Póki co mniejsza o to co ten atrybut znaczy, pewnie kiedyś do tego dojdę. Ale... [syntax=c]void EXTI0_IRQHandler(void) __attribute__ ((interrupt, weak, alias("__Default_Handler")));[/syntax] i tu już jest ten atrybut. Więc rozumiem, że tego nie ruszam, tylko gdzieś indziej piszę: [syntax=c]void EXTI0_IRQHandler(void) __attribute__ ((interrupt));[/syntax]...

    Mikrokontrolery ARM   21 Maj 2013 09:25 Odpowiedzi: 341    Wyświetleń: 101268
  • LPC812 - MRT: Dlaczego odczyt IRQ_FLAG zwraca 0 zamiast 1?

    A jakbyś dodał do przerwania atrybut? void MRT_IRQHandler(void) __attribute__ ((interrupt)); void MRT_IRQHandler(void) { ... ? 4\/3!!

    Mikrokontrolery ARM   28 Kwi 2014 21:28 Odpowiedzi: 5    Wyświetleń: 1506
  • ARM - przerwanie timera, problem z migającą diodą LED

    Wszystkie linie typu: static void timer0ISR(void) __attribute__ ((interrupt ("IRQ"))); Bo generacją nagłówka zajmuje się wklejony kod. Definicja musi pozostać.

    Mikrokontrolery   21 Gru 2007 10:02 Odpowiedzi: 13    Wyświetleń: 3056
  • STM32F0DISCOVERY - Bluetooth HC05 - Błędne znaki przy odbiorze UART

    Poniższe linie nic nie robią: [syntax=c] GPIOC -> OTYPER &= ~0x0;//push-pull GPIOC -> OSPEEDR |= 0x0;//mała prędkośc zbocza [/syntax] __attribute__((interrupt)) jest zbędne.

    Mikrokontrolery ARM   08 Mar 2016 15:38 Odpowiedzi: 20    Wyświetleń: 1506
  • [STM32][CortexM3] - Run Time Statistics w FreeRTOS.

    Jeśli timer jest 16-bitowy to musisz dorzucić coś więcej - 16-bitów to zbyt mało. Licznik z którego korzystają run-time stats musi być 32-bitowy... Ja na STM32 mam to zrobione tak... 1. W FreeRTOSConfig.h mam: [syntax=C]... /*--------------------------------------... | Runtime...

    Mikrokontrolery ARM   23 Lis 2012 20:57 Odpowiedzi: 8    Wyświetleń: 3099
  • LPC2138: Zawieszanie programu przy dużym kodzie ISR_FIQ dla TIMER0

    A sprobuj uzyc standardowych prologow/epilogow handlera FIQ generowanych przez GCC: __attribute__((interrupt(&qu... void Timer0ISR(void) { ....kod.... }

    Mikrokontrolery   14 Maj 2007 22:37 Odpowiedzi: 10    Wyświetleń: 1614
  • [C/ASM] [C/ASM][CORTEX-M3] - Jak przypisać zmienną C do rejestru R0?

    Zresztą to też jest źle bo na "clobber list" nie mogę umieścić r7 - dlaczego? No ale przecież teraz też masz źle, przecież Ty nie "zastępujesz" tego co jest w tych rejestrach, tylko odczytujesz - one nie są dla Ciebie clobber, tylko właśnie input. A R7 to jest frame pointer. W "clobber" powinieneś mieć tylko "memory". Przy okazji wcale nie modyfikujesz...

    Mikrokontrolery ARM   30 Mar 2013 11:20 Odpowiedzi: 10    Wyświetleń: 1851
  • [AT91SAM7S256][C] USB, AMR, HID, Jak oprogramować procek?

    _irq przy funkcji oznacza ze jest to funkcja obslugi przerwania.Twoj blad polega na tym ze GCC ma inny format deklaracji takiej funkcji niz Keil.W przypadku GCC uzywane jest __attribute__ ((interrupt("IRQ")) zamiast __irq. pz

    Mikrokontrolery ARM   08 Mar 2009 17:45 Odpowiedzi: 46    Wyświetleń: 6670
  • Nucleo stm32f103rb wyprowadzenie UART z ST-LINKA na piny

    Rzeczywiście teraz dopiero do mnie dotarło jak funkcjonuje mbed. W przeglądarce generuje mi plik .bin który np. za pomocą ST-Link Utility mogę wgrać. Pozytywnie zaskakuje mnogość bibliotek, jednak tak jak wcześniej napisałeś mogą wymagać drobnej edycji. Zainspirowany podanymi wyżej sugestiami, problem z Uartem rozwiązałem tak, że dane wychodzące przekazuje...

    Mikrokontrolery ARM   16 Lip 2018 09:26 Odpowiedzi: 12    Wyświetleń: 1002
  • ARM - Zbiór informacji z innych tematów plus FAQ (Dla początkujących)

    [syntax=c]void EXTI9_5_IRQHandler(void) __attribute__ ((interrupt, weak, alias("__Default_Handler")));[/syntax] Czyżby jedno przerwanie obsługiwało 5 przycisków ?? Kombinuje zrobić by po naciśnięciu przycisku wykonywało pewną funkcje. I tak rzuciło mi się w oczy że pewne EXTI mają osobiste wektory przerwania a niektóre wspólne. Dobrze to jest ?? I ogólnie...

    Mikrokontrolery ARM   05 Kwi 2014 17:20 Odpowiedzi: 110    Wyświetleń: 21759
  • [lpc2142] LPC2142: Zawieszanie się ARM przy wywołaniu funkcji w przerwaniu wektoryzowanym

    A tak w ogóle to informujesz jakoś kompilator, że te procedury są obsługą przerwań? Chodzi mi tu o __attribute__((__interrupt__)) , bo żadnych innych wrapperów w tych funkcjach nie widzę.

    Mikrokontrolery ARM   15 Mar 2010 13:42 Odpowiedzi: 14    Wyświetleń: 2879
  • PIC24HJ32GP202 +LCD problem z kompilacja; brak adcDrv1.h

    taaakk... w temacie o PICu koles na pewno pytal jak to zrobic oscyloskopem... anyway: poczytaj w dokumentacji o input capture - jest to uklad stworzony do tego wlasnie celu. daje ci on przerwania. dodatkowo w rozdziale Family Reference Manual poswieconym temu wlasnie ukladowi masz przyklad mierzenia okresu przebiegu: 12.5.1 Code Example for Period Measurement...

    Mikrokontrolery   07 Kwi 2008 21:24 Odpowiedzi: 9    Wyświetleń: 2024
  • Jak poprawnie umieścić funkcję w RAMie podczas aktualizacji firmware?

    Zrobiłem test na przykładzie z innego wątku i to działa A spróbuj dodać pod spodem drugą funkcję umieszczoną w RAMie. Działa, ale z warningiem assemblera. Warning występuje w pierwszym i drugim przypadku. #include "LPC214x.h" void Timer0Handler (void) __attribute__((interrupt(&qu... void InitTimer0(void);...

    Mikrokontrolery   15 Mar 2010 15:00 Odpowiedzi: 44    Wyświetleń: 4810
  • [STM32] [STM32][C/GCC] Hard Fault przy obsłudze przerwań na przycisku WaveShare Port103Z

    Hmm, w pliku startup.S nie ma definicji. Jest natomiast w pliku vectors.c i tam też się nazywa EXTI15_10_IRQHandler linijka void EXTI15_10_IRQHandler(void) __attribute__ ((interrupt, weak, alias("__Default_Handler")));

    Mikrokontrolery ARM   11 Lut 2012 13:46 Odpowiedzi: 48    Wyświetleń: 6055
  • [STR912] - Nie działa przerwanie od timera 1 przy użyciu VIC i UART

    Dałeś ten atrybut w złym miejscu. Zrób tak: [syntax=C]void nazwa_funkcji(void) __attribute__ ((interrupt("FIQ"))); void nazwa_funkcji(void) { ... }[/syntax] Atrybut jest generalnie konieczny chyba że masz wrapper w assemblerze, który załatwi za Ciebie niuanse powrotu z przerwania. 4\/3!!

    Mikrokontrolery ARM   23 Lis 2012 13:05 Odpowiedzi: 19    Wyświetleń: 2028
  • Jak skonfigurować ARM toolchain: integracja CodeSourcery, OpenOCD i Eclipse

    pod warunkiem ze Freddie napisze jakis tutor jak definiowac przerwania :] Z grubsza tak: void jakas_funkcja(void) __attribute__ ((interrupt("IRQ"&... void jakas_funkcja(void) { ... } [; Niemniej jednak to tylko jedna z czynności, które są konieczne aby przerwania raczyły działać poprawnie...

    Mikrokontrolery ARM   22 Wrz 2017 13:17 Odpowiedzi: 374    Wyświetleń: 133868
  • [STM32] Jak wygenerować przebieg prostokątny o określonej częstotliwości na STM32?

    void TIM3_Handler(void) __attribute__((interrupt)); void TIM3_Handler(void) { } Właśnie tak robię. Wszystko oczywiście w pliku vectors.c. No nic popatrzę zatem w czym jest problem w niedzielę. Jeżeli mi się uda rozwiązać go to przedstawię tutaj rozwiązanie. Dzięki freedy za zainteresowanie

    Mikrokontrolery ARM   07 Wrz 2010 12:05 Odpowiedzi: 35    Wyświetleń: 9892
  • [LPC2000] Jak napisać fiq_handler dla LPC2000 w CrossWorks 1.7 w C++?

    Witam. Próbuję odpalić przerwanie fiq pod CrossWorksem1.7. Kod piszę w cpp. Postępuję analogicznie do przerwań irq, czyli deklaracja wygląda tak: void timer2ISR(void) __attribute__ ((interrupt ("FIQ"))); Cała obsługa przerwania jest na pewno napisana poprawnie ponieważ działa dla przerwań irq. Konfiguracja przerwań...

    Mikrokontrolery ARM   17 Mar 2009 09:47 Odpowiedzi: 2    Wyświetleń: 1129
  • stm32103vct6 - Przerwanie TIM4 wpada do Default_Handler poza main.c

    Skonfigurowałem TIM4 aby wywoływał przerwanie. Jeżeli definicję przerwania umieszczę w main.c to wszystko działa. Jeżeli definicja zostanie umieszczona w innym pliku to każde wywowałnie wpada do Default_Handler. Przerwanie definuję w ten sposób: [syntax=c]void TIM4_Handler(void) __attribute__((interrupt)); void TIM4_Handler(void) { ... }[/syntax] Czy...

    Mikrokontrolery ARM   27 Lis 2016 12:00 Odpowiedzi: 3    Wyświetleń: 807
  • [stm32] [stm32][C] Przerwanie od pinu PA3 - błąd w konfiguracji NVIC i EXTI

    Nie zmieniaj niczego w SCB - domyślne wartości są OK. Rejestr IMR ustawiasz "odwrotnie". Rejestr EMR ustawiasz niepotrzebnie (i "odwrotnie"). Do włączenia konkretnego przerwania użyj funkcji z CMSIS. Funkcja obsługi przerwania powinna mieć odpowiedni atrybut informujący kompilator o jej specjalnym zastosowaniu - "__attribute__ ((interrupt))" 4\/3!!

    Mikrokontrolery ARM   28 Lip 2011 19:57 Odpowiedzi: 8    Wyświetleń: 3537
  • ZL25ARM+ZL24ARM: Jak obsłużyć przerwanie watchdog w trybie Timer Mode?

    Podejrzewam ze problem moze byc wynikiem uzycia zlego pliku startowego Sprobuj tego, tylko pamietaj ze przerwanie w C musi byc z __attribute__((interrupt)) PS. Ten startup ma domyslnie wylaczone przerwania w rejestrze CPSR, musisz je dodatkowo wlaczyc (czyszczac bit I w CPSR), mozesz to zmienic w startupie.

    Mikrokontrolery   24 Sie 2007 22:16 Odpowiedzi: 2    Wyświetleń: 1122
  • STM32F407 [C] bez SPL - TIM1 i zliczanie impulsów z pinu

    Tutaj jest kod przykładu, który przerabiam dla swojego uC: [syntax=c] int main(void) { RCC->APB2ENR = RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPAEN | RCC_APB2ENR_TIM1EN; gpio_pin_cfg(GPIOB, PB0, gpio_mode_output_PP_2MHz); gpio_pin_cfg(GPIOA, PA8, gpio_mode_input_pull); BB(GPIOA->ODR, PA8) = 1; TIM1->CCER = TIM_CCER_CC1P; TIM1->SMCR = TIM_SMCR_SMS | TIM_SMCR_TS_0...

    Mikrokontrolery ARM   17 Sty 2016 19:39 Odpowiedzi: 12    Wyświetleń: 1428
  • ARM AT91SAM7S-EK: Przerwania ADC nie działają - co sprawdzić?

    To nie chodzi o "zakomentowanie" początku i końca wrappera, tylko o zupełnie inny sposób wejścia do przerwania. Jeśli nie masz zagnieżdżeń, to powinno to być zrobione w tablicy wektorów i wyglądać podobnie do tego (dla LPC2103): ldr pc, [pc, #-0xFF0] // Interrupt exception -> VIC Swoją drogą, to chyba dla Atmeli nawet wygląda to identycznie. Oczywiście...

    Mikrokontrolery ARM   28 Gru 2010 21:44 Odpowiedzi: 10    Wyświetleń: 1578
  • Jak skompilować lwIP 1.3.2 z poprawnym uwzględnieniem ścieżek do plików?

    Z tego co znalazłem na w necie dla LPC2148 jedna z rozbiegówek wyglądała tak: MEMORY { flash : ORIGIN = 0x00000000, ram : ORIGIN = 0x40000200, W Twoim przykładzie: ram : ORIGIN = 0x40000000 Ale nie to powoduje błąd. [syntax=c]void funkcjaISR(void) __attribute__ ((interrupt("IRQ"))); void funkcjaISR(void) { ... } [/syntax] oczywiście......

    Mikrokontrolery   23 Paź 2011 15:48 Odpowiedzi: 27    Wyświetleń: 3270
  • [STM32F100][OPENOCD+Eclipse] - HardFault po pierwszej instrukcji

    Sprawdź w pliku .lss czy adres Twojej funkcji obsługi przerwania znajduje się we właściwym miejscu tablicy wektorów. Przy okazji dla STM32F1x należy funkcję obsługi przerwania deklarować w ten sposób: void EXTI3_IRQHandler(void) __attribute__ ((interrupt)); void EXTI3_IRQHandler(void) { ... Ewentualnie należy ustawić bit STKALIGN w stosownym rejestrze:...

    Mikrokontrolery ARM   29 Wrz 2014 19:06 Odpowiedzi: 34    Wyświetleń: 2826
  • 24FJ64GA008 - Przerwanie od Timer2/3 jest za rzadko

    Zależy mi na jak najszybszej realizacji funkcji przerwania od Timera przerwanie zrób jako: [syntax=c]void __attribute__((__interrupt__, no_auto_psv)) _T3Interrupt(void) { cnt++; IFS0bits.T3IF = 0; }[/syntax] pozostały kod z Twojego przerwania umieść w pętli głównej, możesz je przepisać jako: [syntax=c]LAT_LED00 = (cnt >= pwm00) ? ON : OFF;[/syntax]...

    Mikrokontrolery PIC   11 Gru 2013 23:42 Odpowiedzi: 29    Wyświetleń: 3495
  • STM32 - Timer One Pulse Mode: Przerwanie Generowane Od Razu, Nie Po 1s

    Witam, Chcę skonfigurować timer tak aby po określonym czasie zostało wygenerowane przerwanie(jednokrotnie), fragment kodu: [syntax=c]TIM4->PSC = 7200; TIM4->ARR = 10000; TIM4->DIER = TIM_DIER_UIE; TIM4->CR1 |= TIM_CR1_URS | TIM_CR1_OPM | TIM_CR1_CEN; NVIC_EnableIRQ(30);[/syntax] obsługa przerwania: [syntax=c]__attribute__ ((interrupt)) void TIM4_IRQHandler(void)...

    Mikrokontrolery ARM   26 Sie 2012 18:36 Odpowiedzi: 2    Wyświetleń: 2985
  • Brak wywołania funkcji przerwania Timer0 w LPC2142 na płytce ZL9ARM z ZL10ARM

    ARM7 używałem wieki temu, jednak widzę dwie różnice między Twoim a moim kodem. 1. Przerwanie powinno mieć atrybut, np.: void __attribute__ ((interrupt("IRQ"&... IntTimer0(void) { ... } Bez tego prawdopodobne jest zawieszenie całości. No chyba że za zabawy stosem odpowiada Twój plik z wektorami i startupem,...

    Mikrokontrolery ARM   07 Lip 2017 22:50 Odpowiedzi: 6    Wyświetleń: 1149
  • [AT91SAM7X] Reinicjalizacja kontrolera PDC w przerwaniu

    Znalazłem rozwiązanie problemu. Wystarczyło przepisać funkcję inline do przerwania: void __attribute__ ((interrupt ("IRQ")))ADTC2... void ) { ULONG status_r; status_r = AT91C_BASE_ADC->ADC_SR; if( status_r & ADC_ENDRX ) { ADTC2DMA_state.Counter++; AT91C_BASE_PDC_ADC->PDC_RPR...

    Mikrokontrolery ARM   06 Lis 2008 14:32 Odpowiedzi: 3    Wyświetleń: 2922
  • [RPi][Python] Błąd "object has no attribute'

    Witam Podpiąłem anemometr do Raspberry Pi i chciałem przetestować gotowe rozwiązanie do jego obsługi, które znalazłem na GitHub-ie (https://github.com/raspberrypi/weather-... Wszystko OK, ale nie chce uruchomić się daemon obsługujący przerwania od czujnika wiatru, konkretnie jest to plik: https://github.com/raspberrypi/weather-s...

    Raspberry Pi i inne SBC   28 Maj 2017 17:56 Odpowiedzi: 6    Wyświetleń: 1656
  • Jak uruchomić FIQ na LPC2142 z użyciem mojego vectors.S

    Z plikiem Startup.S działało, procesor wchodził do obsługi przerwania, wykonywał tam co trzeba, ale tylko raz, później debugger wpadał do pliku swi_handler.S, do funkcji Jeśli chcesz używać FIQ bezpośrednio (bez assemblerowego wrappera), to funkcja obsługi przerwania musi mieć odpowiedni atrybut, bo bez tego nieprawidłowo wykona wejście do przerwania...

    Mikrokontrolery ARM   27 Wrz 2017 11:09 Odpowiedzi: 6    Wyświetleń: 891
  • [STM32F0] - Komplikacje z uruchomieniem zewnętrznych przerwań EXTI.

    Hehe, chyba ślepnę powoli :P Masz dobrą tablicę wektorów? Tablicę wektorów oczywiście napisałem sam, na podstawie twoich projektów dla µC LPC11xx i STM32. No i faktycznie, w tablicy wektorów zapisane miałem: Nie powinieneś działać na rejestrze 0? Tak, dokładnie, jedynka była wynikiem moich poszukiwań niepowodzenia, wcześniej widniało tam zero....

    Mikrokontrolery ARM   22 Maj 2013 21:53 Odpowiedzi: 4    Wyświetleń: 1914
  • [AT91SAM7S] Konfiguracja przerwań Timer0 na AT91SAM7S64 w CrossStudio - brak reakcji

    Udało mi się wreszcie to uruchomić :) Dziękuje za podpowiedź z prefiksem :) Poprawna funkcja powinna wyglądać tak (dla CrossStudio) void __attribute__ ((interrupt("IRQ"&... Przerwanie(){ int dummy; //KOD //Koniec przerwania (odblokowanie statusu) dummy = TC0_SR; AIC_EOICR = 1; } Należy następnie...

    Mikrokontrolery ARM   29 Maj 2008 17:24 Odpowiedzi: 2    Wyświetleń: 3395
  • [stm32][keil] Konfiguracja EXTI i NVIC dziwne zachowanie.

    Witam! Próbuje skonfigurować zewnętrzne przerwanie od przycisku dołączonego do PC0. Wciśnięcie przycisku ma powodować zaświecenie diody, co się nie dzieje. Dioda zaświeca się po machnięciu ręką nad płytką, a dokładniej nad goldpinem do którego dołączone jest PA0. Korzystam z ZL31ARM. Kod porównywałem z tematem http://www.elektroda.pl/rtvforum/topic20...

    Mikrokontrolery ARM   17 Cze 2014 23:58 Odpowiedzi: 6    Wyświetleń: 3015
  • STM32 - Przerwanie zewnętrzne: konfiguracja przycisku na PA9 i diody na PA10

    (at)habrat włączasz taktowanie AFIO? Dodano: Tak sobie myślę, że grono osób chętnych do analizowania Twojego kodu byłoby większe, gdyby był ładnie sformatowany i ogołocony ze wszystkiego co nie potrzebne, ale to Tobie powinno zależeć ;) Bo teraz to... szybciej można to napisać od zera: [syntax=c]int main(void) { RCC_InitMax(); /* HSE, PLL, 72MHz */...

    Mikrokontrolery Początkujący   18 Sty 2015 17:43 Odpowiedzi: 18    Wyświetleń: 2988
  • STM32F3 - BlackBOX v1,0 Rejestrator lotu rakiety. Projekt PCB i programowanie.

    static void EXTI0_IRQHandler(void) __attribute__ ((interrupt)); Po pierwsze nie ma najmniejszego sensu deklarować wcześniej funkcji przerwania, bo przecież nigdzie jej nie wywołujesz. Proponuję tego nie robić. To w sumie mało istotne, ale... (; Po drugie - i to jest problemem - funkcje "globalne", a taką funkcją JEST przerwanie - N-I-E mogą być static....

    Mikrokontrolery ARM   26 Mar 2013 22:47 Odpowiedzi: 38    Wyświetleń: 7209
  • STM32F10x stm32_blink_led i wejście w złe przerwanie.

    Masz to w kodzie nagłówka zadeklarowane jako extern ? Po co? Czy wymagane są jakieś dodatkowe atrybuty (__attribute__) ? Konieczne nie są (bo bez też działa), ale można dorzucić i wtedy funkcja wygląda tak: ale nigdzie w kodzie nie widzę skoku pod adres "8000450". Skok powinien być w tablicy wektorów na samym początku, tyle że adres będzie większy...

    Mikrokontrolery ARM   06 Lip 2012 18:05 Odpowiedzi: 12    Wyświetleń: 1560
  • ARM LPC2138: Timer zatrzymuje program przy CCR=0x01 w projekcie zamek na pin

    void countDown(void) __attribute__ ((interrupt)); coś takiego owszem mam, konfigurację programu mam taką samą jak w programie testowym (który działa) i tam również korzystam z lcd do wyświetlania inkrementowanej liczby. Różnica jest w taktowaniu peryferiów ale do tego odpowiednio zmodyfikowałem wartości PREINT=0x727 i PREFRAC=0x8583B; no i taka że w...

    Mikrokontrolery   07 Sty 2013 20:41 Odpowiedzi: 11    Wyświetleń: 1824
  • ECLIPSE - Jak poprawnie definiować przerwania dla LPC2138?

    Witam, napisałem programik obsługi przerwania od timera dla lpc2138 w środowisku ECLIPSE, ale nie działa poprawnie. Ten sam program napisalem w Keilu, i chodzi. Interesuje mnie więc jak definiować poprawnie przerwania, bo tu pewnie pies pogrzebany. Oczywiście kompiluje się wszystko poprawnie. Tyle że program nie wchodzi w przerwanie. void T0isr (void)...

    Mikrokontrolery   22 Sty 2007 10:32 Odpowiedzi: 11    Wyświetleń: 2132
  • STM32 Nucleo F103 RB - Konfiguracja przycisku na rejestrach, problem z CRH

    Włąśnie jestem w rozdziale o systick. Według mnie zmiana stanu diody powinna odbywać się co 1 sekundę a odbywa się szybciej. Nie zmieniałem taktowania procesora czyli w przypadku mojej płytki Nucleo F103rb powinna działać na 8 MHz. https://obrazki.elektroda.pl/8575770400_... [syntax=c]#include "stm32f10x.h" int main(void) { RCC->APB2ENR...

    Mikrokontrolery ARM   15 Paź 2017 19:01 Odpowiedzi: 59    Wyświetleń: 3117
  • [STM32] Jak skonfigurować NVIC dla przerwań w STM32 bez biblioteki ST?

    W pliku vectors.c znalazlem taka definicje: main() { ... Konfiguracja NVIC (); Konfiguracja Timera (); ... void TIM1_BRK_IRQHandler(void) { ... obsluga LCD ... } } Czy to co napisalem jest prawidlowe? Jesli tak to skad mam wiedziec ktora funkcje z vectors.c najlepiej wybrac do moich potrzeb - czy jest...

    Mikrokontrolery ARM   05 Gru 2011 15:49 Odpowiedzi: 7    Wyświetleń: 2427
  • NUCLEO-F103RB: SysTick_Config(8000000) generuje przerwania co 0.1s zamiast 1s

    Witam, wykorzystywałem Sistick w w swoich programach do generowania przerwań, jadnak wydawały mi się za częste. Więc sprawdziłem to na prostym przykładzie. Chciałem wygenerować przerwanie co 1s, wiec zapisałem SysTick_Config(8000000); (taktowany wew generatorem RC 8MHz). Po spradzeniu analizatorem okazało się, że wykonuje się ono 10 razy na sekundę....

    Mikrokontrolery ARM   14 Maj 2018 14:20 Odpowiedzi: 7    Wyświetleń: 525
  • PIC24H - SPI: Jednorazowa transmisja, błędy przy ponownym wysyłaniu danych

    void __attribute__((__interrupt__)... _SPI2Interrupt( void ) { IFS2bits.SPI2IF = 0; //wyczysc flage przerwania *(wsk_dane) = SPI2BUF; while(SPI2STATbits.SPIRBF); if (*wsk_dane == NULL) { wsk_dane = pomoc; } else wsk_dane++; } void initSPI() { SPI2BUF = 0; //wyczysc bufor...

    Mikrokontrolery   20 Lip 2010 14:25 Odpowiedzi: 2    Wyświetleń: 929
  • [STM32L1][FreeRTOS][GCC] - Hard fault przy włączonej optymalizacji

    Co ciekawe zarówno kod asm jak i wartość rejestrów lr i sp jest taka sama przy -O0 jak i -O1 Sprawdź to jeszcze raz, ponieważ prawdopodobieństwo wygenerowania identycznego kodu dla różnych optymalizacji jest dosyć niskie... Atrybut "__attribute((interrupt))" przy przerwaniu (tym jak i innych) jest zbędny. Czy może to być kwestia przepełnienia stosu?...

    Mikrokontrolery ARM   28 Wrz 2016 07:01 Odpowiedzi: 3    Wyświetleń: 1113
  • Jak podłączyć przerwanie przycisku do MicroBlaze bez kontrolera?

    Witam, próbuje podłączyć do microblaze'a pojedynczne przerwanie bez kontrolera przerwań i nie moge sobie z tym poradzić. W jaki sposób powinienem podłączyć np przerwanie od przycisku na płytce. Chodzi o ustawienie połączeń i inicjalizacji w programie. Przykładowy kod, który u mnie nie działa: void myISR( void ) __attribute__ ((interrupt_handler));.....

    Programowalne układy logiczne   27 Lut 2011 22:17 Odpowiedzi: 2    Wyświetleń: 1270
  • STM32F103 UART - Nieprawidłowe dane przy odbiorze znaku ASCII

    Witam, mam problem z uruchomieniem uarta. Napisałem kod, w którym z komputera wysyłam znak ASCI a zadaniem uC jest mi go zwrócić, Jak widać na zamieszczonym zrzucie uC odsyła dziwne dane. Nie wiem co może być tego powodem. Próbowałem w kilku terminalach, wszędzie ten sam efekt. Z góry dzięki za wszelkie podpowiedzi. [syntax=c]#include <gpio2.h>...

    Mikrokontrolery ARM   19 Maj 2018 09:59 Odpowiedzi: 5    Wyświetleń: 492
  • Jaki sprzęt, jakie koszta - platforma pod embedded linux.

    Właśnie próbowałem skompilować przykłady nielinuksowe na ten komputerek w GNU (eclipse). Kod w C się kompiluje w miarę Ok, musiałem tylko pozmieniać deklaracje __isr z ADS na __attribute__ ((interrupt)) które łyka GNU Ale są dwa duże pliki assemblerowe: jakiś startup i biblioteka różnych pomocniczych funkcji (mają 880 i 320 linii) i one są niestety...

    Mikrokontrolery ARM   19 Lis 2009 13:00 Odpowiedzi: 17    Wyświetleń: 5851
  • LCD HD44780 z HAL - problem z inicjalizacją i wyświetlaniem tekstu

    Nie mam oscyloskopu pod ręką :( Gdy zrobiłem tak: [syntax=c]#include "stm32f0xx.h" #include "stm32f0_discovery.h" volatile uint8_t x=0; int main(void) { RCC -> AHBENR = RCC_AHBENR_GPIOCEN; // port C GPIOC -> MODER |= GPIO_MODER_MODER8_0; // wszystkie piny jako wyjścia GPIOC -> PUPDR |= GPIO_PUPDR_PUPDR8_0;//pull-up dla całego portu SysTick_Config(16000000);//SysTick...

    Mikrokontrolery ARM   12 Wrz 2016 13:22 Odpowiedzi: 57    Wyświetleń: 3933
  • [ATMEGA8] [ATMEGA8][C] Reset mikrokontrolera zamiast obsługi przerwania INT1

    Mam dwa foldery, każdy od innej wersji avr i w każdym jest inny interrupt.h. Da się jakoś sprawdzić, który avr używa podczas kompilacji? /* Copyright (c) 2002, Marek Michalkiewicz All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:...

    Mikrokontrolery AVR   30 Gru 2010 23:13 Odpowiedzi: 54    Wyświetleń: 6060
  • [ARM7] [ARM7][Eclipse C++] Jak obsłużyć wyjątek Abort przy przerwaniach FIQ?

    Czy może ktos wie jak napisać poprawnie obsługe wyjątków abort w C (Eclipse). Mam dosyc robudowany program do pomiaru czasu w zawodach sportowych okolo 400kB. Czasem program sie zacina gdy przerwanie (FIQ) przerywa procedurę autozapisu danych na karte MMC przez SPI. Na czas zapisu nie mogę wyłączyć przerwań gdyż jest to funkcja krytyczna czasowo (impuls...

    Mikrokontrolery ARM   20 Lut 2011 11:33 Odpowiedzi: 9    Wyświetleń: 1964
  • [LPC2378] Przerwanie timera0 wywołuje się tylko raz - analiza kodu ARM

    Witam :) Wlasnie rozgryzam tego arma, popelnilem taki kod opierajac sie na zrodlach z netu: #include "LPC23xx.H" #define LEDPIN 18 //D7 on KT-M-LPC2378 Kristech volatile int i; void t0isr(void) __attribute__ ((interrupt("IRQ"&... void t0isr(void) { if (i==1) FIO1CLR = (1<<LEDPIN);...

    Mikrokontrolery ARM   07 Kwi 2009 15:16 Odpowiedzi: 11    Wyświetleń: 2008
  • Konfiguracja przerwania FIQ dla przycisku na PA19 w SAM7 z CrossWorks

    Witam! Mam problem z konfiguracją przerwania FIQ wywołanego naciśnięciem przycisku podłączonego pod PA19. Do programowania używam CrossWorks-a. Był tam gotowy program na tego typu przerwanie, tylko IRQ a nie FIQ na którym mi zależy. Po przerobieniu powstało coś takiego: #define AIC_SMR(n) (*(&AIC_SMR0 + n)) #define AIC_SVR(n)...

    Mikrokontrolery ARM   14 Cze 2009 17:29 Odpowiedzi: 9    Wyświetleń: 2298
  • STM32 F303VC6 - Konfiguracja przerwań TIM7 na rejestrach, problem z częstotliwością

    Miło mi poinformować, że po wpisaniu komendy o zerowaniu flagi przerwania całość działa pięknie. Dziękuje a ponizej zamieszczam listningi poprawne: Konfiguracje [syntax=c] void NVIC_conf(void) { NVIC_SetPriority(TIM7_IRQn,1); NVIC_EnableIRQ(TIM7_IRQn ); } void TIM7_conf(void) { TIM7->CR1 |= TIM_CR1_ARPE | TIM_CR1_URS; //włącz buforowanie rejestrów...

    Mikrokontrolery   28 Lip 2015 21:58 Odpowiedzi: 4    Wyświetleń: 930
  • STM32F0DISCOVERY - Błąd przy wgrywaniu programu, komunikat Open On-Chip Debugger

    Tylko tyle zdążyłem napisać: [syntax=c]/** ****************************************... * (at)file main.c * (at)author Ac6 * (at)version V1.0 * (at)date 01-December-2013 * (at)brief Default main function. ****************************************... */ #include "stm32f0xx.h" #include...

    Mikrokontrolery ARM   26 Lut 2016 21:08 Odpowiedzi: 10    Wyświetleń: 1050
  • STM32 Discovery F3 - Zawieszanie się przy konfiguracji ADC, kalibracja nie działa

    Zrobiłem teraz oczekiwanie na timerze 6 tą przerwę (1 sek) ale nic nie pomaga: Dodano po 38 Porównałem rejestry CR przed wywołaniem kalibracji w moim i przykładowym programie. Różnica polega na tym, że u mnie włączony jest bit ADstart a w przykładzie jest wyłączony. Skąd się bierze ta różnica?

    Mikrokontrolery   29 Wrz 2015 15:51 Odpowiedzi: 7    Wyświetleń: 1278
  • [STM32][C/asm] - Zarządzanie stosem w funkcji obsługi przerwania

    Witam! Uczę się programowania mikrokontrolerów STM32 (aktualnie męczę STM32F103). Programy piszę w C, ale co jakiś czas zerkam w to co spłodził kompilator - w celach edukacyjno-poznawczych. Napisałem prostą funkcję obsługi przerwania od SysTicka. Deklaracja funkcji ma postać: [syntax=c]void SysTick_Handler(void) __attribute__((interrupt));[/syntax]...

    Mikrokontrolery ARM   22 Maj 2014 09:55 Odpowiedzi: 5    Wyświetleń: 1956
  • [PIC] Jak zrozumieć nagłówki funkcji przerwań w PIC24J256GB110 z MPLAB?

    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_... _T1Interrupt(...

    Mikrokontrolery PIC   15 Sie 2011 14:10 Odpowiedzi: 9    Wyświetleń: 2408
  • Konfiguracja przerwania PIOA w ARM AT91SAM7S – nie wywołuje funkcji led()

    Witam Mam taki kawałek kodu: //definicja void __attribute__ ((interrupt("IRQ"&... led(void); ////////////////////////// potem w mainie: int main(void) { AT91S_PIO *pPIO = AT91C_BASE_PIOA; AT91S_AIC *pAIC = AT91C_BASE_AIC; uart0_init(); *AT91C_PMC_PCER = (1 << AT91C_ID_PIOA);...

    Mikrokontrolery   23 Mar 2010 19:27 Odpowiedzi: 10    Wyświetleń: 2732
  • [C] Dlaczego funkcja rand() zwraca 167 przy RAND_MAX 0x10 w C?

    Jak rand liczy to dowiesz się z źródła: [syntax=c]/*- * Copyright (c) 1990, 1993 *The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the...

    Mikrokontrolery AVR   16 Mar 2011 14:10 Odpowiedzi: 10    Wyświetleń: 3667
  • [Cortex] Jak ustawić priorytety przerwań NVIC w Cortex-M3?

    Pozwolę sobie odkopać temat... i się nie zgodzić ;) Jeśli dobrze rozumiem wypowiedzi kolegi michalko12 m.in.: Domniemam.... to domniemał On, że: - grupowanie priorytetów odnosi się tylko do przerwań przechodzących przez NVIC - porównując priorytety dwóch przerwań: "zewnętrznego" (priorytet w rejestrze IPR) oraz "systemowego" (priorytet w rejestrze SHP)...

    Mikrokontrolery ARM   22 Cze 2014 11:00 Odpowiedzi: 29    Wyświetleń: 6355
  • STM32 L476RG - Obsługa SysTick'a Error z winy środowiska?

    Cześć Od razu na wstępie, programowanie idzie mi tragicznie opornie, ale zaciskam zęby i próbuję. Mam Nucleo L476RG i "ujeżdżam" go z pomocą poradnika kolegi Szczywronek. Jestem na etapie SysTick'a i mam problem sam nie wiem do końca z czym. Chcę sobie wygenerować przerwanie od SysTick'a i zmienić stan pinu a środowisko System Workbench nie zgadza się...

    Mikrokontrolery ARM   17 Wrz 2016 20:19 Odpowiedzi: 9    Wyświetleń: 1344
  • [C] zmienne static globalne/lokalne dwa pliki + nagłówki .h

    Mam problem ze zrozumieniem modyfikatorów zmiennych. Mam trzy pliki. main.c spi.h spi.c Wyglądają one mniej więcej następująco. main.c #include "spi.h" main(){ unsigned int *msg; unsigned int data=0; msg=&data; spi_init(); spi_write(msg); } spi.h #define SPI_OK 0 // transfer ended No Errors #define SPI_BUSY...

    Programowanie Początkujący   01 Cze 2009 16:42 Odpowiedzi: 7    Wyświetleń: 5712
  • [LPC2124] LPC2124 - przerwania IRQ timera nie działają poprawnie, co sprawdzić?

    void IRQ_Handler( void ) __attribute__ ((interrupt("IRQ"&... #define IRQ_MASK 0x00000080 inline unsigned asm_get_cpsr(void) { volatile unsigned long retval; asm volatile (" mrs %0, cpsr" : "=r" (retval) : /* no inputs */ ); return retval; } inline...

    Mikrokontrolery ARM   07 Sie 2008 21:44 Odpowiedzi: 23    Wyświetleń: 4049
  • [LPC2129] problem z synchronicznym próbkowaniem ADC

    Sam sobie odpowiadam :) Po dość długie analizie dochodzę do takiego wniosku: Po ustawieniu wyzwalacza przetwornika ADC na linie P0.16 ADCR |= (1 << 25) | (1<<27) //Start conversion when the edge selected by bit 27 occurs on P0.16/EINT0/MAT0.2/CAP0.2 pin. nie każde opadające zbocze na P0.16 wyzwala przetwarzanie. Nie pomogło...

    Mikrokontrolery ARM   02 Mar 2011 20:50 Odpowiedzi: 5    Wyświetleń: 1666
  • ARM: Przerwanie nie działa po resecie - co może być przyczyną?

    #include "AT91SAM7S64.h" #include "lib_AT91SAM7S64.h" #include "board.h" //płytka #include "uart.h" //uart #include <ctl_api.h> #include <libarm.h> #define wlacz_irq() libarm_enable_irq() #define wylacz_irq() libarm_disable_irq() void zapal_gas(void) __attribute__...

    Mikrokontrolery   12 Lut 2008 20:29 Odpowiedzi: 8    Wyświetleń: 1416
  • [C dowolny procesor - preferowany ARM]Algorytm przycisku

    masz tutaj moj kod, ktory robi dokladnie to co chcesz... ogolnie sprawa jest prostsza niz sie moze wydawac /* +—————R...

    Mikrokontrolery   07 Wrz 2008 15:10 Odpowiedzi: 2    Wyświetleń: 2302
  • [Olimex LPC2378-STK][C/Eclipse] IRQ interrupt problem

    Witam, jestem początkujący w programowaniu ARMów, więc proszę o wyrozumiałość. Mój problem polega na tym, że program nie wskakuje do przerwania IRQ. Oczywiście mam wyzerowane bity I_BIT i F_BIT w CPSR, ustawionego VIC'a i w startupie skok do VICAddress. Pracuję w środowisku Eclipse + najnowsze yagarto, czyli: Binutils-2.19.1 Newlib-1.17.0 GCC-4.3.3...

    Mikrokontrolery ARM   18 Mar 2009 20:14 Odpowiedzi: 2    Wyświetleń: 2933
  • FreeRTOS na AT91SAM7S128 - problem z wywołaniem SWI w ARM7TDMI

    Witam, jest tak faktycznie deklaracji nazwy nie było w pliku *.S. Ta funkcja ma deklarację i definicję w jednym pliku portISR.c deklaracja /* ISR to handle manual context switches (from a call to taskYIELD()). */ void vPortYieldProcessor( void ) __attribute__((interrupt("SWI"), naked)); definicja void vPortYieldProcessor( void ) { /* Within an IRQ ISR...

    Mikrokontrolery ARM   30 Maj 2010 22:58 Odpowiedzi: 6    Wyświetleń: 1791