volatile przerwać

Znaleziono około 3044 wyników dla: volatile przerwać
  • Atmega8: Zmienna volatile i przerwania - problem z opóźnieniem w pętli while

    Powód jest bardzo prosty: zmniejszenie zmiennej w pamięci nie jest operacją atomową. Co prawda za każdym razem następuje odczytanie zmiennej, zmniejszenie jej a następnie zapis, to jeśli przerwanie wystąpi pomiędzy odczytem a zapisem, to utracisz zmianę dokonaną w przerwaniu. W przypadku gdy przerwanie i funkcja main konkurują o jeden zasób, musisz...

    Mikrokontrolery AVR   25 Kwi 2010 12:42 Odpowiedzi: 2    Wyświetleń: 1347
  • ATmega32, jak poprawnie ustawić przerwanie TIMER1 w C na zestawie and-tech EvB 4.3

    słowo kluczowe "volatile"

    Mikrokontrolery Początkujący   29 Gru 2011 20:59 Odpowiedzi: 4    Wyświetleń: 1530
  • REKLAMA
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [C] Atmega32 przerwania. Zmienna nie działa w programie.

    Dopisz "volatile".

    Mikrokontrolery AVR   11 Lis 2010 16:43 Odpowiedzi: 3    Wyświetleń: 1785
  • C - jak poprawnie przypisać wartości do struktury PWM_data?

    zadeklaruj jako static w przerwaniu - jako volatile Zmienne używane globalnie + w przerwaniach powinny być volatile. Wtedy kompilator ci ich nie "zniszczy". Doskonały opis volatile w http://mirekk36.blogspot.com/2011/08/tes...

    Mikrokontrolery   03 Sty 2012 22:12 Odpowiedzi: 11    Wyświetleń: 1481
  • REKLAMA
  • [ATMEGA32] [C] jak zrobić arduinowe serial.available, Przerwanie od UART.

    Zmienną 'flaga' ustalasz w przerwaniu wiec powinna być volatile. p.s. Samych rejestrów nie sprawdzalem.

    Mikrokontrolery   29 Gru 2017 18:13 Odpowiedzi: 8    Wyświetleń: 768
  • Jak zadeklarować zmienną sstatus widoczną w przerwaniu __irq?

    Jeśli to dla Ciebie takie jasne, to napisz dlaczego ma być volatile? Przerwanie nie modyfikuje zmiennej. Albert

    Mikrokontrolery ARM   10 Lis 2011 14:32 Odpowiedzi: 13    Wyświetleń: 1580
  • REKLAMA
  • [AVR-GCC] Dlaczego zmienna 'status' ma nieoczekiwaną wartość w przerwaniu TWI?

    Nie masz dostępu do zmiennej, czy po prostu odczyt zawsze zwraca tą samą wartość (efekt braku volatile przy deklarowaniu zmiennej używanej przez przerwanie)? Bez "volatile" kompilator zoptymalizuje odwołania do zmiennej "status" w funkcji main - zmienna nie jest nigdy odczytywana (kompilator nie uwzględnia tego, że może przyjść przerwanie - widzi tylko...

    Mikrokontrolery AVR   08 Sie 2009 09:02 Odpowiedzi: 6    Wyświetleń: 1584
  • [Atmega16] [C] Obsługa przerwań dla odtwarzania melodii MIDI

    Wiem o tym, natomiast usunąłem w ten sposób zmienne volatile, docelowo tak nie będzie, to tylko w celach testów, jak tylko wrócę, narysuję algorytm. :D:D:D A w czym Ci przeszkadzały? Dla testów także nieodpowiednie. TMF pisząc: ... zmienne, które wykorzystujesz w przerwaniu volatile, co sugeruje, że jeszcze gdzieś z nich korzystasz. ... ...miał...

    Mikrokontrolery AVR   18 Cze 2011 20:57 Odpowiedzi: 18    Wyświetleń: 1860
  • Czy odczyt stanu pinu w przerwaniu timera jest poprawny? Zmienna volatile

    A, że tak głupio spytam przerwanie w ogóle jest wywoływane?

    Mikrokontrolery AVR   06 Maj 2010 21:56 Odpowiedzi: 12    Wyświetleń: 1526
  • Błędne wyświetlanie sekund na LCD w projekcie zegara cyfrowego z Atmega8A

    W pierwszej kolejności zadeklaruj zmienne seconds , minutes oraz hours jako volatile . Modyfikujesz ich wartość w przerwaniu i odczytujesz w programie głównym (w tym czasie może wystąpić przerwanie). secondsBuffer , minutesBuffer oraz hoursBuffer musi być co najmniej 3. Funkcja itoa() dodaje znak końca łańcucha tekstowego.

    Mikrokontrolery Początkujący   29 Gru 2020 23:08 Odpowiedzi: 4    Wyświetleń: 444
  • REKLAMA
  • Jak zliczać impulsy z dwóch kontaktronów na ATmega32 w C++?

    Oznacz zmienne występujące w przerwaniach jako volatile.

    Mikrokontrolery AVR   19 Lip 2010 21:00 Odpowiedzi: 20    Wyświetleń: 2816
  • AtMega16 język C - zmienna Volatile nie przekazuje wartości z przerwania do main

    a co jest nie tak z pętlą while(1) bo nie mogę się dopatrzeć To, że jest pusta. Stan zmiennej flaga sprawdzasz tylko raz na początku programu, po czym zapętlasz go w pustej pętli. Poza tym sprawdzanie if(flaga=1) jest błędem, zapewne miało być if(flaga==1) - przeczytaj ostrzeżenia kompilatora generowane w czasie kompilacji.

    Mikrokontrolery Początkujący   22 Sty 2015 18:56 Odpowiedzi: 14    Wyświetleń: 1422
  • Błąd czasowy w pętli z volatile unsigned int Time_out w przerwaniu 25ms

    [syntax=c] ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {Time_out=0;}; int x; do { ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { x=Time_out;); } while (x < 1000); [/syntax]

    Mikrokontrolery   25 Gru 2011 21:08 Odpowiedzi: 14    Wyświetleń: 1515
  • Przerwanie pętli while w avr-gcc za pomocą INT0 bez resetu - jak?

    A nie prościej użyć break w pętli while który będzie wywoływany jeśli jakaś tam zmienna globalna się ustawi? Do tego przypominam że musi to być zmienna volatile.

    Mikrokontrolery   12 Gru 2005 06:57 Odpowiedzi: 7    Wyświetleń: 1985
  • WinAvr: Przerwania TC1 i zmienne volatile, brak aktualizacji czasu na LCD

    Problem tkwi w miejscu gdzie są inicjowane wartości zmiennych do odnierzania czasu. Niestety nie :( Problem tkwi tu: /* TIMSK = 130; // globalne odblokowanie przerwań /* TIMSK |=(1<<TOIE1); Skąd wytrzasnąłeś te 130 :?: Piotrek PS A jaki to proc :?:

    Mikrokontrolery   20 Mar 2007 23:31 Odpowiedzi: 6    Wyświetleń: 1131
  • Dlaczego przerwanie przepełnienia timera 0 nie działa na Atmega8 w avr-gcc?

    Możesz zmieniać ją w dowolnym miejscu programu o ile będzie to zmienna typu volatile. Przerwanie w takim przypadku należy zablokować na czas modyfikacji w pętli głównej jeśli zmienna jest co najmniej 2 bajtowa. Uchrania do przed przypadkiem wywołania przerwania pomiędzy zapisem kolejnych bajtów.

    Mikrokontrolery   08 Mar 2011 14:44 Odpowiedzi: 18    Wyświetleń: 3111
  • obsługa wyświetlacza LED przerwaniami i wyświetlanie zmiennej z pętli głównej

    Jeżeli odwołujesz się do zmiennej w pętli głównej i w przerwaniu zadeklaruj ją jako volatile .

    Mikrokontrolery Początkujący   14 Paź 2013 16:56 Odpowiedzi: 16    Wyświetleń: 2805
  • [c/AS6] Debugowanie kodu C dla AVR: problem z SPI i przerwaniami w symulatorze

    Jeszcze przy zmiennych występujących w przerwaniach dodaj modyfikator volatile .

    Mikrokontrolery AVR   17 Maj 2013 17:10 Odpowiedzi: 14    Wyświetleń: 2874
  • atrybut "volatile" dla struktury danych - niezgodność

    Zgadza się, jeśli zmienna jest volatile, to kompilator musi bezwzględnie realizować wszystkie dostępy bez buforowania odczytu ani opóźniania zapisu. Jak by nie patrzeć, kompilator optymalizuje kod zakładając liniowy(sekwencyjny) sposób wykonywania: w obrębie danej funkcji (jaka by ona nie była: program główny, przerwanie czy cokolwiek innego) można...

    Mikrokontrolery   28 Sie 2011 09:32 Odpowiedzi: 23    Wyświetleń: 3664
  • [C] [C][asm] Jak przyspieszyć wykonanie przerwania PWM dla 12 kanałów?

    Tak jak piszą koledzy - utworzyć lokalną kopię zmiennej counter, żeby nie była volatile w przerwaniu. Ale prawdziwa optymalizacja to zmiana algorytmu - jak pamiętam chodzi ci o 12-kanałowy PWM. Lepiej więc zrobić tablicę przechowującą stan kanałów w danej jednostce czasu, wtedy 16-kanałowy PWM to będzie tylko PORTB=channel[counter].lo; PORTD=channel[counter].hi....

    Mikrokontrolery AVR   31 Paź 2010 14:32 Odpowiedzi: 18    Wyświetleń: 2289
  • C, zmienna d nie zmienia się w programie głównym mimo volatile i przerwania (AVR, GPS)

    Witam, zadeklaruj zmienną d jako: volatile unsigned char d; kompilator będzie wiedział, że zmienna ta może zostać zmieniona z zewnątrz(przerwanie). Poczytaj o volatile to się wyjaśni. Pozdrawiam wojt

    Mikrokontrolery   02 Paź 2009 12:31 Odpowiedzi: 2    Wyświetleń: 1218
  • Niedokładne wyniki licznika impulsów z enkodera - jak poprawić?

    Odnoszę się do kodu z postu #24. Zmienne 'wyslij' oraz 'ilosc' powinny mieć kwalifikator volatile ponieważ są używane w programie oraz w procedurze obsługi przerwania. [syntax=c] volatile int ilosc; volatile bool wyslij; [/syntax] Wywołanie funkcji serial() w pętli loop() może być wielokrotnie "przerwane" przez obsługę przerwania ENKODER_ISR() jeżeli...

    Arduino   08 Wrz 2019 08:31 Odpowiedzi: 47    Wyświetleń: 2856
  • [AVR] Nieaktywny Auto Trigger ADC na ATmega168 przy użyciu Timer0 w trybie CTC

    Masz skasować flagę timera OCF0A [syntax=c]TIFR0 |= (1<<OCF0A); [/syntax] Możesz też włączyć przerwanie od Timera i zostawić pustą obsługę przerwania: [syntax=c] ISR (TIMER0_COMPA_vect, ISR_NAKED) { asm volatile("reti"); } [/syntax] Co spowoduje że cała obsługa przerwania sprowadzi się do RETI

    Mikrokontrolery AVR   16 Gru 2020 20:52 Odpowiedzi: 19    Wyświetleń: 501
  • Wielozadaniowość Arduino - obsługa wątków w tle

    Kolega el2010tmp ma rację - możesz zrealizować tego typu wielozadaniowość przy pomocy przerwań czasowych. 1. Przy pomocy biblioteki Timer1 definiujesz funkcję, która wykonuje się np. co 5 ms. 2. W tejże funkcji wywołujesz coś w stylu analogWrite(led_level++), aż led_level osiągnie żądany poziom maksymalny. 3. Komunikacja między funkcją przerwania a...

    Mikrokontrolery   05 Maj 2015 17:29 Odpowiedzi: 8    Wyświetleń: 4347
  • Atmega8 i avr-gcc: brak obsługi przerwań zewnętrznych w AVRStudio 4

    licznik0 i licznik1 muszą być zadeklarowane jako volatile

    Mikrokontrolery   30 Wrz 2012 17:31 Odpowiedzi: 19    Wyświetleń: 3300
  • [c] [Atmega16] Przerwanie INT0 nie inkrementuje zmiennej - co poprawić?

    a słyszałeś kiedyś o zmiennych typu volatile ???? poczytaj sobie do czego służy słówko volatile a na pewno szybko poradzisz sobie z tym problemem

    Mikrokontrolery AVR   22 Sty 2010 15:17 Odpowiedzi: 2    Wyświetleń: 1311
  • Atmega168 Bascom - Przerwanie co 5us i odczyt 8 bitów

    x i y muszą być zadeklarowane jako volatile.

    Mikrokontrolery Początkujący   18 Lis 2014 09:04 Odpowiedzi: 65    Wyświetleń: 4737
  • STM32 - Odczyt kierunku obrotu silnika z enkodera inkrementalnego

    Czy zmienna kierunek jest globalna i volatile? Już po pierwszym przerwaniu powinna przyjąć wartość 1 lub 2, a nie być cały czas 0. Czy zaobserwowałeś zwiększanie wartości zmiennej enkoderA ?

    Mikrokontrolery   10 Cze 2014 11:03 Odpowiedzi: 4    Wyświetleń: 2061
  • [STM32] Odbieraniedanych z UART1 i odsyłanie ich dalej poprzez UART6

    bo jest volatile a przecież ta funkcja ma związek z przerwaniami więc zmienna, która się podaje jako argument powinna być volatile. Nie musi. Nie wiem, dlaczego nie chcesz po prostu zrobic jak Ci napisałem. Masz gotowe dwa handlery. Dodatkowym plusem jest to, że będzie działać dwukierunkowo.

    Mikrokontrolery ARM   14 Cze 2019 20:04 Odpowiedzi: 31    Wyświetleń: 1494
  • Czy struktura `FlagProtocol` w C jest automatycznie inicjalizowana do 0?

    Z tym volatile w tym przypadku to pewne przegięcie, bo zarówno pola struktury (czemu nie sama struktura?), jak i zmienna o tym typie są volatile, co jest lekko bez sensu, acz nie jest błędem. Natomiast nie zgodzę się, że volatile nie powinno się definiować wewnątrz struktury. Jeśli dane pola wskazują np. na zasoby sprzętowe, albo w inny sposób ze swej...

    Mikrokontrolery AVR   12 Gru 2010 18:08 Odpowiedzi: 16    Wyświetleń: 3019
  • ATMEGA32 - Wynik pomiaru ADC zawsze 0, dioda 2 się zapala, kod w C

    Przerwanie ADC zbędne i szkodliwe, a w deklaracji k brak atrybutu volatile.

    Mikrokontrolery AVR   19 Mar 2015 14:01 Odpowiedzi: 3    Wyświetleń: 765
  • [atmega8] [atmega8][c] Zmiana zmiennej w pętli nie działa w AVR Studio 4. Dlaczego?

    Na przyszłość proponuję podawać bardziej znaczace fragmenty programu. A wtym przypadku, domyślam się, że brakuje deklaracji jako volatile zmiennej współużywanej w przerwaniu. Jaki masz ustawiony poziom optymalizacji w kompilatorze?

    Mikrokontrolery AVR   02 Wrz 2008 11:33 Odpowiedzi: 30    Wyświetleń: 3178
  • Zmienna nieulotna w funkcji. [C]. Jak ją zadeklarować?

    nieulotna to volatile - czyli zmienna, która nie jest poddawana optymalizacji w odwołaniach do niej - i przydaje się głównie gdy są odwołania do tej zmiennej zarówno w przerwaniach i w programie głównym. Czyli jeśli z punktu widzenia programu głównego jest zmieniane niejawnie przez przerwanie. Wtedy volatile - ale nie dla wszystkich zmiennych globalnych...

    Mikrokontrolery   16 Sty 2010 23:38 Odpowiedzi: 56    Wyświetleń: 5588
  • [atmega8] [atmega8][c] Przerwanie IRQ zajmuje 100% CPU przy SPI i Timer2 co 1.15ms

    Dla drive_state? Przecież nie modyfikuję go w przerwaniu. btn_state jest volatile.

    Mikrokontrolery AVR   04 Lip 2011 20:17 Odpowiedzi: 7    Wyświetleń: 1212
  • [AVR-GCC] Zmienna volatile w przerwaniu zawsze ma wartość zero - co robić?

    ten kod który przesłałeś wygląda chyba OK. Ale mogą być inne przyczyny, np. jakieś niespodziewane RESETy po drodze, złe ustawienia USARTa, itp.

    Mikrokontrolery AVR   14 Lut 2009 10:24 Odpowiedzi: 3    Wyświetleń: 1957
  • Przerwania w ARMie. Zmiana wartości zmiennych globalnych.

    Oczywiscie, w takch przypadkach stosuje sie modyfikator volatile

    Mikrokontrolery   19 Lis 2006 11:11 Odpowiedzi: 1    Wyświetleń: 1293
  • Dlaczego zmienna volatile działa w przerwaniach w WINAVR?

    http://www.elektroda.pl/rtvforum/topic35...

    Mikrokontrolery   17 Paź 2005 21:34 Odpowiedzi: 6    Wyświetleń: 1061
  • Zmiana wypełnienia i częstotliwości sygnału PWM w Attiny13 - jak?

    Nie potrzebujesz kolejnego licznika. Już masz jeden skonfigurowany do pracy cyklicznej i to w zasadzie już Ci mniej więcej wystarczy. Masz w tym momencie przerwanie co 1/18750sekundy czyli co jakieś 53,33(3)us. Jeśli chcesz zrobić opóźnienie w pętli głównej o na przykład 500ms to wystarczy, że poczekasz 500000/53,333=9375 takich przerwań. W tym celu...

    Mikrokontrolery AVR   20 Sie 2019 16:37 Odpowiedzi: 9    Wyświetleń: 1479
  • [ATmega8] [ATmega8][C] Przerwanie licznika nie generuje opóźnień, brak wyświetlania tekstu

    a _delay_ms i _delay_us Ci nie wystarcza ? Do opóźnień nie trzeba wykorzystywać koniecznie przerwań timera. Można wykorzystać flagi timera (o ile się da, ale wszystko zależy). Poza tym, zmienna deb w Twoim programie zapewne nie jest volatile, ale wrzuciłeś nam NIC, także pomoc też nijaka

    Mikrokontrolery AVR   05 Paź 2010 18:38 Odpowiedzi: 2    Wyświetleń: 731
  • [atmega88] [atmega88][C] Błąd 'index' undeclared w przerwaniu ISR(INT0_vect)

    Poczytaj o zmiennych globalnych typu volatile. Zamykam

    Mikrokontrolery AVR   07 Lis 2010 13:16 Odpowiedzi: 1    Wyświetleń: 906
  • ATmega32, C, przerwanie ADC - program przestaje działać po kilku minutach

    o volatile się zapomniało :P // no tak w przerwaniu :P a ruszasz coś układem? może źle jest cuś przylutowane ? Z taktowaniem może też coś nie tak? Może z zasilaniem? Może to wpływ wiatrów słonecznych ?

    Mikrokontrolery AVR   12 Kwi 2011 19:37 Odpowiedzi: 13    Wyświetleń: 2524
  • [ATtiny13][c] int0 - problem w obsługą przerwania

    Kliknij tutaj: [url=http://avr-libc.nongnu.org/user-man...

    Mikrokontrolery AVR   07 Lis 2010 19:47 Odpowiedzi: 4    Wyświetleń: 1237
  • ATmega16 [C] [AVRStudio5] - Przerwanie od odbieranej danej UART

    Zarówno "temp" jak i "i" powinny być volatile.

    Mikrokontrolery AVR   16 Kwi 2013 19:39 Odpowiedzi: 22    Wyświetleń: 2124
  • Podłączenie zliczania impulsów licznika energii przez ESP 8266.

    IMO podłączenie powinno wyglądać tak: https://obrazki.elektroda.pl/8659379900_... ESP8266 ma GPIO w logice 3.3V (więc kolektor podłączony jest do +3.3V przez rezystor 200Ohm - 3kOhm ograniczający prąd), a zalecany prąd kolektora nie większy niż 27mA. Nie zapomnij o tym, aby licznik inkrementowany w przerwaniu miał modyfikator "volatile".

    Początkujący Elektronicy   23 Wrz 2023 07:23 Odpowiedzi: 13    Wyświetleń: 1512
  • Atmega8 - Tym razem; przerwanie sprzętowe - nie działa

    Jak zmienna używasz w przerwaniu i pętli głównej to musisz to zaznaczyć. "volatile int"

    Mikrokontrolery Początkujący   03 Kwi 2013 20:44 Odpowiedzi: 30    Wyświetleń: 3777
  • AVR attiny2313A - Programowy PWM, brak automatycznego zerowania TCNT0.

    Chodzi o to, że zmienna volatile cały czas odczytywana jest z pamięci i ładowana do rejestru a zmienna bez volatile, ładowana jest tylko raz? Czy dobrze myślę? Dobrze myślisz. Ogólnie zmienna globalna volatile ma sens w sytuacji, gdy ze zmiennej korzystasz jednocześnie w programie głównym i w procedurze obsługi przerwania. W Twoim przypadku, gdy korzystasz...

    Mikrokontrolery AVR   27 Lip 2015 13:14 Odpowiedzi: 9    Wyświetleń: 1074
  • [WinAVR][C] - zamiana zmiennej na stan portów / przerwania.

    Witam, Zmienna l (i wszystkie inne uaktualniane w przerwaniach) powinna być zadeklarowana jako volatile: volatile unsigned int l; Dzięki temu kompilator wie, że może ona zmienić wartość poza kontrolą kompilatora np. w przerwaniu. Takiej zmiennej kompilator np. nie usunie podczas optymalizacji Twojego programu :) PS. w PHP operatory wyglądają tak samo,...

    Mikrokontrolery AVR   12 Sie 2008 13:04 Odpowiedzi: 14    Wyświetleń: 4401
  • [C] [C][ATmega32] Jak mierzyć PWM i sterować diodami w zależności od impulsu?

    Zacznij od volatile + przerwanie: http://mikrokontrolery.blogspot.com/2011...

    Mikrokontrolery AVR   25 Cze 2011 14:11 Odpowiedzi: 6    Wyświetleń: 2207
  • [STM32F4] STM32F429 - USART2 nie działa na płytce 32F429IDISCOVERY

    Pomysł, żeby nadawać znak wtedy, gdy odbiornik jest gotowy i nie wiedząc, co jest w buforze nadawania, niekoniecznie musi być poprawny. Pomyśl, co będzie wysłane po odbiorze pierwszego znaku. Bufor odbioru ma u Ciebie raz 16, a raz 17 znaków. Cyz odebranodane ma atrybut volatile? Czy włączyłeś przerwanie UART? Takie inicjowanie UART działa poprawnie...

    Mikrokontrolery ARM   31 Gru 2014 23:33 Odpowiedzi: 7    Wyświetleń: 1803
  • Atmega8 - jak kontynuować działanie silnika po przerwaniu z krańcówki?

    Wydaje mi się że po prostu użyj jakieś flagi i zmiennej globalnej która zapamięta wartość PORTC w momencie wejścia do przerwania. Aby rzeczywiste wartość ta była zachowane użyj zmiennej volatile char to znaczy wchodząc do przerwania funkcja będzie wykonywana na tej zmiennej a nie na jej kopii.

    Mikrokontrolery AVR   10 Sty 2010 08:12 Odpowiedzi: 14    Wyświetleń: 1983
  • [C] Wskaźnik jako argument funkcji a konieczność jej cyklicznego wywoływania

    Nie musisz wywoływać ponownie, ponieważ w pętli sprawdzasz ten sam bufor pamięci, który jest wypełniany podczas przerwania. Ważne jest, aby bufor zadeklarowany był z modyfikatorem volatile, np. volatile uint8_t bufor[50];

    Programowanie Początkujący   11 Gru 2021 10:24 Odpowiedzi: 2    Wyświetleń: 273
  • [AVR] [AVR][C] - Pilot IR Olympus RM-1 na ATTiny2313 nie działa z GCC

    no to ja mam znow pomysl na garsc poprawek [; w przerwaniu: 1. if (nr > 1) {nr = 0;} jak widze nr oznacza u ciebie jakby 'faze' danego bitu. zamiast wiec kombinowac z ta cala inkrementacja i sprawdzaniem, zrob po prostu XOR'a: nr^=1; tym sposobem bedzie ta zmienna rowna na zmiane 1 i 0. niemniej jednak zauwaz, ze twoja zmienna nr to jest ... ostatni...

    Mikrokontrolery AVR   09 Paź 2008 23:27 Odpowiedzi: 18    Wyświetleń: 3183
  • [GCC] -Os - czyli jak zrobic, zeby gcc nie zjadalo funkcji?

    Freddie, i to Ty zadajesz takie pytanie? Przecież to oczywiste, że wszystkie Twoje trzy zmienne _save_cośtam muszą być zadeklarowane jako volatile, bo są współużywane w przerwaniach. Inaczej kompilatorowi "brak kontekstu". Jeżeli taka deklaracja nie rozwiązuje problemu nieliczenia sumy kontrolnej (powinna), to trzeba szukać problemu tylko dla tego przypadku.

    Mikrokontrolery AVR   12 Lis 2008 13:53 Odpowiedzi: 10    Wyświetleń: 2322
  • Warunek if na procesorze xmega z debuggerem atmel ice działa nieprawidłowo

    Mam jednak wciąż pytanie co do drugiej części, jeżeli zmienna jest volatile to dlaczego konieczne jest wyłączanie obsługi przerwań? Czy wynika to z tego, że to 4-bajtowy typ long i przerwanie może nastąpić w trakcie porównywania i zmienić wartość niesprawdzonych jeszcze bajtów? Dokładnie o to chodzi. Tu lepsze sa 32 bitowe procki, przy porównaniu long...

    Mikrokontrolery AVR   21 Sie 2017 11:31 Odpowiedzi: 16    Wyświetleń: 1173
  • LPC1115 - Timer_16 nie wyłącza diody na porcie 2.1 po 1s, brak przerwań

    Nie wykonuje się bo kompilator pewnie usunął tę pętlę. Do zmiennej "i" dopisz jeszcze volatile.

    Mikrokontrolery ARM   27 Maj 2014 10:56 Odpowiedzi: 22    Wyświetleń: 1722
  • [C][atmega16] "widoczność" zmiennej poza przerwani

    magic word: volatile

    Mikrokontrolery AVR   22 Wrz 2008 12:25 Odpowiedzi: 4    Wyświetleń: 1230
  • Atmega644pa - Timer1 nie odmierza równo 1 sekundy w trybie CTC

    Pamiętaj że sama transmisja też swoje trwa :) a poza tym nie pokazałeś funkcji printf (może ona bawi się w _delay_ms() ?) Zauważ również że przerwanie występuje niezależnie od transmisji, może dochodzić do takiej sytuacji ze raz przerwanie zmienić Ci wartość zmiennej tuż przed transmisją a raz tuż po niej i to spowoduje Twoje opóźnienia. Spróbuj blokować...

    Mikrokontrolery AVR   18 Wrz 2013 14:49 Odpowiedzi: 15    Wyświetleń: 2949
  • Atmega8 - przerwania nie działają przy sterowaniu LED i przyciskami PC0-PC2

    Zmienna "a" musi być "volatile".

    Mikrokontrolery AVR   04 Gru 2010 13:28 Odpowiedzi: 7    Wyświetleń: 1253
  • Atmega 32 - Jak przekazać wartość sekund z przerwania timer0 do main?

    Wpisać magiczne "volatile" volatile int sekunda=0;

    Mikrokontrolery AVR   30 Maj 2009 20:48 Odpowiedzi: 2    Wyświetleń: 2722
  • Jak poprawić obsługę RxBuffer dla ciągów znaków w RS-232 na Atmega?

    1. Wszystkie zmienne modyfikowane w przerwaniu powinny być 'volatile'. 2. Po co wyłączać globalnie przerwania w procedurze obsługi przerwania? Poczytaj datasheet - one i tak są wyłączone. 3. Sugerowałbym nie żałować klawisza ENTER - kod, w którym w jednym wierszu jest kilka poleceń jest nieczytelny. 4. Rejestr UDR odczytujesz wielokrotnie w przerwaniu....

    Mikrokontrolery   19 Mar 2009 10:51 Odpowiedzi: 5    Wyświetleń: 1194
  • Jak zmierzyć czas przerwania DMA z I2S z rozdzielczością 1us?

    Chciałbym zmierzyć jak długo wykonuje się przerwanie od DMA po zakończeniu transmisji z I2S. Myślałem nad uruchomieniem jakiegoś timera, który będzie zliczał mikrosekundy, ale kiedy wykonuje się jedno przerwanie z najwyższym priorytetem to inne są hamowane. Dobrze kombinujesz! Ale trochę przekombinowujesz :). Nie potrzebujesz żadnych dodatkowych przerwań...

    Mikrokontrolery ARM   21 Lut 2024 22:50 Odpowiedzi: 6    Wyświetleń: 258
  • Czy można cyklicznie odczytywać EEPROM w pętli co 0,5 sekundy?

    kli : Sprawdziłem na kompilatorze, który posiadam (avr-gcc 4.3.0) - kiedy zostanie wygenerowany taki kod, jaki wkleiłeś - na wszystkich poziomach optymalizacji oprócz -O0 jest generowany kod, który ja wkleiłem, tylko przy -O0 taki jak twój. Używanie "volatile" nie jest czymś opcjonalnym ("dzięki za uwagę, przyda się na przyszłość"), używając przerwań...

    Mikrokontrolery AVR   14 Gru 2008 01:11 Odpowiedzi: 35    Wyświetleń: 3537
  • STM32 Przerwanie SYSTICK. Jak wrócić do funkcji main?

    myślałem że mogę wpisać praktycznie częstotliwość taktowania procka. Po zastanowieniu wiem że to niemożliwe. Podzielnik przez 8 można włączyć. Dodano po 4 Nie każdy pływa z zamiarem udziału w olimpiadzie ;-) Jest coś takiego jak hobby, ciekawość... na różnym poziomie wiedzy. Tu użyj CubeMX. Prosto, szybko i przyjemnie. Dużo kursów jest na Forbocie,...

    Mikrokontrolery ARM   09 Cze 2019 00:09 Odpowiedzi: 11    Wyświetleń: 981
  • AVR - jak radzić sobie z fusebitami i ograniczeniami 8-bit?

    Przykład: https://godbolt.org/z/Rf93Wc Kod nie zadziała bo został zoptymalizowany. https://godbolt.org/z/p-EnvC Teraz kod zadziała, gdyż nie zostanie zoptymalizowany. Co do przykładu z timerami to tak, kod potrzebuje volatile aby nie zoptymalizować jednego odczytu z tego samego adresu w jednym scope. Jednak to nie jest powiedziane, że to musi przerwanie,...

    Projektowanie i Tworzenie Po godzinach   30 Sty 2020 18:45 Odpowiedzi: 368    Wyświetleń: 17232
  • [avr-gcc] Kiedy używać zmiennej volatile w programowaniu mikrokontrolerów AVR?

    No po prostu w RAMie, nie mowmy juz w jakim, to nas zreszta nie interesuje, jesli mamy mikrokontroler z pamiecia wewnetrzna avrki chyba maja, prawda?? :wink: Wlasnie tak zostanie to wykonane. Dane beda w rejestrze i tam bede sie "dodawac", natomiast w samej pamieci bedzie siedziec stara wersja. Dopiero po zakonczeniu kompilator prawdopodobnie zapisze...

    Mikrokontrolery   14 Lis 2005 12:26 Odpowiedzi: 6    Wyświetleń: 7924
  • [ATmega8][C] - TIMER1 kontrolowany przerwaniami INT0:1

    twój program doskonale miga diodą zgodnie z zamierzeniem ale musisz poczekać nie sekundę a kilka minut bo z powodu niezerowania licznika count kolejne mrugnięcie zachodzi dopiero po przekręceniu inta :) (btw. w tej sytuacji volatile jest niepotrzebne)

    Mikrokontrolery AVR   04 Lis 2012 12:30 Odpowiedzi: 3    Wyświetleń: 1629
  • AVR GCC TIMER0: Błąd kompilacji przy deklaracji '__vector_11' w przerwaniu

    #include <avr/io.h> #include <avr/interrupt.h> // funkcje sei(), cli() #include <stdlib.h> volatile int a=0; ISR(TIMER0_OVF_vect) { a+=1; } int main( void ) { //rejestry od timera 0 TCCR0 = _BV(CS02)|_BV(CS00);//pr... 1024 TIMSK = _BV(OCIE0); //włącza przerwanie...

    Mikrokontrolery   07 Mar 2008 20:04 Odpowiedzi: 6    Wyświetleń: 7897
  • [AVR] Atmega gubi przerwania USART - jak rozwiązać problem z odbiorem danych?

    A może masz gdzieś funkcję obsługi tego przerwania? Dodano po 4 Dodam, że korzystam z programowego bufora cyklicznego, który w przerwaniach odbiera dane od UDR. Jedyne co mi przychodzi na myśl to to, że przerwanie tak szybko się wykona (odebranie danych do bufora i skasowanie flagi RXC), że część programu: while ( !(UCSRA & (1<<RXC)) ); nawet...

    Mikrokontrolery   13 Lip 2011 00:58 Odpowiedzi: 21    Wyświetleń: 5711
  • [AVR] [AVR][C] Wypełnianie tablicy int bit po bicie z użyciem wskaźnika

    Rozwiązanie drugie które napisałem, praktycznie w postaci aktualnej nadaje się do przerwań - dodać tylko jedną zmienną która będzie informować ile aktualnie odczytano bajtów i samą funkcję update_bit można wywoływać po razie w przerwaniu, jako trzeci argument podając odczytany bit. Równie dobrze można przekształcić rozwiązanie pierwsze wyciągając z...

    Mikrokontrolery AVR   25 Mar 2009 18:43 Odpowiedzi: 6    Wyświetleń: 3978
  • Przerwania w Atmega8 AVR-GCC - brak wyświetlania na ekranie w kursie EDW

    uint8_t g_AktWyswietlacz = 0; uint8_t g_DaneWyswietlacza[4]; uint8_t g_DaneCom[4] = { (1<<COM1), (1<<COM2), (1<<COM3), (1<<COM4) }; Zadeklaruj te zmienne jako volatile.

    Mikrokontrolery AVR   22 Sty 2009 19:31 Odpowiedzi: 17    Wyświetleń: 2029
  • Timer1 w Atmega8A-PU nie zlicza - jak poprawnie skonfigurować?

    Tu masz kod który korzysta z przerwań i co 1 sekundę ustawią zmienną s1_flag na 1. Musisz pamiętać, aby ją w funkcji głównej zerować, bo tak cały czas będzie ona usttawiona na 1. Ten kod jest tylko poglądowy, ma ci tylko przybliżyć co i jak z przerwaniami. [syntax=c]int main(void){ volatile uint8_t s1_flag, /********** KONFIGURACJA TIMERA2 do wygenerowania...

    Mikrokontrolery AVR   14 Lip 2011 18:39 Odpowiedzi: 14    Wyświetleń: 1008
  • STM32F0x UART RS232 - problem z buforem w kodzie obsługi transmisji uK=>PC

    zapewnijmy atomowość względem czegokolwiek: Kod: __ASM volatile ("cpsid i"); //USART2->CR1&=(~USART_CR1_TXEIE); /* zablokuj przerwanie */ pt->dat++; //USART2->CR1|=USART_CR1_TXEIE; /* odblokuj przerwanie */ __ASM volatile ("cpsie i"); Od czegoś jest CMSIS _enable_interrupts(); itd. Powyższy kod nie gwarantuje pełnej atomowości.

    Mikrokontrolery ARM   26 Lut 2016 18:00 Odpowiedzi: 17    Wyświetleń: 1425
  • Opóźnienia w C na AVR: funkcje delay vs timery, co lepsze?

    Zmienną używaną w przerwaniu deklaruje się jako volatile (wykluczona z optymalizacji), inaczej będzie cyrk... volatile unsigned char licznik Ładniej by to wyglądało scalone... tzn... void czekaj(void) { licznik = 30; TCCR0 = 0x05; do{}while(licznik); } ISR(TIMER0_OVF_VECT) { licznik--; TCCR0 = 0; //wypadałoby...

    Mikrokontrolery   09 Sie 2007 23:08 Odpowiedzi: 8    Wyświetleń: 1320
  • Atmega8 timer i przerwanie INT1 - jak wstawić do programu?

    Po pierwsze- funkcja obsługi przerwania powinna być poza main(). Po drugie zmienna licznik powinna być volatile. Reszta potem.

    Mikrokontrolery AVR   14 Maj 2012 07:12 Odpowiedzi: 40    Wyświetleń: 5689
  • [atmega8] Jak odebrać sygnał z odbiornika Hitec HFD-08R0 na Atmega8?

    Bo nie tak się używa przerwań zewnętrznych. Można po pojawieniu się przerwania od zbocza narastającego wystartować timer, w przerwaniu zmienić na zbocze opadające i gdy pojawi się zbocze opadające zatrzymać timer, odczytać jego stan do zmiennej volatile wykasować i ponownie ustawić na zbocze narastające. Mozna też wykorzystać oba dostępne przerwania....

    Mikrokontrolery AVR   15 Lis 2011 16:43 Odpowiedzi: 10    Wyświetleń: 3375
  • [AtMega644] AtMega644 GCC - Konfiguracja przerwań PWM i INT0, reset układu

    Czy zmienne które używasz w przerwaniu masz jako Volatile?

    Mikrokontrolery AVR   15 Lut 2012 21:12 Odpowiedzi: 9    Wyświetleń: 1906
  • Zmienne globalne wykorzystywane przez przerwania i inne.

    Czyli zmienne volatile tworzyć kiedy zmienna jest modyfikowana w przerwaniu i odczytywana w kodzie który nie wie kiedy wystąpi przerwanie jak loop . Owszem, ale sam specyfikator volatile w żaden sposób nie gwarantuje, że odczyt takiej zmiennej będzie atomowy tzn. może się zdarzyć, że przerwanie (modyfikujące wartość zmiennej) wystąpi w trakcie odczytu...

    Mikrokontrolery Początkujący   28 Kwi 2021 13:48 Odpowiedzi: 47    Wyświetleń: 2838
  • STM32F4: Podwójne przerwania AWD przy optymalizacji -Os, dlaczego?

    1. Zbędny atrybut volatile w deklaracji AdcVal. 2. Czy AWD jest jedynym źródłem przerwania ADC? 3. Kasować bit zgłoszenia przerwania należy na początku procedury obsługi przerwania. nie wiem, aj to jest W STM32, ale w wielu innych Cortexach Zgłoszenie przerwania nie zdąży się w takiej sytuacji skasować i powtórnie wejdziesz w obsługę przerwania.

    Mikrokontrolery ARM   02 Kwi 2013 15:49 Odpowiedzi: 41    Wyświetleń: 5361
  • [avr] jak wyjść z watością (zmienną) poza przerwanie

    Poczytaj o volatile

    Mikrokontrolery AVR   03 Maj 2011 18:59 Odpowiedzi: 4    Wyświetleń: 1181
  • [STM32F4][C] - Dostęp do zmiennej w przerwaniu i w głównej pętli

    robisz w main: volatile int i=0; w stm32f4xx_it.h (czy jak tam się nazywa ten header z funkcjami przerwań): extern volatile int i;

    Mikrokontrolery ARM   29 Mar 2013 14:23 Odpowiedzi: 6    Wyświetleń: 1509
  • [atmega8] [ATmega8] [C] Przerwania INT0 i INT1 nie zwiększają zmiennej pozycja

    Zmienne, które są dzielone między przerwaniami a resztą kodu muszą być deklarowane jako volatile. Zmienną "pozycja" zmieniasz zarówno w przerwaniu od INT0 jak i w innym miejscu w kodzie więc musisz użyć volatile.

    Mikrokontrolery AVR   27 Sty 2011 11:45 Odpowiedzi: 3    Wyświetleń: 4513
  • ATMEGA8 przerwania, dioda świeci zamiast być zgaszona po uruchomieniu

    A o volatile doczytałeś?

    Początkujący Naprawy   07 Lut 2011 22:30 Odpowiedzi: 10    Wyświetleń: 1277
  • [ATMEGA16/32] ATMEGA16/32 AVR-GCC: Zapętlanie programu przy użyciu timerów i przerwań

    Czy zmienną counter (inkrementowaną prawdopodobnie w przerwaniu) masz zadeklarowaną jako volatile ? Jeśli nie, to kompilator najprawdopodobniej zoptymalizuje porównanie (counter<=nr) jako warunek zawsze spełniony lub zawsze nie spełniony do momentu zakończenia pętli, w której przecież żadna ze zmiennych porównywanych się nie zmienia.

    Mikrokontrolery AVR   14 Sty 2011 18:39 Odpowiedzi: 2    Wyświetleń: 1688
  • Atmega8 LM35 - Termometr - jak zdeklarować dziesiątki i jedności ?

    Proponuje umieścić deklarację typu: volatile uint8_t DZIESIATKI, JEDNOSTKI; przed funkcją main. Tak zadeklarowana zmienna powinna być widoczna w przerwaniu oraz każdej innej funkcji.

    Mikrokontrolery AVR   09 Lut 2015 19:04 Odpowiedzi: 2    Wyświetleń: 819
  • Avr studio 6, C - Petla while działa mimo niespełnionego warunku

    Nie masz nawiasu masz średnik od razu, to jest bezsensu. Nie w tym problem - taki zapis jest poprawny; Skoro zmienna jest zmieniana w przerwaniu to obstawiam jak przedmówcy na brak atrybutu volatile.

    Mikrokontrolery AVR   18 Lip 2013 23:03 Odpowiedzi: 9    Wyświetleń: 1602
  • Jak poprawnie odczytać 10-bitową wartość ADC z rejestrów ADCL i ADCH w C?

    Dobrze. Zmienna value_adc0 nie musi być volatile , chyba, że odwołujesz się do niej jednocześnie w programie głównym i w przerwaniu (przerwaniach).

    Mikrokontrolery   22 Wrz 2007 09:14 Odpowiedzi: 3    Wyświetleń: 1092
  • [AtMega8] [C] - Regulator PID nie reaguje na zmiany obciążenia silnika DC

    Rozumie, że schematu nie musimy sprawdzać? W Twoim przypadku, wystarczy by tylko zmienna i była volatile, ponieważ jest używana zarówno w przerwaniu jak i poza nim. Ale to że pozostałe także zrobiłeś jako volatile, nie ma wpływu na niedziałanie programu. Zmienne liczenia PID używsz tylko w przerwaniu, to możesz zrobić z nich zmienne statyczne i deklarować...

    Mikrokontrolery Początkujący   17 Mar 2013 20:32 Odpowiedzi: 5    Wyświetleń: 2400
  • [c] Jak wyeliminować poświaty na 6 wyświetlaczach LED 57mm?

    Zawsze myślałem, że jak nie używam części analogowych to nie trzeba ich podłączać.. no ale mój błąd... No to właśnie wszedłeś w nową epokę :) A co do rezystorów na UDN to są one potrzebne? skoro sam UDN robi jako bufor podwyższający napięcie.. Nie pokazałeś na schemacie jakim napięciem zasilasz UDN, czyli de facto diody. Liczyłeś prądy LED? Jeszcze...

    Mikrokontrolery AVR   13 Wrz 2012 22:07 Odpowiedzi: 12    Wyświetleń: 3495
  • [atmega16] [atmega16][c/avr-gcc] UART w przerwaniach - nieoczekiwane działanie programu

    Oto kod: Nie wiem, czy to może być przyczyną, ale taka deklaracja oznacza "wskaźnik na ulotne dane", a potrzebny jest "ulotny wskaźnik" czyli [syntax=c] char * volatile wskaznik; [/syntax] Oczywiście volatile z przodu też może być niezależnie.

    Mikrokontrolery AVR   29 Cze 2012 11:49 Odpowiedzi: 25    Wyświetleń: 2451
  • [Atmega 2560] Atmega 2560: Skoki w debugowaniu AVR Studio, pomijanie instrukcji w pętli for

    Efekt jest dokładnie taki jak kod - o to mogę się założyć. Twój kod ma po prostu błędy i tyle, więc czego oczekujesz? Poza faktem braku volatile "tu i tam", to zerowanie tej flagi w przerwaniu masz, ale gdzie masz jej ustawianie? Nigdzie. 4\/3!!

    Mikrokontrolery AVR   05 Gru 2010 22:49 Odpowiedzi: 7    Wyświetleń: 1404
  • Atmega16: Wszystkie segmenty wyświetlacza zapalają się jednocześnie, dlaczego?

    a SIG_OVER V LOW to przerwanie od czego niby jest? pozatym czas poznac slowko volatile temat o podobnym problemie - http://www.elektroda.pl/rtvforum/topic12... - czasem wypadaloby POSZUKAC troche na forum, a nie nowy temat od razu. pozatym - pytasz o AVRa, myslisz ze po co jest dzial o AVRach? 4\/3!!

    Mikrokontrolery   22 Sty 2009 10:08 Odpowiedzi: 1    Wyświetleń: 1166
  • Jak zaimplementować debouncing przy długim loop() w Arduino?

    O ile się nie wywali na aktualizowaniu zmiennych bez *volatile* ze środka przerwania, bo aż tak głeboko nie wnikałem Zmienna wymaga kwalifikatora volatile tylko wtedy, gdy jest używana zarówno w przerwaniu, jak i w programie głównym. No właśnie. A tutaj previous_millis jest aktualizowane z update(), więc w tym wypadku wewnątrz przerwania, oraz w attach()

    Arduino   19 Lut 2019 17:15 Odpowiedzi: 27    Wyświetleń: 1002
  • 25LC1024 - LPC1769 + SPI + Flash 25LC1024 - nie zapisuje do pamięci

    Pierwsza sprawa jest taka, że zmienna odczytywana/zapisywana przez przerwanie i kod główny powinna być volatile. Druga zaś - 1ms delay w przerwaniu to nie jest szczególnie dobry pomysł... 4\/3!!

    Mikrokontrolery ARM   20 Kwi 2015 08:00 Odpowiedzi: 25    Wyświetleń: 2130
  • Lokalizacja procedur przerwania w Cube po dodaniu UART i imporcie do Keila

    Mam jeszcze takie pytanie. Czy w tej funkcji callback powinienem używać zmiennych typu volatile?

    Mikrokontrolery ARM   19 Lip 2018 14:21 Odpowiedzi: 11    Wyświetleń: 570
  • [STM32F3] - USART1 działa, USART2 i USART3 nie działają oraz przerwanie

    Czy pamiętałeś o włączeniu portów w ODPOWIEDNIM rejestrze APBENR? volatile nie ma nic wspólnego z AVR. Tego atrybutu używa się np. wtedy, kiedy zmienna modyfikowana przez obsługę przerwania jest testowana przez inny fragment kodu. Pokaż kod procedury przerwania, bo coś tam narozrabiałeś.

    Mikrokontrolery ARM   15 Sie 2013 22:36 Odpowiedzi: 3    Wyświetleń: 1131
  • [ATmega16][C/AVRStudio] Układ nadążny za słońcem+LCD+MENU

    jeżeli zmienna 'a' jest zadeklarowana jako globalna i jako volatile, to jest to ta sama zmienna zarowno dla main() jak i dla przerwania, więc w main() nie bedzie sie zerowac (no chyba ze wpiszesz ze a = 0 to oczywistym że sie wyzeruje)

    Mikrokontrolery AVR   10 Lis 2010 22:21 Odpowiedzi: 104    Wyświetleń: 14544
  • [Arduino UNO] Jaka jest przyczyna przesunięcia wyświetlania znaków na wyświetlaczu 7-segmentowym?

    (at)dodelow Przykład prostego generowania zmiany flagi co 4 sekundy (prosty sposób na przełączanie temperatura/czas z wcześnieszego kodu) przy założeniu przerwań timera co 4ms : deklaracje: [syntax=c] volatile uint16_t dzielnik; volatile bool sekundy_4; bool flaga_temperatura; [/syntax] kod w przerwaniu timera: [syntax=c]if (++dzielnik > 1000) {...

    Arduino   06 Cze 2025 20:28 Odpowiedzi: 17    Wyświetleń: 786
  • Jak bezpiecznie modyfikować zmienne globalne w przerwaniu w C?

    Raczej doczytał, bo wstawił przed deklaracjami zmiennych, a jeśli rozwiązaniem jest wstawienie volatile też wewnątrz struktury, to raczej nie jest to oczywiste bez doświadczenia z C.

    Mikrokontrolery AVR   26 Lis 2011 11:03 Odpowiedzi: 5    Wyświetleń: 1224
  • STM32F0Discovery - TIM1 Input Capture CH1 Konfiguracja i GPIO (bez ST library)

    Zacznijmy od tego, że problem wynikał stąd, że zmienna współdzielona przez przerwanie i wątek główny miała będą deklarację, bez atrybutu volatile. Jeśli przeniosłeś deklarację do procedury przerwania, atrybut volatile stał się zbędny. Po kilku wpisach na ten temat nawet nie zadałeś sobie trudu, by sprawdzić o co chodzi i wciąż błądzisz. Popatrz w startupxxx.s,...

    Mikrokontrolery ARM   21 Lis 2013 14:48 Odpowiedzi: 35    Wyświetleń: 3888
  • [ATmega32][C/LabView] - Obsługa dwukierunkowa RS232

    O coś takiego mi chodziło. Teraz jest wywoływane przerwanie i procesor tylko je wykonuje ustawia flagę i ucieka do obsługi całego kodu. rxFlag i txFlag - musi być tylu volatile (int/char itp.) by była możliwość zmieniania ich wartości w przerwaniu. Masz tak ?? Sprawdzałeś w symulatorze jak program skacze po funkcjach ?? Zrób tak. skopiuj to wszystko...

    Mikrokontrolery Początkujący   12 Wrz 2012 18:36 Odpowiedzi: 53    Wyświetleń: 8442