assembler przerwa

Znaleziono około 843 wyników dla: assembler przerwa
  • potrzebna wstawka assemblerowa dla przerwania ATmega16

    gdyby to było takie proste to nie pisałbym o tym na forum, ja potrzebuję czytać pozycje przy pełnej prędkości i to bezbłędnie bez żadnych przekłamań... Maksymalnie schrzaniłeś hardware, teraz to już Cię nic nie uratuje. Do zliczania trzeba było wykorzystać ten większy Timer, a do wykrywania zmiany kierunku przerwanie. Pięknie by to chodziło a procek...

    Mikrokontrolery AVR   29 Maj 2009 09:08 Odpowiedzi: 34    Wyświetleń: 3279
  • REKLAMA
  • DOS - Odchudzenie listy procesów pracujących w przerwaniach.

    Z tymi sterownikami nie maiłem do czynienia ale początek opisu wskazuje, że służą do obsługi code page - czyli zestawu znaków (np polskie litery) Co do programowania kontrolera przerwań to znalazłem taki papier: http://sirius.cs.put.poznan.pl/~inf94333... Trzeba pamiętać, że dostęp do rejestrów HW jest przez rozkazy assemblera in/out i nie jest...

    Programowanie   13 Paź 2021 08:58 Odpowiedzi: 20    Wyświetleń: 549
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • Jak napisać procedurę przerwania w assemblerze bez prologu i epilogu w AVR GCC?

    Nie mam żadnego pomysłu na to aby zmusić kompilator AVR GCC(+AVRstudio) aby procedurę obsługi przerwania całkowicie zrealizować jako procedurę napisaną w assemblerze reszta jest w C... Utwórz sobie plik z rozszerzeniem "S", umieść w nim np. coś takiego i dołącz go do projektu :) #include <avr/io.h> #ifdef __SFR_OFFSET #undef __SFR_OFFSET #endif...

    Mikrokontrolery AVR   04 Lut 2010 22:27 Odpowiedzi: 17    Wyświetleń: 1782
  • REKLAMA
  • AVRStudio: Integracja kodu C z przerwaniami w asm dla szybkości

    funkcje w assemblerze nazwac __vector_XX gdzie XX to jedna lub dwie cyfry. numerek ten jest numerem wektora przerwan, przy czym reset ma numer 0 pozatym odpowiedni zestaw parametrow przy owym ISR pozwoli usunac wszelkie opcje dodawane przez kompilator (atrybut 'naked'). do tego mozna sobie wtedy przerwanie napisac jako wstawke asm. 4\/3!!

    Mikrokontrolery AVR   22 Gru 2008 15:29 Odpowiedzi: 5    Wyświetleń: 1359
  • Atmega168 Bascom - Przerwanie co 5us i odczyt 8 bitów

    Bascom nie da sobie z tym rady, C też nie da rady bez wstawki assemblerowej, W wartym 5zl ARM klasy STM32F030F4P6 masz 5 kanałów DMA którymi ogarnąłbyś problem tak po prostu. A z czego Ty chcesz te DMA wyzwalać? W przerwaniu bez wstawki assemblerowej też sobie z tym nie poradzi. Coś nie chce mi działać, wgrałem z kompilowany hex do procka i restartuje...

    Mikrokontrolery Początkujący   18 Lis 2014 09:04 Odpowiedzi: 65    Wyświetleń: 4797
  • przerwanie zewnętrzne w '51 assembler - reakcja na zbocze

    Jesli rozumiem chodzi o przerwanie INT aktywowane oadajacym zboczem a nie poziomem. W INT0 ustawiasz bit IT0 w rejestrze TCON na 1 jesli ma byc od zbocza a 0 jesli od niskiego poziomu. w INT1 bit IT1

    Mikrokontrolery   10 Sty 2006 10:07 Odpowiedzi: 2    Wyświetleń: 894
  • [Atmega8][assembler] Przerwanie z timera 0 nie działa

    Bo jak ma działać? Widać kolega nie do końca rozumie mechanizm przerwań, skoro czeka na przerwanie INT0, a włącza przerwanie przepełnienia Timera0. Adresem przerwania przepełnienia Timera0 jest OVF0addr, a nie INT0addr. Przerwanie od INT0 wyzwalane jest ZEWNĘTRZNIE zboczem lub stanem na fizycznym wejściu INT0 mikrokontrolera, a nie Timerem. Skąd ten...

    Mikrokontrolery AVR   07 Lis 2010 06:58 Odpowiedzi: 2    Wyświetleń: 2419
  • REKLAMA
  • [Atmega32][Avr-assembler] - Timer1 w trybie porównania przerwanie co 1s

    Działa ;-) Ustaw Breakpoint na linijce (prawy myszy Toggle Breakpoint) [syntax=avrasm]com LED[/syntax] naciśnij F5 (Run) jak zatrzyma się na Breakpoint wykonaj kod przerwania krokowo F11 naciśnij F5 (Run) jak zatrzyma się na Breakpoint wykonaj kod przerwania krokowo F11 itd. Zamiast 15625 ładuj do OCR1A 15624. Wieczorem wrzucę inny sposób migania tym...

    Mikrokontrolery Początkujący   06 Maj 2016 18:29 Odpowiedzi: 22    Wyświetleń: 2178
  • STM32F100RB - Jak aktywować przerwania RXNE dla USART1?

    Przerwania, w odróżnieniu od starych ARMów są w całości zarządzane przez ARM'a czyli CortexMx. W dokumentacji ARM znajdziesz opisy rejestrów i jako to działa. Każdy producent, taki jak ST zmienia znaczenie linii przerwań, definiując je po swojemu za wyjątkiem kilku pierwszych zarezerwowanych przez ARM. Ponadto, Cortex'y mają możliwość nadania przerwaniom...

    Mikrokontrolery ARM   02 Wrz 2013 16:49 Odpowiedzi: 10    Wyświetleń: 1488
  • [DSM-51] DSM-51 Assembler: Timer 16-bitowy i przerwania - jak odliczać czas?

    cjne A,02h,etykieta - co znaczy porównaj i skocz gdy nie są równe. W tym przypadku 02h to R2 w banku 0. Zakładam że wartość z klawiatury jest w A oraz, że jest to wartość 0-9. Jeśli kod klawisza jest inny należy do programu dorzucić tablicę z kodami klawiszy.

    Mikrokontrolery   19 Gru 2011 21:57 Odpowiedzi: 7    Wyświetleń: 5481
  • REKLAMA
  • [AVR] Timer 2 - PWM o zadanej częstotliwości i przerwania równocześnie

    Tak ponad rok temu zacząłem się bawić Nucleo, zasięgając rad u kolegi, który próbował jeszcze wcześniej. Ogólnie na STMy masz kilka możliwości pisania / środowisk. Ja standardowo zacząłem od migania ledem z assemblera, ogarnięcie środowiska do tego było przykre (pracuje na Linuxie) jest i było gcc, ale jakieś pliki trzeba było brać skądś tam itd itp....

    Programowanie   28 Sie 2022 20:08 Odpowiedzi: 6    Wyświetleń: 477
  • [LPC2378] Przerwanie timera0 wywołuje się tylko raz - analiza kodu ARM

    tak, musisz kasować ją ręcznie - tak samo jak VICVectAddress. Inaczej nie da się tego zrobić - jedno przerwanie może zostać wywołane przez wiele źródeł (przepełnienie, porównanie, złapanie nowej wartości, ...), więc nie ma innego uniwersalnego sposoby niż ręczne kasowanie odpowiednich flag Dodam może, że przy debuggowaniu wewnątrz przerwania, czasem...

    Mikrokontrolery ARM   07 Kwi 2009 15:16 Odpowiedzi: 11    Wyświetleń: 2014
  • [TMS320C6720][C/Code Composer Studio 3.3]Przerwanie zewnętrzne

    Szybkie może i są, jednak CC Studio raczej nie pozwala na wykorzystanie możliwości C67XX. Dosyć spory kod tworzy ten kompilator. Dlatego przeważnie programy na TMS'y pisze się w assemblerze, masz wtedy pełną kontrolę nad procesorem. Z racji, iż program jest malutki proponuję napisać go w assemblerze (poleceń jest mało). Nie znalazłem błędu jeżeli chodzi...

    Mikrokontrolery Pozostałe   20 Mar 2014 19:24 Odpowiedzi: 9    Wyświetleń: 3153
  • [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
  • [STR912] - Nie działa przerwanie od timera 1 przy użyciu VIC i UART

    Chyba to właśnie co znalazłem w źródłach. Deklaracja funkcji przerwania nie może mieć atrybutu Interrupt("FIQ") skoro mamy już wrapper w assemblerze. Tak jak pisałem, spróbuj z __attrybut__((naked)) albo wcale. Jeśli zadeklarujemy to jako FIQ to kompilator dodaje kod odejmujący 4 od adresu powrotu, co my już robimy we wrapperku.

    Mikrokontrolery ARM   23 Lis 2012 13:05 Odpowiedzi: 19    Wyświetleń: 2028
  • [STM32F439] Dziwne podwójne przerwanie TXE przy nadawaniu SPI w trybie MASTER

    Mozę powtórzę, bo nie lubię patrzyć jak ktoś traci czas - wszystkie porady sugerujące że problemem jest 8-/16-/32-bitowy dostęp do rejestru DR lub jakieś nieistniejące w tym układzie FIFO są po prostu błędne. Jeśli bez optymalizacji ruszyło, to powód jest dokładnie taki jak w słynnym przypadku timerów - to co kasuje flagę (zapis do DR) jest zbyt blisko...

    Mikrokontrolery ARM   05 Paź 2017 11:06 Odpowiedzi: 21    Wyświetleń: 843
  • Atomowość dzielenia w ARM, przerwania UART, średnia wartość napięcia ADC

    Witam, ... Czy to dzielenie będzie wykonane jako 1 operacja, czy zostanie rozbite na ileś tam poleceń asm. I czy przerwanie nie nastąpi w trakcie wykonywania się tej funkcji i czy przez to nie mogą pojawić się błedy? W AVR na wszelki wypadek wyłaczałem przerwania na czas wykonywania tego typu działań. ... 1) Nie do konca rozumiem pierwsze pytanie, tak...

    Mikrokontrolery ARM   28 Lip 2021 11:42 Odpowiedzi: 15    Wyświetleń: 1242
  • ATmega: Przerwania zewnętrzne INT0 i INT1 - poprawność kodu?

    :arrow: dscreator Przede wszystkim koniecznie skomentuj każdą linię i wklejaj za pomocą znaczników Code , ponieważ (jak widzisz) Twój program jest zupełnie nieczytelny (forum usuwa spacje na początku linii). Program powinien zaczynać się zaraz za obszarem wektorów przerwań. Jeśli jakiegoś przerwania nie wykorzystujesz to zamiast mnemonika rjmp wstawiasz...

    Mikrokontrolery   10 Mar 2006 00:00 Odpowiedzi: 2    Wyświetleń: 1925
  • Optymalizacja przerwań w AVR-GCC na Atmega8 bez zbędnych operacji na stosie

    $katalog_WinAVR$/doc/avr-libc/avr-libc-u... Tworzysz osobny plik w asemblerze (.S, nie .s) zawierający procedurę obsługi przerwania, kompilujesz do pliku .o i linkujesz z pozostałymi plikami. W dołączanym wo WinAVR szablonie Makefile jest przewidziane miejsce na wypisanie źródeł w asemblerze (ASRC = $tu wpisz nazwy plików$). Przykład,...

    Mikrokontrolery   22 Wrz 2007 11:50 Odpowiedzi: 4    Wyświetleń: 2010
  • Sterowanie portem RS232/COM w Delphi z użyciem wstawek assemblerowych

    Port szeregowy działa na całkiem innej zasadzie. Podaje się mu liczbe iluś-bitową (to można skonfigurować) a on przekształci ją w ciąg binarny rozpoczynający się bitem startu a zakończony bitem stopu. Układ sterownika zbudowany jest z rejestru przesuwnego do którego wpisuje się wartość do wysłania a w czasie wysyłania kolejne bity są przesuwane tak...

    Mikrokontrolery   14 Maj 2006 10:30 Odpowiedzi: 18    Wyświetleń: 13029
  • Sterowanie dwoma mikrostykami na PIC16F628A - programowanie w C lub assemblerze

    Niedawno zbudowałem timerek w którym stan przycisków sprawdzam tak : callsprawdz ;sprawdzaj stan przyciskow -------------- ------------- ------------- sprawdzcallspr_s1 callspr_s2 return ;---------------------- spr_s1btfscPORTB,4 ; wcisniety ? return ; nie btfscPORTB,4 ; puszczony goto$-1 ; nie -------------- ; tak, puszczony ------------- -------------...

    Mikrokontrolery PIC   05 Mar 2010 22:16 Odpowiedzi: 8    Wyświetleń: 1866
  • Jak napisać program w assemblerze dla 8051 do obsługi wyświetlacza i przycisków?

    Napisalem na wszelki wypadek z akumulatorem bo nie pamietam czy port 2 da sie bezposrednio sprawdzac bitowo. Musialbym zajrzec do ksiazki. Dodano po 4 Ja kompresuje program gdy zalezy mi na upchnieciu sporego programu do malej pamieci lub gdy zalezy mi na czasie procesora - przy tak prostym programie to mija sie z celem bo: 1 pamieci jak na taki programik...

    Mikrokontrolery   15 Sty 2006 22:55 Odpowiedzi: 6    Wyświetleń: 2069
  • [Atmega32] [Atmega32][ASM] Problemy z odbiorem RC5 - przerwanie INT1 i synchronizacja zegara

    Za bardzo nie mogę zrozumieć dlaczego po stronie odbiornika wszystkie dane mają postać zanegowaną w stosunku do nadajnika. Nie musi tak być - po prostu większość (wszystkie?) dostępne demodulatory podczerwieni w przypadku braku sygnału mają na wyjściu stan wysoki. Pojawienie się paczki impulsów generuje stan niski na wyjściu takiego odbiornika. Tu...

    Mikrokontrolery AVR   14 Gru 2008 21:48 Odpowiedzi: 9    Wyświetleń: 2577
  • Jak wygenerować melodię z mikrokontrolera 89C2051 w Bascom?

    Znalazłem jeden wieczor i udało mi się wymusić generowanie "muzyczki". Jest program, tablica częstotliwości tonów (od adr. 0200) i tablica nut (od 0300) ale można je poprzestawiać. Do P3.4 wrzuciłem 0 alby zworką P3.4-P3.5 móc zatrzymać generowanie melodyjki. Timer0 generuje zadaną częstotliwość a Tiimer1 nadaje tempo. T1 ma częstotliwość 256Hz. Format...

    Mikrokontrolery   05 Lip 2003 13:33 Odpowiedzi: 12    Wyświetleń: 2668
  • AVR - Obsługa przerwań dla enkodera przy dużej prędkości obrotowej

    Do kolegów co podpowiadają mi użycie makr, tak jak pisałem wczesniej, uzywam Codevision a w nim nie ma czegoś takiego - chyba. Jak już wcześniej napisałem, moim zdaniem przy takich procedurach obsługi przerwań program powinien się wyrobić bez konieczności zagnieżdżania przerwań, a przyczyna złego zliczania może leżeć gdzie indziej. Możesz oczywiście...

    Mikrokontrolery   19 Wrz 2015 19:49 Odpowiedzi: 49    Wyświetleń: 4425
  • ATxmega - jak zainicjować przerwania INT0 i INT1 na porcie E w assemblerze?

    W asemblerze ci nie napiszę, bo to niewygodne, ale musisz: skonfigurować rejestr kontrolny portu, tak aby następowało zdarzenie przy zboczu opadającym, odblokować przerwania portu IO poprzez określenie ich poziomu, odblokować dany poziom przerwań w rejestrze kontrolera przerwań i odblokować globalne zezwolenie na przerwania (sei). No i oczywiście napisać...

    Mikrokontrolery Początkujący   04 Maj 2015 08:13 Odpowiedzi: 1    Wyświetleń: 597
  • Jak odczytać stan licznika T1 w uC 8051 przy przerwaniach T0?

    Witam, wlacze od jakiejs chwili z assemblerem dla 51, stanalem na odczytaniu stanu licznika T1, sytuacja jest taka ze T1 pracuje w trybie counter liczac impulsy z zewnatrz w tym czasie T0 pracuje w trybie timer, w momencie gdy T0 wygeneruje 15 przerwan przy kwarcu 12Mhz tyle mniej wiecej przypada na sekunde ma nastapic odczyt licznika T1. O tyle co...

    Mikrokontrolery   17 Mar 2004 13:44 Odpowiedzi: 9    Wyświetleń: 1671
  • Bezpieczne kopiowanie zmiennych 16-bitowych w C na 8051 przy przerwaniach UART

    tyle ze uzycie tej flagi (czy jakiegokolwiek innego sposobu) to nie kwestia jezyka C, tylko kazdego jaki istnieje, z assemblerem wlacznie. inna sprawa jest to, ze koniecznosc rownoczesnego wspoldzielenia zmiennych przez przerwanie i funkcje zachodzi raczej nieczesto, a jak juz zajdzie, to i tak mozna jej czesto uniknac na conajmniej kilka sposobow....

    Mikrokontrolery   01 Cze 2008 07:29 Odpowiedzi: 12    Wyświetleń: 1743
  • Przerwania w AT89C2051: Co odkłada się na stos i jak działa RETI w assemblerze?

    Po wykryciu jakiegość przerwania procek wrzuca na stos licznik rozkazu, i nic więcej. Ale co się dzieje w bascomie to inna sprawa, możliwe że bez parametru NOSAVE procek działa standardowo w momencie gdy brak tego parametru bascom pewnia zapisuje dodatkowo pare standardowych rejestrów np. ACC, B czy PSW, ale to tylko spekulacja. Dzięki takiej konstrukcji...

    Mikrokontrolery   28 Mar 2004 08:27 Odpowiedzi: 11    Wyświetleń: 2998
  • Przerwanie TWI w AVR Studio 4.13 nie działa w C, działa w assemblerze

    hehe nie męcz sie dalej, jest błąd w AVRstudio. Ja miałem ten sam problem. Program w symulatorze nie działał ale gdy go wgrałem do qP to działał jak należy. W AVRstudio jest jeszcze jeden błąd a mianowicie nie działa tryb wieloprocesorowy USART. Pozdrawiam

    Mikrokontrolery   12 Maj 2007 23:22 Odpowiedzi: 1    Wyświetleń: 1329
  • Program w assemblerze dla 8051: trzy obroty w prawo, dwa w lewo, przerwania

    Witam. Czy mógłby mi ktoś pomóc wykonać program w assemblerze, który wykonuje trzy obroty w prawo i dwa w lewo za pomocą metody przerwania. Potrzebny mi kod abym mógł to wrzucić w symulator (EdSim) i pokazać doktorowi na zaliczenie. ;/

    Mikrokontrolery   08 Lut 2013 11:43 Odpowiedzi: 16    Wyświetleń: 4015
  • Avr wstawka assemblerowa. Sposób wskazywania właściwej komórki w tablicy.

    Witam Otóż mam mały problem. Pisze sobie szybkie przerwanie dla timera na Atmega644, to co mi kompilator z C przetłumaczył na assembler wrzuciłem do wstawki assemblerowej a przerwanie zadeklarowałem z argumentem ISR_NAKED, rejestry używane w przerwaniu zarezerwowałem przez: register uint16_t licznik asm("r30"); register uint16_t temp...

    Mikrokontrolery AVR   17 Maj 2011 11:36 Odpowiedzi: 5    Wyświetleń: 1743
  • Jak działa rejestr LR i stos w STM32 przy wywołaniach funkcji i przerwaniach?

    Odwrotnie - funkcje przerwań mogą być zwykłymi funkcjami, bez żadnych dziwactw, bez atrybutów, bez assemblera. Czyli to nie chodzi o to że one mogą być wywołane tak ot sobie jak zwykła funkcja jak nam jest potrzebna, tylko o to że deklaruje się ją jak zwykłą a jej użycie to zupełnie inna sprawa?

    Mikrokontrolery ARM   05 Maj 2016 14:58 Odpowiedzi: 40    Wyświetleń: 2721
  • atmega8 - możliwe przyczyny dziwnego zachowania pamięci w programie z przerwaniami

    Przerwanie nie modyfikuje SP (z punktu widzenia przerwanego kodu). Wartość SP po powrocie z przerwania jest taka sama, jak przed wywołaniem. I tu właśnie problem, bo też tak myślałem, dlatego pisałem wcześniej że błędu w logice nie ma. Mój kod nie jest błędem. Dodałem brakujące CLI i kod od godziny chodzi bez zarzutów. Spójrz na to: zapamiętaj SREG...

    Mikrokontrolery AVR   21 Sie 2015 09:34 Odpowiedzi: 26    Wyświetleń: 1482
  • Atm16,Bascom. Jak zrealizować kilkakrotną zmianę stanu portu

    1. Ogólnie liczysz dobrze, ale procesor nie wyrobi się w 160-ciu cyklach (a dokłądniej mówiąc to liczysz trochę źle bo własnie nie uwzględniasz czasu potrzebnego na obsługę przerwania). Nie uzyskasz czasu 10us, nawet dla kwarca 16MHz. Musiał byś to napisać w assemblerze i użyć dyrektywy Nosave. 2. Nie. Jeżeli coś zadeklarujesz w programie to ta rzecz...

    Mikrokontrolery   20 Lis 2009 12:18 Odpowiedzi: 76    Wyświetleń: 6372
  • ATMega8 + C + RS232 + przerwania: jak wysyłac w przerwaniach

    Postanowiłem coś napisać by sprowokować wypowiedzi innych :wink: Przyznaję się: w języku C pisałem dawno temu pod DOS-em (Turbo C 2.0) a UART programowałem tylko na 2313. Dobrze, że zamieściłeś cały program, ponieważ posłużył mi za pierwszą lekcję programowania w C na AVR-y. Atmega8 ma bardziej skomplikowany USART niż 2313 ale po przeczytaniu fragmentu...

    Mikrokontrolery   14 Lis 2004 14:04 Odpowiedzi: 1    Wyświetleń: 2204
  • Tutorial PIC18F2550 + SDCC - Część 5 - Wyświetlacz 7-segmentowy i przerwania

    https://obrazki.elektroda.pl/2568884200_... Witajcie moi drodzy Zapraszam na kolejną część mojego tutoriala PIC18F2550 i kompilatora SDCC . W tej części zademonstruję jak używać wyświetlacza 7-segmentowego z PIC18F2550 . Kod obsługi wyświetlacza będzie oczywiście napisany w oparciu o przerwania i timery . Cały proces powstawania układu...

    Artykuły   30 Gru 2020 21:50 Odpowiedzi: 4    Wyświetleń: 3711
  • Czy wstawki assemblerowe w Bascomie zmniejszają rozmiar programu?

    Teoretycznie jest możliwe na etapie kompilacji stwierdzenie które przerwania będą odblokowane, ale tylko teoretycznie, kompilator musiał by przeprowadzić symulację działania programu, można by w zasadzie zrezygnować z wstawiania takiego „bezpiecznika” (instrukcji RETI) dla każdego możliwego poza jawnie wskazanymi, idę o zakład że w wielu...

    Mikrokontrolery   14 Lis 2004 14:53 Odpowiedzi: 11    Wyświetleń: 1746
  • [Atmel AT91] [Atmel AT91][C] Jak uniknąć problemów z przerwaniami przy modyfikacji flag?

    Jak już zostało wspomniane, brak instrukcji atomowo ustawiającej lub kasującej bity w pamięci. W związku z tym może warto napisać dodatkowy moduł (kilka linijek na krzyż w assemblerze), który blokował by przerwania na dosłownie cztery cykle, pomiędzy którymi następował by odczyt, modyfikacja i zapis. Oczywiście kod nie będzie tak optymalny jak być powinien...

    Mikrokontrolery ARM   28 Cze 2011 12:16 Odpowiedzi: 8    Wyświetleń: 2103
  • 8051 - Wyświetlacz 4 cyfrowy 7 segmentowy + klawiatura + ASSEMBLER

    Zacznij od przerwania timera.

    Mikrokontrolery   16 Sty 2014 20:40 Odpowiedzi: 2    Wyświetleń: 2463
  • [c/AS6] Debugowanie kodu C dla AVR: problem z SPI i przerwaniami w symulatorze

    Witam. wcześniej w mikrokontrolerach avr korzystałem z assemblera (co pomogło mi dobrze poznać ukłądy "od środka"). Jednak nadszedł czas aby skorzystać z dobrodziejstw języka C (w tym języku pisałem wcześniej programy komputerowe). schody zaczęły się już na początku. po napisaniu kolejnych fragmentów kodu uruchamiałem symulator żeby zobaczyć czy poprawnie...

    Mikrokontrolery AVR   17 Maj 2013 17:10 Odpowiedzi: 14    Wyświetleń: 2880
  • [AT91SAM7S256] Konfiguracja przerwań AIC i timerów TC0 na ARM

    kurcze, trudne zadanie. Mógłbyś podrzucić cały katalog projektu, tzn. bez rzeczy które chciałbyś zachować tylko dla Siebie. Chodzi mi o tą często zwaną 'rozbiegówkę'( nawiasem... świetna polska nazwa) w assemblerze i o 'startup' w 'C'. sam'a tylko na płaskich przerwaniach znam( bez priorytetów przerwań). Czy procesor wchodzi w to przerwanie? tu inicjalizacja...

    Mikrokontrolery   30 Wrz 2007 04:31 Odpowiedzi: 21    Wyświetleń: 3109
  • [STM32F4 freeRTOS USB] Integracja freeRTOS i USB HID na STM32F4 - problem z przerwaniami kernela

    Witam, Programuje w CooCoox, toolchain arm-none-eabi. Na STM32F4discovery udało mi się odpalić freeRTOSa (z ripo CooCox) oraz odzielnie projekt urządzenia USB klasy HID. Oba moduły oddzielnie działają dobrze. W obydwu tematach jestem początkujący. Problem pojawia się,kiedy chce połączyć obydwie części. Nie działa;/ Prawdopodobnie winne są ramy czasy...

    Mikrokontrolery ARM   27 Kwi 2014 00:11 Odpowiedzi: 11    Wyświetleń: 3540
  • Modyfikacja dwóch bibliotek pod kątem kolidujących przerwań tak mi się wydaję

    <ciach> V-USB wymaga aby przerwania były blokowane nie dłużej niż ~25 cykli. Czyli w tym przypadku występuje problem ze zbyt długim przerwaniem timera w bibliotece "IR". Najprościej byłoby odblokować przerwania w ten sposób: Zbędne wyciąłem, bo logicznie kłóci się z kolegi postem. :)

    Arduino   15 Mar 2017 09:32 Odpowiedzi: 7    Wyświetleń: 1197
  • Obsługa przerwań w AT90s2313 - migająca dioda co 1 sekundę w assemblerze

    ; uC = 89s2313 Wiem że to pomyłka, ale niektórzy mogą tego nie wiedzieć i będą uparcie szukać takiego procesora :)

    Mikrokontrolery   15 Paź 2003 15:21 Odpowiedzi: 10    Wyświetleń: 2898
  • [lpc2378][C] Przerwania, dlaczego nie wchodzi do przerwania?

    ok, wycofuje sie z tej 1s <: pomylilo mi sie z msp430, gdzie xxPR znaczylo PeRiod, a tutaj znaczy PRescaler. poza zezwoleniem w kodzie, tryb w ktorym pracujesz musi miec zezwolenie na przerwania zawarte w CPSR - to jest ustawiane w startupie assemblerowym. tutaj przerwania sa wylaczone (bity I i F ustawione) msr CPSR_c,#SVC_MODE|I_BIT|F_BIT // ......

    Mikrokontrolery ARM   22 Cze 2008 16:48 Odpowiedzi: 5    Wyświetleń: 2346
  • Brak wywołania funkcji przerwania Timer0 w LPC2142 na płytce ZL9ARM z ZL10ARM

    Tak jak pisałem - Twój startup załatwia manipulacje stosem, więc w takiej sytuacji atrybut dla funkcji jest zbędny, a wręcz błędny. Jeśli masz debugger, to przecież możesz sobie sprawdzić czy w ogóle wchodzi do przerwania oraz czy wchodzi do tego assemblerowego wrappera który jest pod etykietą "VIC". Profilaktycznie włącz sobie też ręcznie przerwania...

    Mikrokontrolery ARM   07 Lip 2017 22:50 Odpowiedzi: 6    Wyświetleń: 1155
  • Jak zwiększyć jasność wyświetlaczy siedmiosegmentowych 8051 w assemblerze?

    Prowadzącemu być może chodziło o sterownaie wyświetlaczy w przerwaniach, Ty zrobiłeś to na pętlach opóżniających. Akurat te dwa klawisze możesz sprawdzać właśnie w tych przerwaniach obsługujących wyświetlacz albo całkiem śmiało po za przerwaniami. Bez sensu jest używać aż dwóch przerwań. Jeśli już, to podepnij klawisze pod jedno wejscie INT. DELAY:...

    Mikrokontrolery   18 Sty 2007 20:59 Odpowiedzi: 23    Wyświetleń: 3059
  • [ATtiny25][Bascom] Jednoczesny pomiar dwóch impulsów.

    Może odpal jakiś Timer żeby generował przerwanie bardzo często. Powiedzmy co 10us. I w przerwaniu sprawdzaj czy pin ma stan 0 czy 1. Jak 1 to inkrementujesz jakaś zmienną. Jak zmieni się na 0 to zwracasz wynik i zerujesz tą zmienną. Oczywiście w tym samym przerwaniu sprawdzaj tak samo drugi pin. Niestety wymaga to kodu obsługi przerwania w assemblerze...

    Mikrokontrolery AVR   05 Lis 2009 22:46 Odpowiedzi: 4    Wyświetleń: 1487
  • [Atmega162][Assembler][Niedziałające przerwanie zewnętrzne]

    Po długich bojach udało się znaleźć winą były jakieś śmieci w rejestrze UCSR1A które sprawiły że jednocześnie oprócz int0 pd2 pracowała jako xck1 co chyba uniemożliwiało wywoływanie przerwania int0. Pisze bo może się komuś to przyda. Warto też zwrócić uwagę na fusebit M161C przy takich problemach

    Mikrokontrolery AVR   05 Mar 2011 08:02 Odpowiedzi: 1    Wyświetleń: 1365
  • Przerwanie pętli while w avr-gcc za pomocą INT0 bez resetu - jak?

    Taka zmiana sterowania w "C" jest obsługiwana przez moduł <setjmp.h>. Pozwala na ustanowienie punktu w programie( funkcja setjmp() ) do którego można "skoczyć" z dowolnego miejsca w programie (funkcja longjmp() ). ( "goto" jest jedynie lokalne wewnątrz funkcji). Ale ta funkcjonalność jest projektowana dla "normalnego" programu. Nie potrafię powiedzieć...

    Mikrokontrolery   12 Gru 2005 06:57 Odpowiedzi: 7    Wyświetleń: 1988
  • ATmega32 ASSEMBLER: dziwne działanie - bardzo proszę o pomoc

    Witam, Pierwszy błąd, który wychwyciłem to brak zachowania i odtworzenia rejestru stanu procesora SREG we wszystkich obsługach przerwań. Należy również zadbać o zachowanie używanych rejestrów (R0-R31). Zobacz ci się stanie np. w takim przypadku: CPI R16,10 ; tutaj przychodi przerwanie które zmienia stan SREG (znaczniki Z,C ...) BRNE xxx LDI...

    Mikrokontrolery AVR   26 Sty 2011 16:50 Odpowiedzi: 4    Wyświetleń: 2007
  • ATmega8 – ile cykli zegara trwają instrukcje MOV i BRNE w assemblerze?

    Witam wszyskich, zaczynam programować uC (ATMega8) i mam pytanie co do assemblera. Jestem w trakcie pisania programu w którym generowana jest jakaś przerwa czasowa i moje pytanie czy instukcja mov trwa 1 cykl i dla czego instrukcja brne trwa 2 cykle? Pozdrawiam Łukasz

    Mikrokontrolery   02 Maj 2007 16:11 Odpowiedzi: 2    Wyświetleń: 1085
  • atmega8, ustawienie przerwania od timera0, assembler

    Witam, mam problem z ustawieniem przerwania od timera0 na atmega8, jestem początkujący jeśli chodzi o assembler... Problem leży w tym że, uP jest taktowany z wewnętrznego zegara 1MHz, i jeśli mam ustawiony prescaler na 8 czyli rejestr TCCR0 na 2 to powinienem otrzymać obsługę przerwania co 8us a na oscyloskopie otrzymałem igiełkę co 2ms;/ nie wiem co...

    Mikrokontrolery AVR   14 Paź 2011 09:23 Odpowiedzi: 8    Wyświetleń: 1791
  • AVR32 - przerwania. Nie działają, Co może być nie tak?

    Wszystko OK. Przykłady z pakietu korzystają z plików assemblerowych: crt0.S, exception.S, trampoline.S które należy dołączyć do projektu. Poza tym, jeśli korzysta się z tych plików, inaczej deklaruje się przerwania. Aby projekty z przykładów działały należy utworzyć projekt "Standard Make C AVR32 Project" i dołączyć oryginalny plik makefile. Natomiast...

    Mikrokontrolery   09 Mar 2008 16:09 Odpowiedzi: 2    Wyświetleń: 1355
  • Odliczanie sekund na wyświetlaczu 7-segmentowym w assemblerze

    Generujesz sobie na timerze przerwanie co sekundę i w obsłudze przerwania zwiększasz zmienną sekunda o i i sprawdzasz czy nie osiągnięto 60. Jeśli tak to zerujesz i wysyłasz do wyświetlacza.

    Mikrokontrolery Początkujący   19 Lis 2019 23:14 Odpowiedzi: 7    Wyświetleń: 411
  • [Assembler] Jak zacząć naukę assemblera dla ATtiny2313? Wskazówki i pierwsze kroki

    A powiesz mi coś o przerwaniach? Np czy mogę użyć przerwanie aby zwiększyć rejestr o 1? Jak to zrobić

    Mikrokontrolery AVR   22 Lut 2010 21:24 Odpowiedzi: 30    Wyświetleń: 8293
  • Assembler - TSR z obsługą przerwania int 21h do tworzenia pliku

    Pytanie moze nie do konca dotyczy tego forum ale wiekszosc programujacych uP w assemblerze ma podstawy assemblera z komputerow PC... mam nadzieje ze zagladaja tu jacys specjalisci z tej dziedziny. Do rzeczy! Pisze TSRa czyli program rezydentny i mam problem z obsloga przerwania int 21h. Chodzi o to, ze moj TSR musi utworzyc plik i zapisywac do niego...

    Mikrokontrolery   14 Wrz 2003 23:07 Odpowiedzi: 3    Wyświetleń: 2366
  • [Assembler] Jak zrealizować opóźnienie 1500us bez przerwania 15h?

    Ja proponuję po prostu pobierać czas bezposrednio z przerwania 21h. Albo użyć timera ;) (LUBIMY '51:D ) Nie pamietam akurat numeru funkcji, ale chwilka kopania w dokumentacji i sie znajdzie. A tak ostatecznie, to mozna uzyc instrukcji pobierania cykli zegara od startu kompa. Trzeba tylko pobrac "próbkę" i później tym mierzyć czas.

    Programowanie   17 Gru 2003 21:06 Odpowiedzi: 3    Wyświetleń: 5542
  • [Atmega16][Assembler] Symulacja OK, program dziala inaczej

    działają obydwa kody, sprawdzone podczas pisania tego posta. filmiku nie wrzucę, ponieważ ani Avila, ani Cookie nie radzi sobie z nagraniem świecących LED'ów. więc masz albo uwalony procek, albo zwarcia na płytce. dorzucam plik hex który daje efekt "biegnącego światła" w jednej chwili jest zaświecona tylko jedna dioda LED. przy zegarze 16MHz czas przerwy...

    Mikrokontrolery AVR   03 Lut 2011 12:40 Odpowiedzi: 14    Wyświetleń: 2588
  • Atmega8 Bascom Przerwania dziwne zachowanie na portach

    Wszystko juz chodzi. Przyczyną problemów były błędy jakie zawiera sam BASCOM, które zgłoszę do autora. Cały program robi sie po prostu za skomplikowany dla BASCOM i tylko w Assemblerze będzie pełna kontrolą nad tym co sie dzieje w programie i nie zostaje mi nic innego jak po wielu latach przerwy przypomnieć sobie ASM na AVR-y. Już kilka wstawek zrobilem...

    Mikrokontrolery AVR   23 Sie 2010 09:08 Odpowiedzi: 20    Wyświetleń: 2759
  • [Assembler] Jak napisać program w assemblerze na miernik refleksu z użyciem timera?

    Definiujesz sobie w timerze licznik czasu zwiększany po każdym przerwaniu jeżeli jest ustawiony znacznik MIERZ. Czynności w programie: 1. Zgaś lampkę 2. MIERZ=0 3. CZAS=0 4. Czy start ? 5. Jeżeli nie to idź do punktu 4 6. Odmierz przypadkowy czas od 2 do 6 sekund 7. Zapal lampkę 8. MIERZ=1 9. Czy wciśnięto STOP ? 10. Jeżeli nie to idź do pkt 9 11. MIERZ=0...

    Programowanie   05 Sty 2005 12:47 Odpowiedzi: 1    Wyświetleń: 1557
  • [XC8][pic18f] - Priorytet przerwania nie ma znaczenia dla działania programu...

    Na podstawie kodu, którego mamy się domyślić mamy się domyślić co zaobserwowałeś i Ci pomóc. Bo dalej nie wiemy, co zaobserwowałeś gdy w kodzie są 2 procedury obsługi Dalej nie wiemy, czy to procesor czy symulator, jaki procesor, nie znamy efektu pracy kompilatora - listingu assemblerowego, dalej nie wiemy, czy OpenTimer4 kompiluje się a nie działa,...

    Mikrokontrolery PIC   29 Lis 2012 07:14 Odpowiedzi: 14    Wyświetleń: 2082
  • Programowy UART (nadawanie) avr-gcc/ATMGA8, bez timerow

    Jeżeli masz czasochłonne przerwania mogą one znacznie zakłócić transmisje nawet przy 300baud. Jeżeli możesz na ten czas wyłączyć przerwania, zrób to - możesz wtedy próbować podnieść prędkość transmisji nawet do 115kbaud. Taki zabieg bez użycia assemblera może się nie udać.

    Mikrokontrolery   07 Sie 2007 12:25 Odpowiedzi: 3    Wyświetleń: 3340
  • Błąd TBCCTL1 is undefined przy konfiguracji Timer_B w MSP430

    Czy mógłbyś wytłumaczyć działanie następujących linijek kodu: #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A (void) w "wolnym tłumaczeniu" Linijka jeden: Adres kolejnej obsługi przerwania zapisany będzie we Flashu pod vectorem przerwania od Timera A0. Linijka dwa: Ta funkcja jest obsługą przerwania a więc powinna kończyć się na RETI a nie na...

    Mikrokontrolery   25 Cze 2009 12:58 Odpowiedzi: 102    Wyświetleń: 9912
  • Assembler - Sprawdzanie "niepełnego" stanu rejestru I/O

    W poprzedniej wypowiedzi dokonałem poprawek w przykładowym kodzie. Tak, to już jest kiedy Elektrodę traktuje się jako przerywnik przy pracy. Kwestią otwartą jest nadal testowanie wybranego bitu, lub bitów. 1. Jak to wykonywać poprawnie testowanie jednego bitu ? Zależy to od danej sytuacji. W trakcie testowania pojedynczego bitu w PINx z pominięciem...

    Programowanie   06 Sie 2015 00:48 Odpowiedzi: 8    Wyświetleń: 1140
  • [atmega664p][c] Problem z zapisem do zmiennej w przerwaniu

    Witaj, Sprawa ma się następująco odnośnie volatile. W standardzie języka C słowo kluczowe volatile określa / charakteryzuje zmienną która może zmieniać się w nieokreślonym czasie np. w procedurze przerwania jaki i w funkcji nie związanej z procedurą przerwania. Cała rzecz polega na tym iż to co Ty napiszesz w C jest przekładane na assemblera który nie...

    Mikrokontrolery AVR   15 Paź 2010 01:50 Odpowiedzi: 19    Wyświetleń: 1865
  • ATMega8535: Przerwanie INT0 i problem z komendą getrc5 w Bascom AVR

    Witam Juz sobie z tym dzisiaj poradzilem, ale dzieki ;-) Swoja droga dziala mi to troche za wolno (wiadomo, pierwsza ramka rc5 tracona jest na przerwanie). Zastanawiam sie, czy moze ktos kiedys popelnil wstawke assemblerowa obslugujaca rc5 z przerwania? Zastanawim sie jeszcze nad kodem standardu sony, jakies doswiadczenia?

    Mikrokontrolery   28 Maj 2004 14:45 Odpowiedzi: 7    Wyświetleń: 3649
  • Przykłady programów w assemblerze dla AT91SAM7S256 w Keil - zapalanie diody

    Witam, Programy typu zapal diodę w pętli już przerobiłem, od paru dni męczę sie z Real Time Timer . Napisałem sobie program który co 2 sekundy zapala kolejną diodę, aż do 8 diody. W symulatorze program działa w porządku , ale jak testuje na płytce, to zapalają mi sie po 2 sekundach wszystkie diody i nie wiem co jest. Program jest napisany w Keilu. Oto...

    Mikrokontrolery   10 Kwi 2008 13:09 Odpowiedzi: 10    Wyświetleń: 2639
  • Jak napisać sterownik w assemblerze dla silnika krokowego na Atmel 8515?

    Dosinski napisał: ;------------------------------------- STOP: MOV IE,#00000000B MOV P1,#11111111B ACALL DELAY AJMP reset; zatrzymuje silnik, wraca na poczatek programu i czeka na wcisn START RETI ;----------------------------------- Też programu nie analizowałem (przeglądnąłem szybko) bo wddf napisał że nie zna tego języka więc ciekawe jak chce mieć...

    Mikrokontrolery   24 Sty 2005 22:52 Odpowiedzi: 6    Wyświetleń: 3209
  • Projekt wyświetlacza widmowego RGB: konwersja BMP, komunikacja RS/USB, AVR assembler

    Odczyt równoległy w CF jest dużym atutem, potrzeba uzyskać ponad 200kB/s czyli 1,6Mb/s dla kart szeregowych. SPI będzie do wysyłania danych na wyświetlacz z szybkością 4,6Mb/s co powinno wystarczyć nawet na uzyskanie modulacji jasności koloru o 50%. Sam procesor ma dużą wydajność prądową aby wysłać po SPI taką częstotliwość na większą odległość, jeśli...

    Projektowanie Układów   06 Maj 2009 22:36 Odpowiedzi: 41    Wyświetleń: 29049
  • Jak napisać generator przebiegu prostokątnego w assemblerze c51?

    witam, np. tak: program2: setb p0.1 // jakies opoznienie ? clr p0.1 gen: clr p0.0 acall opoznienie3 acall opoznienie4 setb p0.0 acall opoznienie5 acall opoznienie6 sjmp gen ale to nie zmienia faktu ze program jest *źle napisany* - dlaczego nie zainteresowales sie Timerami i przerwaniami ? Czy program naprawde ma być tak 'sztuczny' i po sprawdzeniu...

    Mikrokontrolery   25 Lut 2007 02:36 Odpowiedzi: 10    Wyświetleń: 4112
  • Jak zaprogramować 8051 w assemblerze do obsługi wyświetlacza 7-segmentowego?

    1. Prostsze dodajesz zmienną, a raczej kilka bo jedna zbyt szybko się przepełni. Dekrementujesz ją, jak osiągnie wartość 0 nie skaczesz już LOOP_DISP. 2. Używasz timera i przerwań. Za każdym wywołaniem przerwania od timera np. zmniejszasz wartość zmiennej, a w pętli głównej porównujesz jej wartość z pewną wartością która odpowiada za określony czas....

    Mikrokontrolery   16 Sty 2015 16:52 Odpowiedzi: 19    Wyświetleń: 4890
  • Jak obliczyć opóźnienie czasowe w assemblerze dla AT90S2313?

    Sa to po prostu dwie petle. Najpierw 255 razy wykonywana jest petla DLOOP2 az do BRNE DLOOP2 (BRanch if Not Equal). Skok bedzie wykonywany dopoki nie wyzeruje sie rejestr R18. Potem o 1 zmniejszamy R17 i tak w kółko aż R17=0. A czas bedzie cos koło (2_cykle *255_obejsc petli_DL2)*255_obejsc_petli_DL1 + ~3_cykle * 255_obejsc_petli_DL1 czyli cos kolo...

    Mikrokontrolery   11 Mar 2003 20:26 Odpowiedzi: 1    Wyświetleń: 1507
  • [Assembler] Jak w Assemblerze ustawić tryb 640x480 w 256 kolorach i rysować piksele?

    Do asemblera się nie dotykałem od 4 lat, ale sprawdziłem w mądrych książkach, że tryb VGA 640x480 256 kolorów inicjujemy przerwaniem 10h z wartością 13h w ax. Więc nie wiem jak to jest, bo poniżej koledzy piszą co innego, a pamiętam, że z tej książki korzystaem i mi grafika elegancko działała (i to jak szybko). TWK

    Programowanie   22 Maj 2004 16:06 Odpowiedzi: 14    Wyświetleń: 4890
  • [STM32F103][keil][C] nieznany atrybut przerwania SysTick

    Mało prawdopodobne, choć można to łatwo wywnioskować na listingu assemblera (; Wiem, z tym że są dwa problemy - nie wiem jeszcze jak włączyć generowanie listingu w SW4STM32, bo szukałem wtedy i w plikach wyjściowych go nie było oraz po znalezieniu problemu wszystko pozmieniałem do klasycznej postaci, bez BB. Ale gdybym wiedział jak włączyć listing,...

    Mikrokontrolery ARM   30 Gru 2017 10:38 Odpowiedzi: 63    Wyświetleń: 2439
  • [C] Jak natychmiast zakończyć funkcję po przerwaniu?

    Cześć, Ostatnio zastanawiam się nad takim problemem, otóż: 1.Mam funkcje która wykonuje np. analizę jakichś odebranych danych 2.W czasie jej działania przychodzi przerwanie (na wyższym priorytecie) i załóżmy że to co się wydarzyło w tym przerwaniu, daje nam do zrozumienia, że funkcje z pkt.1 już nie musi nic analizować bo te dane są i tak zbędne 3.Przerwanie...

    Programowanie   19 Sty 2020 02:18 Odpowiedzi: 19    Wyświetleń: 2904
  • [Bascom/assembler] Jak zaimplementować funkcję Lookup w assemblerze dla AVR w Bascom?

    Witam, próbuję od wczoraj przerobić wprost w Bascomie, dokładnie w przerwaniu pewne polecenie na asembler: PORTA = Lookup(cyfry(nr_wysw) , Tabela) gdzie: cyfry to --> Dim Cyfry(4) as Byte nr_wysw --> Dim nr_wysw as Byte Tabela - to tabela zdefiniowanych cyfr dla wyświetlacza LED mam zrobione wyświetlanie multipleksowane i wszystko działa...

    Mikrokontrolery AVR   08 Lip 2008 13:06 Odpowiedzi: 13    Wyświetleń: 3403
  • Jak zacząć naukę Assemblera? Książki i e-booki dla początkujących

    To znowu ja. Czy mi się tylko wydaje czy obsługa przerwań w PIC'ach to totalna porażka. Trzeba przy wystąpieniu przerwania odczytywać flagi w celu sprawdzenia skąd pochodzi przerwanie. Przed tym jeszcze zapisać stan rejestrów i po przerwaniu je odtworzyć. No pod tym względem AVR jest o niebo lepszy. No chyba że tak nie trzeba robić ale w dokumentacji...

    Mikrokontrolery   26 Lip 2008 15:30 Odpowiedzi: 62    Wyświetleń: 16229
  • [FreeRtos] FreeRTOS: Jak obsłużyć przerwanie do sterowania diodą po naciśnięciu przycisku?

    Udało się. Nie wiem jak to zrobiłem. Jestem w tej chwili w takim szoku pozałamaniowym, że ciężko mi się skupić na pisaniu. Ale zostawię tutaj rozwiązanie dla potomnych, krok po kroku. Otóż. Najpierw inicjuję w main'ie przerwanie dla przycisku, który ma włączać diodę. void prvSetupLedInterrupt() { vSemaphoreCreateBinary( xSemaphore );...

    Mikrokontrolery   08 Cze 2010 23:04 Odpowiedzi: 22    Wyświetleń: 4023
  • Asembler ST7Lite – znaczenie znaku # w instrukcjach, np. ld A,#$E7

    Ja rozumiem to tak, choć zaznaczam z góry że nie mam pojęcia o St7Lite i na oczy go nie widziałem,że: .spi, .lt2, .srt .... - to są raczej dyrektywy assemblera. DC.W - to jest "Data Constatnt, Word" czyli deklaracja stałej we flashu która ma dwa bajty a jej wartość to etykieta np. it_ret (bo etykieta to poprostu symboliczna liczba - adres w pamięci)....

    Mikrokontrolery   07 Wrz 2007 18:12 Odpowiedzi: 13    Wyświetleń: 2488
  • Jak bezpiecznie modyfikować zmienne globalne w przerwaniu w C?

    Właśnie czytam o tym voilatile z Twojego linka, a to cli i sli raczej spowodowane przyzwyczajeniami z pisania pod '51 w Assemblerze. Usunę i sprawdzę jak to wtedy działa :) Dodano po 8 Super, działa :) Dziękuje niezmiernie za pomoc. A w woli wyjaśnienia potrzebowałem tego do projektu inżynierskiego. Będzie to sterownik pompy ciepłej wody i akurat te...

    Mikrokontrolery AVR   26 Lis 2011 11:03 Odpowiedzi: 5    Wyświetleń: 1227
  • [ATMEGA168][AVRGCC] Przerwania optymalizacja szybkości

    Dzięki za podpowiedzi. Nigdy nie dołączałem modułów w assemblerze do moich projekcików i nie wiem czy dobrze zrobiłem. Nie mam w tej chwili platformy sprzętowej ale sprawdzałem zaproponowane rozwiązanie w symulatorze AVRStudio. Dodany plik przerwania.s: #include <avr/io.h> .section .text .global TIMER0_OVF_vect .global TIMER0_COMPA_vect ;kod TIMER0_OVF_vect:...

    Mikrokontrolery AVR   28 Wrz 2008 20:04 Odpowiedzi: 10    Wyświetleń: 1809
  • Jak profesjonaliści używają bibliotek CMSIS w projektach STM32?

    W moim przypadku to wygląda tak, że mam wypracowaną własną warstwę abstrakcji sprzętu. Przykładowo do SPI jest maszyna stanów co mieli strumień bajtów danych + nagłówek z kolejek (typu FIFO jako bufor cykliczny). Pod to callbacki do sprzętu (open, write, read, close, ioctl), i rybka czy w środku jest if (queue) wyslij czy na przerwaniach. Nagłówek zawiera...

    Mikrokontrolery ARM   29 Wrz 2018 07:17 Odpowiedzi: 43    Wyświetleń: 11745
  • [ATmega8][C]Obsługa przerwania tryb CAPTURE vs. EXTERNAL INTERRUPT

    Witaj, Za co jest odpowiedzialny Timer0? Za określenie częstotliwości granicznej? Czy masz wolny Timer 1? Jeżeli tak, to moim zdaniem strasznie sobie to komplikujesz. W końcu Twoim zadaniem jest zmierzenie okresu przebiegu o częstotliwości, którą podajesz z generatora, a od tego jest tryb Capture, czyli pomiar długości impulsu. strona 83: Input Capture...

    Mikrokontrolery AVR   13 Maj 2011 12:55 Odpowiedzi: 15    Wyświetleń: 2938
  • [avr] Jak obsłużyć przerwania w AVR do zmiany trybu pracy uC?

    A może jednak spróbuj assemblera - przerwania są bardzo łatwe w używaniu. A co do sterowania diodami to : Napisz sobie dwie (lub więcej jak potrzebujesz) pętli w których masz zapisane sekwencje sterowania diodą i użyj przerwania timera do sprawdzania stanu na wejściach(przyciskach)- w zależności od tego który przycisk jest wciśnięty skacz do wybranej...

    Początkujący Naprawy   29 Wrz 2011 22:09 Odpowiedzi: 16    Wyświetleń: 2844
  • Skok do etykiety w programie po wykonaniu przerwania - jak?

    Jacu$ a gdzie inicjacja stosu, inicjacja przerwania ? Pomijając, że nie zawsze taki sposób programowania jest do przyjęcia, np procesor obsługuje kilka elementów na raz i właśnie jest coś włączone, to jeżeli stos jest inicjowany po resecie, to można sobie te "pop smietnik" darować, jeśli i tak skaczemy do procedury resetu. Tak to jest jak się zmienia...

    Mikrokontrolery   16 Paź 2004 19:34 Odpowiedzi: 36    Wyświetleń: 4047
  • Jak zadeklarować zmienną sstatus widoczną w przerwaniu __irq?

    W funkcji obsługującej przerwanie, korzystasz z funkcji sprintf do konwersji zmiennej sstatus na tablicę typu char o etykiecie buffer . Zmienna ta jest modyfikowana w przerwaniu, a nie zadeklarowałeś jej z kwalifikatorem volatile . Sprawdzałeś ten trop? A po co buffer miałby być volatile, skoro jest traktowany de facto jako zmienna lokalna w przerwaniu...

    Mikrokontrolery ARM   10 Lis 2011 14:32 Odpowiedzi: 13    Wyświetleń: 1583
  • [Atmega16, DS18B20, Bascom]Pomiar temperatury i przerwanie

    Problem rozwiąże, odmierzanie czasu przez timer, a nie przez wait czy delay (nie znam BASCOMa). Jak już ktoś wspomniał odczyt i zapis bitu na 1-wire jest dość krytyczny czasowo. Miałem z tym problem w assemblerze i ADuC841. Przerwanie od multipleksowania wyświetlaczy skutecznie zakłócało transmisję. Polecam też sprawdzanie CRC, żeby ustrzec się przed...

    Mikrokontrolery AVR   30 Mar 2010 18:40 Odpowiedzi: 29    Wyświetleń: 7305
  • [at91sam7s256][Keil uVision 4.21] Plik startowy a przerwania IRQ

    Konfiguracja wewnętrznego kontrolera przerwań (to co robisz funkcją), a odpowiedni prolog/epilog assemblerowy (to co robisz deklaracją z "__irq") to dwie odmienne sprawy. Jeśli tablica wektorów w startupie ładuje adres funkcji bezpośrednio (nie ma jakiejś funkcji wrappera), to obydwie te operacje są konieczne. U ciebie właśnie tak jest. 4\/3!!

    Mikrokontrolery ARM   20 Lip 2011 07:03 Odpowiedzi: 6    Wyświetleń: 1719
  • [C] Atmega8 przerwania INT0/INT1 – wielokrotne zliczanie naciśnięć przycisku (debouncing)

    Kwestia czy to się opłaca czasowo... Wszystko zależy od tego, co chcemy osiągnąć. Nie próbuję tutaj forsować używania na siłę przerwań, ich zagnieżdżania i maskowania. Niemniej uważam, że to cenna umiejętność. ... ja wyznaję zasadę: im krócej w przerwaniach tym lepiej Myślę, że to dobra zasada, jednak nie zawsze się da tak krótko, jak by to było pożądane,...

    Mikrokontrolery AVR   09 Lip 2010 21:11 Odpowiedzi: 25    Wyświetleń: 2508
  • [C] procedura obsługi przerwania - podstawy podstaw.

    Witam. Nie znam C wcale bo programuję w assemblerze ale muszę do istniejącego programu w C (nie mojego) wstawić program obsługi przerwania UART_TX_COMPLETE w którym będzie tylko jedna linia ustawiająca 0 na pinie PB2 PORTU B. projekt w AVR GCC procesor atmega8 i teraz proszę o pomoc: 1. jak i w którym miejscu włączyć obsługę tego przerwania 2. jak i...

    Mikrokontrolery AVR   08 Sie 2008 20:12 Odpowiedzi: 4    Wyświetleń: 1903
  • [LPC1114][C] - częstotliwość timera CT32B0, generowanie przerwania co 1us

    W assemblerze mógłbym przyspieszyć czas wykonywania tych funkcji, czas wejścia/wyjścia przerwania? W asemblerze mógłbyś zoptymalizować czas do minimum (co do 1 cykla. ) I jeśli coś jest możliwe do zrobienia to uda się w asemblerze, jeśli czegoś w ASM się nie da to nie uda się to w żadnym innym języku.

    Mikrokontrolery ARM   23 Maj 2014 06:53 Odpowiedzi: 13    Wyświetleń: 1503
  • [STM32F103C8T6] [STM32F103C8T6][FreeRTOS][C] Semafor w przerwaniu nie działa poprawnie

    Spoko - jak zaczynałem to twierdziłem że "tylko assembler" Temat na elektrodzie przerabiany tysiące razy. Każdy orze jak morze - wielu osobom ne chce się włożyć tego wysiłku w poznanie czegoś nowego i dopiero po poznaniu wyrażenie swojego zdania. Nawet dziś jest post z opinią że napisana obsługa USB w C jest z założenia zła bo nie jest wymęczona w...

    Mikrokontrolery ARM   21 Lis 2017 12:42 Odpowiedzi: 25    Wyświetleń: 1746
  • [Attiny2313][c]Szybkie przenoszenie danych poza przerwanie

    Tak. Optymalizacja kodu źródłowego. Powiem Ci że ja robiłem kiedyś odbiornik do takiego samego pilota i kod źródłowy zawarł się w kilkunastu linijkach a to był na dodatek assembler. Więc musisz przemyśleć i zmodyfikować pod kątem szybkości swój kod.

    Mikrokontrolery AVR   05 Maj 2011 01:57 Odpowiedzi: 18    Wyświetleń: 2120
  • Atmega128 - Bascom. Wyłączenie powrotu z obsługi przerwania

    Czy wiesz co to jest prolog i epilog w assemblerze? Czy wiesz co to jest stos? Z tego co wiem w obsłudze przerwania powinno stosować się krótki i prosty kod, natomiast w moim przypadku potrzebuję po wystąpieniu przerwania przejść do wykonywania programu w pętli. Od takich spraw są flagi (czyli np. zmienne globalne), którym w przerwaniu ustawiasz jakąś...

    Mikrokontrolery   22 Gru 2013 19:03 Odpowiedzi: 2    Wyświetleń: 924
  • Przerwania - reagowanie na wciśnięcie przycisku na klawiaturze matrycowej 4x4

    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 przycisk 7 razy to mają świecić się trzy diody z prawej...

    Mikrokontrolery AVR   10 Lis 2018 12:21 Odpowiedzi: 6    Wyświetleń: 735
  • Keil uVision C: Zmienna 'nr_trybu' resetuje się po przerwaniu timera 80C517

    Pamiętam, że kiedyś miałem spory problem w Keil'u z zasymulowaniem przerwnia od timera dla AT89C2051. Skończyło się na testach w układzie. Program był pisany w Assemblerze, ale dla symulatora nie powinno mieć to znaczenia. Nie twierdzę jednoznacznie, że symulator posiada błąd (mogło to być jakieś moje niedopatrzenie), ale de facto problem taki u mnie...

    Mikrokontrolery   20 Maj 2012 02:10 Odpowiedzi: 8    Wyświetleń: 1090
  • [STM32F4] Makefile, skrypt linkera i startup dla stm32f4 - przerwania

    Ponieważ w całym poście jedyną wartą uwagi informacją jest to: nie chce przyjmować klas to obstawiam że używasz C++. W takim razie gotów jestem się założyć, że nie masz nigdzie przy przerwaniach: extern "C" void nazwa_IRQHandler() {...} Bez owego >extern "C"< przerwania definiowane w plikach C++ nie zadziałają (jeśli...

    Mikrokontrolery ARM   15 Mar 2017 21:48 Odpowiedzi: 15    Wyświetleń: 1851
  • [Assembler] Jak zaimplementować alokację pamięci w Assemblerze za pomocą instrukcji out?

    Witam, mam chyba proste pytanko .. jak zrobić coś takiego: Mem Zamykam. - arnoldziq

    Programowanie   13 Sie 2004 13:06 Odpowiedzi: 12    Wyświetleń: 3144