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!!
czyli jakich (angielska nazwa)? Na przykład VICIntEnable Czyli dla Timera2 powinienem ustawić : VICVectCntl0 = 0x1A //26 bit VICVectCntl0 |= (1<<5) //ENABLED bez względu na to jaki wybiorę nr slotu VICVectCntl ( a mogę wybrać 0-15, gdzie 0 - najwyższy priorytet) oraz bez względu na to jaki wybiorę (akurat dla tego timera) dostępny kanał:...
A próbowałeś zresetować WDT ?
Witam, W załączniku kod. W kodzie: - Podstawowa konfiguracja MAM, VPBDIV, PLL, stosów, tablicy wektorów - SSP ustawione jako SPI Slave, 8bitów danych, CPOL=1, CPHA=0, obsługa w przerwaniu FIQ Jeśli programowo "prowokuje" przerwanie to procesor wchodzi w jego obsługę i opuszcza je poprawnie. Jeśli przerwanie ma być spowodowane naturalną pracą: od timeouta...
A dlaczego miało się nie kompilować? Brak obsługi przerwań nie przeszkadza w kompilacji.
Zassaj z mojej stronki ( www.freddiechopin.info) z sekcji Download -> ARM -> Przykłady plik dla lpc2103 i zerknij tam do pliku default_handler.s. Jest tam zrobiony "łapacz" przerwań, które nie są nigdzie indziej zdefiniowane. Zasadniczo chodzi o fragmenty typu: // Undefined instructions .weakUndefined_Handler .globalUndefined_Handler .setUndefined_Handler,...
Uruchomił ktoś przerwania na LPC2478? Albo na LPC2103 ale w środowisku CodeSourcery/Eclipse (chodzi mi o te przykłady Freddiego Chopina)? Bo ja już się meczę od dawna i nic działającego nie uzyskałem.
Jedynka nie jest tutaj problemem. Popatrz na to w ten sposób jak na preskaler. Jeśli wpiszesz do preskalera wartość x (np 5), to w rzeczywistości dzielisz sygnał zegarowy na x + 1 (czyli np 6). 0 -> 1, 1 -> 2, 2 -> 3, 3 -> 4, 4 -> 5, 5 -> 0 => całość trwa SZEŚĆ taktów dokładnie tak samo jest z timerem i rejestrami match / compare...
Na 100%. void FIQ_Handler(void) __attribute__ ((interrupt("FIQ"&... I w przerwaniu nie zapisuj rejestru VICVectAddr.
przerwania z timera działają chodź nie zawsze Ja wciąż nie wiem, gdzie mamy iść <: 4\/3!!
Skrypt linkera zostaw ten który jest w moich przykładach - dla innego procesora wystarczy że zmienisz rozmiar rom i ram. Jeśli masz taką fantazję (lub używasz przerwań) to zmień też rozmiary stosów. Kiedy zostawiłem skrypt Twój, to mam: arm-none-eabi-gcc -mcpu=arm7tdmi-s -nostartfiles -Tlpc2103_rom.ld -g -Wl,-Map=./ out/lpc2103_blink_led.map,--cref,--no-wa...
No właśnie to jest najlepsze - NIC nie musiałbyś zmienić [; Przykład zadziała bez ŻADNYCH modyfikacji. Jeśli będziesz chciał użyć kiedyś przerwań, to musisz zajrzeć do pliku vectors i przejrzeć komentarze - trzeba tam wprowadzić jedną zmianę dla "nowszych" układów LPC2xxx. Jeśli potrzebne Ci będzie więcej pamięci, to trzeba zajrzeć do skryptu linkera...
Oczywiście,że można. Ale nie w tej chwili, bo nie mam aż tyle czasu. Dzis wieczorem opisze lub jutro rano. Dodano po 4 1) Pobieramy IAR for ARM ze strony [url=http://iar.com/website1/1.0.1.0/675... Do wyboru mamy 2 wersje "30-day evaluation edition" oraz "Kickstart edition" proponuje ta drugą bo można wiecznie używać, jednak głównym nieudogodnieniem...
OK, udało mi się w końcu uruchomić nieszczęsny SPI i odczytać temp z DS1722. Swoje wypociny udostępniam w załączniku. Jest to SPI z generowanym przerwaniem. Program pisany w IAR. Jeśli ktoś potrzebuje bez przezwania pisać na priv.
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...
Raster 0.5 da się bez problemu zrobić metodą termotransferową. Tak jak w przypadku fotochemii, warunkiem jest dobra drukarka i papier. Przyda się też laminator. Ja używałem dużego biurowego kombajnu Xeroxa, matowego papieru foto z tesko (niestety dawno go już nie widziałem) i laminatora z podwyższoną temperaturą. http://obrazki.elektroda.pl/8916863300_1...
po wielu walkach doszedłem do wniosku że przerwania powodowane przez USB zawieszają uC (biblioteki LPCUSB dodane do przykaład lpc2103_blink_led). Mikrokontroler nie wchodzi nawet do procedury obsługi przerwania IRQ "USBIntHandler" Wiesza sie teraz gdzieś po "USBHwConnect(TRUE);" kiedy CONNECT = 0 i tymsamym aktywowany jest PullUp dla D+ i uC otrzymuje...
Po wyłączeniu przerwań (w zasadzie tego jednego - bo tylko jedno było aktywne program nie wiesza się. I znowu wracam do kwestii rozbiegówki bo chyba tylko tam może cos być nie tak. Ciekawe założenie (; Jeśli wziąłeś przykład dla LPC2103 i zmieniłeś w nim tylko rozmiar stosu dla przerwań i używasz tego na LPC2148 to nic tam nie może być źle, bo niby...
W skrypcie linkera muszą być zadeklarowane symbole o nazwach jak wyżej wyznaczające obszar pamięci przeznaczony dla sterty (heap). Proponuję ściągnąć projekt dla lpc2103 i przystosować postawowe pliki (startup, Makefile, skrypt linkera, tablica wektorów: lpc2103_rom.ld, Makefile, startup.S, vectors.S, hdr\hdr_cpsr.h) do swojego projektu, a większość...
Tymczasem ja, od momentu jak PIERWSZY RAZ w życiu używałem ARMów, w postaci antycznych jak na dzisiejsze standardy LPC2103, używałem w zasadzie identycznego zestawu jak używam dziś - GCC, OpenOCD, GDB, Eclipse, make. Ja zaczynałem(5 lat temu) z ARMami od STM32 i zestawu jak powyżej + opis (bardzo pomocny dla zielonego) jak to skonfigurować ze strony...
Wgralem twój czysty projekt na LPC2103. Jedynie co zmienilem to predkosc z 72MHz na 24MHz. Hexa wgralem przez seriala modyfikujac vector w LPC2000 Flash Utility. Prawdopodobnie dzialal juz wczesniej ale przez to ze nie mam podeklarowanych paru rzeczy o ktorych zapomnialem (potrzebnych dla mojej plytki) wiekszosc podlaczonych elementów jest "martwa"...
Uruchomiłem przetwornik A/D w LPC2103 (kod poniżej). Generalnie program działa. Nie wiem tylko co faktycznie powinienem wpisać w CLKDIV i na jakiej podstawie obliczyć dana wartość. Kwarc zewnętrzny 12MHz a częstotliwość uC ustawiona na 60MHz PLLCFG = (1<<5)|(1<<2)... Czyli P=2 M=5. Proszę oświećcie mnie. int samplesCounter,adcResult,adcBuff;...
Witam Powiem tak u mnie jest to samo jeśli chodzi o FreeRtos i Sam7x256 +Code Sourcery mam podobne problemy co kolega "Zaquadnik". Kiedyś pracowałem yagarto, po ściągnięciu gotowego projektu ze strony FreeRtos, program się kompiluje i działa od razu. (nadmienię że na stm32 nie ma żadnych problemów z Rtos + Code Sourcery) Pierwszy problem mam z przerwaniami...
Wróciłem ponownie do tematu startupu dla LPC2xxx. Analizowałem sobie przykład kolegi Freddie Chopin dla LPC2103. Posiłkowałem się też ciekawym dokumentem który w dość dużym stopniu rozwiał moje dylematy związane z sekwencją startową dla tych mikrokontrolerów. Freddie'go o te 72MHz do których rozkręca LPC2103. Ja w dokumentacji dla tego MCU doczytałem,...
Krok po kroku: 1. zmienić rozmiary i adresy pamięci w skrypcie linkera 2. Jak chcesz pomocy, a nie wyręczenia, to musisz napisać z czym niby masz problem, wkleić to co masz itp. Bo wg mnie przerobienie tych podstawowych plików z LPC2103 na inny układ z tym samym rdzeniem to są właśnie te 2 zmiany powyżej i nic więcej. 4\/3!!
W wiekszosci ARMow jest juz A/C wbudowany, no chyba, ze to prosty LPC2103,4,5,6. Tam nie ma. Jedyny w sumie z dostepnych jakie znam to przetwornik A/C i C/A PCF8591 (ok. 12zl). No i co.. po I2C go obsluzysz i juz. Ja w ARMie uzywam softwareowego I2C bo tego sprzetowego nie moglem cos wczesniej odpalic. Moze i poszedlby na przerwaniach, ale ja chcialem...
Wracając do meritum, zaimportowałem twój projekt poprzeglądałem go, jeszcze tam wielu rzeczy nie rozumiem, ale to przyjdzie z czasem jak będę się w to zagłębiał. Zmiany które będziesz w nim musiał wykonać na pewno: - zmiana rozmiarów i adresów pamięci w skrypcie linkera; - wywalenie z main.c kodu specyficznego dla LPC2103 (ustawienie PLL, konfiguracja...
Pobierz z mojej strony przykład dla LPC2103 i przerób go dla Twojego układu: - w skrypcie linkera ustaw prawidłowe adresy i rozmiary pamięci - w startupie nic nie musisz zmieniać - w tablicy wektorów nic nie musisz zmieniać jeśli nie korzystasz z przerwań, jeśli z nich korzystasz poprzez układ AIC, to musisz upewnić się, że offset do rejestru podającego...
Witam! Wykorzystując interfejs I2C chce komunikować się z akcelerometrem BMA180. Interfejs I2C zrealizowany sprzętowo za pomocą kontrolera I2C0 z wykorzystaniem przerwania.Samą komunikację już zrealizowałem, ale mam problem z jej rozwinięciem. Poniżej przedstawiam kod który działa "poprawnie". Główny problem polega na tym, że chciałbym napisać funkcję...
Witam, Mam problem z debugowanie procesora LPC2478. Środowisko: postawione zgodnie z tutorialem ze strony Freddiego Chopinna czyli Eclipse (helios edition with HDT hardware debugging) + OpenOcd + Code Sourcery Lite edition Procesor: ARM NXP LPC2478 z kwarcem 12MHz Aplikacja: Na tym etapie mrugająca diodka na timeocie opartym o przerwanie timer0, PLL...
Witam was, w niedalekiej przyszłości chciałbym przesiąść się z AVR na ARM. Chodzi mi głównie o "modernizację domowego warsztatu" i "bazy prototypowej". Zrobiłem mały wywiad środowiskowy na lipiec/sierpień 2010- i ten post może pomóc jeszcze niezdecydowanym użytkownikom ARM. Więc oprócz AVR liznąłem uC PIC(8bitowe), pracowałem na 8080 i 8051. Niedawno...
Coś pomieszałem w pliku Makefile. Teraz mam problem z przerwaniami IRQ nie chcą ruszyć, nawet po skopiowaniu z przykładowego projektu obsługi przerwania.
Witam, staram się skomunikować mój mikrokontroler LPC2106 z kością pamięci eeprom 24c512, niestety z drobnymi problemami. Problem pojawia się gdy staram się zapisać kolejno kilka bajtów do pamięci, np: EepromWrite(0,0x19); EepromWrite(1,0x29); EepromWrite(2,0x39); EepromWrite(3,0x49); Pierwszy bajt jest zapisywany poprawnie, kolejne niestety nie. Na...
Na 99.9% Twoje problemy nie są zawinione przez Keila. Obstawiałbym przepełnienie stosu, ale nie widząc kodu trudno coś wymyślić. Dziś poeksperymentowałem nadając stosowi usera i przerwań wybitnie nadmiarowe wartości. Również inne nieistotne stosy przetrenowałem w ten sposób, ale efekt był dokładnie taki sam. Dla pewnej wartości licznika watchdoga program...
w datasheecie jest tego calkiem sporo [; na stronie nxp mozna tez znalezc cos takiego jak code bundle for lpc21xx dla dwoch roznych srodowisk (Keil i costam jeszcze) - sam tam, zgodnie z nazwa, przyklady uzycia wszystkich peryferiow tego procka, z czego 99% z nich jest na przerwaniach. calkiem sporo mozna wyczytac w ksiazkach poswieconym tym prockom:...
Pracowałem z modułami z ARE i zawsze wszystko było OK. Nic nie trzeba podciągać, jest to już realizowane rezystorami SMD wlutowanymi pomiędzy goldpiny. Zacznij to uruchamiać po kawałku. Z sygnalizacją np stanem 0 na kolejnych wyprowadzeniach portu i będziesz wiedział gdzie stoi. Ja myślę, że w przerwaniu od timera. Ładnie i pięknie jest zdefiniowane...
Obecnie programuje mikrokontrolery LPC111x w asemblerze. Wcześniej próbowałem pisać soft dla LPC210x niestety zrąbałem płytkę ale mam pewną wiedzę o różnicach między tymi rodzinami mikrokontrolerów. Jeżeli dokładnie chodzi o różnice to prezentuje się to tak: -GPIO - jest totalnie inaczej zrealizowane między cortex-ami (we wszystkich cortex-ach gpio...
Cześć, Próbuję po kawałku postawić robota, opartego o NXP LPC2106. Aktualnie mam działające PWM oraz UART ale "zawiesiłem" się na komunikacji z ADC MCP3008 za pośrednictwem SPI. Obecnie program powinien pobierać wartość napięcia z kanału 7 i przesyłać ją przez UART, jednak nic nie otrzymuję (poza znakiem nowej linii). Proszę o sugestie, co mógłbym jeszcze...
Witam serdecznie. Od pewnego czasu walczę z kartą SD (16MB Panasonic). Karta inicjalizuje się poprawnie, a przynajmniej tak mi się wydaje, ponieważ po wysłaniu CMD0 przychodzi odpowiedź R1=0x01, następnie po wysłaniu CMD1 otrzymuję 0x00. Wysyłanie innych komend również daje prawidłową odpowiedź R1. Problem polega na tym, że po otrzymaniu R1 dla komend...
lpc2103 programowanie lpc2103 przerwanie renesas przerwania
zmywarka bosch tempo cyklon zrobić wymiana piekarnika
schematy instalacji elektrycznej honda schematy instalacji elektrycznej honda
Komputer nie widzi drukarki Brother przez Wi-Fi - rozwiązania Agregat malarski Parkside nie pobiera farby - przyczyny i rozwiązania