flaga przerwania atmega8

Znaleziono około 530 wyników dla: flaga przerwania atmega8
  • Atmega8 - Dlaczego flaga TOV0 nie aktywuje diody LED1 w ISR?

    Ta linia oznacza że jak w rejestrze ten bit jest ustawiony to wtedy zapal Led. Ponieważ jednak ta flaga jest gaszona podczas wchodzenia do procedury przerwania to w tym miejscu ten warunek nigdy nie będzie spełniony, tak więc Led się nigdy nie zapali

    Mikrokontrolery AVR   14 Sty 2019 18:21 Odpowiedzi: 10    Wyświetleń: 570
  • REKLAMA
  • [bascom][atmega8] problem z przerwaniem zewnetrznym

    No i gdzie ta flaga?

    Mikrokontrolery AVR   17 Sty 2010 22:52 Odpowiedzi: 10    Wyświetleń: 1815
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • Atmega8/Bascom - Problem z kodem multipleksowania LED i termometru DS18B20

    Timer w przerwaniu obsługuje wyświetlacz LED i inkrementuje zmienną byte, która w pętli głównej w instrukcji Case wybiera konkretne funkcjonalne fragmenty programu do wykonania, których wykonanie czasowo mieści się pomiędzy przerwaniami od timera. W przerwaniu od timera ustawia się także flaga przerwania, która uruchamia za pomocą If Then instrukcję...

    Mikrokontrolery Początkujący   31 Lip 2014 12:09 Odpowiedzi: 18    Wyświetleń: 3474
  • Jak odczytać dane z EEPROM 64k za pomocą TWI na Atmega8?

    ... A jak się sprawa przedstawia kiedy sam TWI wpisze tam 1, czy przerwanie nie powinno się wtedy wyzwolić?... Powinno , ale pod warunkiem że : flaga I w SREG=1 i flaga TWIE w TWCR=1.Przed opuszczeniem procedury przerwania , należy wyzerować(wpisać 1) do flagi TWINT w TWCR , by uniknąć kolejnego przerwania. Piotrek

    Mikrokontrolery   19 Sie 2007 13:52 Odpowiedzi: 10    Wyświetleń: 2090
  • ATmega8 UART – flaga TXC nie ustawia się po wysłaniu bajtu, co robię źle?

    A spróbuj przed wpisem danej wyzerować tą flagę, może to pomoże. U mnie to działa ponieważ używam przerwań.

    Mikrokontrolery   09 Cze 2006 23:53 Odpowiedzi: 5    Wyświetleń: 1095
  • REKLAMA
  • Atmega8 - jak uniknąć kasowania flagi I przy generowaniu sygnału 1 MHz?

    Zawsze obsługa przerwania powoduje skasowanie flagi I, aby pod koniec obsługi flaga została ponownie ustawiona przez instrukcję reti. Jeśli program się przerywa po kilku linijkach, to znaczy posiadasz nie obsłużone wektory przerwań, a to jest błąd w kodzie. Albo wyłącz przerwanie od danego źródła, albo wyłącz przerwania, jeśli z nich nie korzystasz.

    Mikrokontrolery AVR   21 Sty 2017 06:23 Odpowiedzi: 14    Wyświetleń: 6027
  • REKLAMA
  • [Atmega8] [Atmega8][C] Generowanie impulsu przy stałym niskim poziomie czujnika metalowego

    OK, reakcja na zbocze i flaga w obsłudze przerwania oraz zerowanie w main(), gdy flaga już nie potrzebna.

    Mikrokontrolery AVR   25 Paź 2011 17:18 Odpowiedzi: 14    Wyświetleń: 1547
  • [ATMEGA8] Jak zrealizować obsługę przerwań RS232 w ATMEGA8 w języku C?

    Najpierw spróbuj może dodać: ...ale jak ustawię ręcznie bit UDRE w UCSRA który oznacza że bufor jest pusty, także nic się nie wysyła. To nie jest argument. Flag przerwań w AVR generalnie nie da się ustawiać programowo, niektóre można tylko wyzerować. Akurat UDRE można wyzerować tylko poprzez wpisanie bajtu danych do rejestru UDR, flaga ustawiana jest...

    Mikrokontrolery Początkujący   23 Sie 2012 21:45 Odpowiedzi: 2    Wyświetleń: 1497
  • [C] ATMega8 - Timery i przerwania nie działają w kodzie C, WinAVR 20100110

    Spróbuj zrobić od przepełnienia. W proteus'ie też port zmieni raz stan i nic. volatile int flaga; #include <avr/io.h> #include <avr/interrupt.h> int main (void) { DDRC = 0xff; // Ustaw jako wyjście LED TIMSK = 0x04; // Włącz przerwania przepełnienia (1 <<TOIE1) SREG = 0x80; // włącz przerwania globalne sei()...

    Mikrokontrolery AVR   20 Maj 2011 18:47 Odpowiedzi: 14    Wyświetleń: 2166
  • REKLAMA
  • [atmega8] Przerwanie INT1 nie reaguje na zmiany stanu portu po kilku przejściach

    Śmiem twierdzić, że w (0<<ISC11) | (1<ISC10) jest błąd, powodujący, że wyrażenie to ma wartość równą 1 (podczas gdy powinno mieć wartość równą 4). Jeśli flaga jest ustawiana na zbocze, to w kodzie głównym powinny występować jakieś opóźnienia albo zmiana algorytmu, bo inaczej flaga zostanie sprawdzona raz - będzie ustawiona,...

    Mikrokontrolery AVR   07 Sie 2008 21:04 Odpowiedzi: 12    Wyświetleń: 4123
  • Atmega8-Bascom: Jak poprawnie skonfigurować układ opóźniający na zbocze?

    Niedokładnie przeczytałeś. W zakładce nawigator: Config Timer- uwaga! po ustawieniu prascale licznik natychmiast zaczyna zliczanie. Można użyć start Timerx i stop Timerx Np. Config timerx, prescale 'timer zaczyna liczyć stop Timerx 'timer stoi- ale już coś zliczył Timerx=y 'timer ma wartość początkową =y - np.0 Start timerx ' Timerx zaczyna liczyć od...

    Mikrokontrolery AVR   19 Lut 2010 13:51 Odpowiedzi: 24    Wyświetleń: 2378
  • Atmega8 odłączenie wejścia w zależności od stanu na wyjściu.

    Po wykryciu stanu niskiego na PD3 zablokuj przerwanie od tego pinu i odblokuj je dopiero przy ustawianiu stanu wysokiego na PB1. Pamiętaj aby przed odblokowaniem przerwania wyzerować flagę przerwania.

    Mikrokontrolery AVR   22 Wrz 2021 22:20 Odpowiedzi: 6    Wyświetleń: 468
  • [Atmega8][C] Przerwanie zewnętrze INT0 nieoczekiwane wyowłanie

    Jeśli funkcja obsługi przerwania powoduje ponowne wyzwolenie samego siebie, to jest to wynikiem tego, że flaga przerwania jest kasowana tylko podczas wchodzenia do przerwania. Podczas wykonywania funkcji obsługi przerwania flaga INTF0 może zostać ponownie ustawiona, co spowoduje ponowne wejście do ISR zaraz po zakończeniu (ISR_BLOCK nie powoduje zablokowania...

    Mikrokontrolery AVR   14 Cze 2011 14:28 Odpowiedzi: 2    Wyświetleń: 1574
  • [Bascom][ATMega8]Przerwanie rozkłada transmisję 1wire

    Np. tak: Set Flaga : While Flaga = 1 : Wend to umieszczasz raz lub kilkakrotnie w odczycie z DS-a. Część umieszczona poniżej tego wykona się dopiero jeśli flaga zostanie zresetowana. Flagę resetujesz po wykonaniu przerwania.

    Mikrokontrolery AVR   23 Lis 2008 22:13 Odpowiedzi: 9    Wyświetleń: 1970
  • [Atmega8][C] - Obsługa wyświetlaczy 7 LED - pierwsze starcie, krytyka programu

    Czyli teraz jest źle? Flagi od Timer0 będę używać jeszcze do innych rzeczy, np. obsługi klawiatury. Czy wszystkie te procedury mam umieszczać w obsłudze przerwania? Czy flaga to złe rozwiązanie ? Wszędzie czytałem, że obsługa przerwań powinna być jak najkrótsza.

    Mikrokontrolery Początkujący   23 Lip 2012 11:45 Odpowiedzi: 18    Wyświetleń: 2714
  • [ATMEGA8][BASCOM] Wyłączenie przerwań nie do końca działa ..

    Disable INTx nie wyłącza przerwań tylko wyłącza ich obsługę. Ale jak wystąpi zdarzenie to zostanie ono zauważone tylko nie zostanie obsłużone. Nie od razu. Zostanie obsłużone po wydaniu polecenia Enable INTx. Więc albo wyłączaj przerwania deaktywując linie INTx, albo też przed wydaniem polecenia Enable INTx kasuj flagi przerwań.

    Mikrokontrolery AVR   06 Mar 2010 22:16 Odpowiedzi: 7    Wyświetleń: 1824
  • ATmega8-16PU INT0 w Bascom: program zatrzymuje się w obsłudze przerwania INT0

    Najpierw włącz zezwolenie lokalne, potem dopiero globalne. Jak nie pomoże, skasuj flagę od przerwania w bodajże GIFRrze:)

    Mikrokontrolery   20 Gru 2008 15:54 Odpowiedzi: 11    Wyświetleń: 2666
  • ATMEGA8 BASCOM nie działa poprawnie przerwanie INT0

    Gdy procesor jest w trakcie wykonywania procedury przerwania, następne przerwanie nie będzie przyjęte , gdyż procesor (nie kompilator!) zeruję flagę globalnego zezwolenia na przerwania. Tak samo flaga bieżącego przerwania (tego, którego procedura obsługi jest wykonywana) zostaje automatycznie wyzerowana. Po zakończeniu przerwania flaga globalnego zezwolenia...

    Mikrokontrolery AVR   19 Lut 2010 21:54 Odpowiedzi: 7    Wyświetleń: 5129
  • Przepisanie programu z Atmega8 na Atmega328P z wykorzystaniem USART

    Co do programu na megę328: 1. Niepotrzebnie dołączasz sfr_defs.h 2. O F_CPU w kodzie było już miliony razy na forum. 3. Dla ułatwienia obliczeń prędkości polecam util/setbaud.h 4. W rejestrze UCSR0C ustawiasz bity, które po resecie są ustawione. 5. W UCSR0B nie włączasz przerwania od odbioru (bit RXCIE)! Dodatkowo niepotrzebnie stosujesz sumę bitową...

    Mikrokontrolery AVR   23 Wrz 2015 15:23 Odpowiedzi: 2    Wyświetleń: 984
  • Atmega 32+LCD+ADC+Potencjometr - Nie mogę wyświetlić przeliczenia

    A propos: zastosowałem flage w przewaniach lecz to nic nie dało. Sprawdzasz ją tylko raz w dodatku przed pętlą główną i przed wystartowaniem pierwszej konwersji. Jaki więc to ma mieć sens? Przeanalizowałeś i wypróbowałeś przykłady z artykułu, który Ci wskazałem w poście #4? Jeśli nie, to poświęć na to swój czas.

    Mikrokontrolery AVR   02 Cze 2015 16:13 Odpowiedzi: 9    Wyświetleń: 1545
  • [atmega8] [atmega8][BASCOM] Jak liczyć czas między impulsami stanu niskiego?

    A może po prostu dodaj sobie flagę którą ustawiaj po wykonaniu pierwszego przerwania. W drugim przerwaniu sprawdzaj czy flaga ustawiona. Jeśli tak to wykonuj coś tam jeśli nie to nic nie rób.

    Mikrokontrolery AVR   16 Lis 2008 21:32 Odpowiedzi: 14    Wyświetleń: 3491
  • [Atmega8] Odczyt wilgotności gleby - Czujnik, układ ADC i dioda na PD7

    (at)bartprojects niby tak, ale nie do końca. 1) ADEN to jest enable przetwornika, a nie przerwań. Uruchamia zegar przez preskaler itd. 2) w tej samej dokumentacji jest napisane że flaga przerwania jest ustawiana na koniec konwersji - więc powinien mógł ją testować. 3) gdyby autor miał problem z nieskasowaną flagą, to by mu program nie wisiał na tej...

    Mikrokontrolery AVR   27 Lis 2022 14:04 Odpowiedzi: 5    Wyświetleń: 558
  • [ATMEGA8] Problem z obsługą RS - co robie nie tak?

    W zasadzie tak. UDR to jest dosyć szczególny rejestr, bo jakikolwiek jego odczyt sygnalizuje procesorowi odebranie znaku z USART-a i wtedy automatycznie dzieje się kilka rzeczy, m. innymi gaszona flaga RXC, załadowanie do UDR następnego przyjętego znaku, jeśli zdążył się pojawić (jest to możliwe, bo AVR-ki mają 3-bajtowy bufor sprzętowy, który jest...

    Mikrokontrolery AVR   03 Lip 2009 08:35 Odpowiedzi: 15    Wyświetleń: 2796
  • [C][ATmega8]Zmiana sekwencji programu button switch

    Przerwanie od INT0 powinno aktywować przerwania od timera, które co 50ms będą zmieniać stan portu c: INT0: - blokuj przerwania INT0 - licznik sekwencji na portc = 0 - aktywuj przerwanie timera INT TIMERA: - switch (licznik sekwencji) ..... w ostatnik case czy default: 1) blokuj przerwania timera 2) kasuj flagę INT0 3) włącz przerwania int0

    Mikrokontrolery AVR   01 Paź 2019 17:57 Odpowiedzi: 26    Wyświetleń: 1425
  • Atmega8 - Jak napisać program z przerwaniem zewnętrznym w C?

    ISR(INT0_vect) { flaga=1; } w petli glownej if (flaga==1) { [...] obsluga lcdka [...] flaga=0; }

    Mikrokontrolery AVR   25 Sie 2009 13:09 Odpowiedzi: 9    Wyświetleń: 3175
  • Jak trwale wyłączyć przerwanie INt0 w procesorze ATMega8?

    Nie działa Ci, bo nie przeczytałeś dokumentacji... http://obrazki.elektroda.net/0_118799421... Flagi przerwań czyści się przez wpisanie do nich logicznej jedynki. Trochę może paradoksalnie to wygląda, ale ma swoje logiczne uzasadnienie. Chodzi o to, że czyszcząc flagi w ten sposób da się to zrobić o wiele szybciej i co najważniejsze - bezpieczniej....

    Mikrokontrolery   04 Wrz 2007 09:35 Odpowiedzi: 5    Wyświetleń: 2950
  • [Atmega8][C][PCF8583P] - Wewnętrzne przerwania asynchroniczne. Czy potrzebne?

    Ad. 1. To definiuje się w opcjach projektu. Dlaczego? Bo tylko wtedy definicja będzie widoczna dla wszystkich plików. W przeciwnym wypadku np. plik od obsługi uartu będzie miał inną F_CPU, plik delay.h jeszcze inną a main - trzecią watość. Ad. 3. Trochę dobrze, ale skąd naczytałeś się, aby dawać takiego "nop"? Taki blok należy umieścić w bloku atomowym...

    Mikrokontrolery   18 Sie 2016 21:14 Odpowiedzi: 18    Wyświetleń: 1908
  • [ATmega8][C] USART - rozdzielenie wysyłanych i odbieranych danych

    Dane z przerwania RX odbioru Uart jeszcze nie są obsługiwane ale będą, dlatego przerwanie jest aktywne lecz nie wykończone. Co do ciekawostki: if(pomiary[z]==0){ //czy to koniec takstu w tablicy pomiary[z] = 0; //znak końca ciągu tekstu w tablicy zostało z poprzednich prób i zapomniałem usunąć. Ostatecznie funkcja będzie wyglądać: void wyslij_pomiary(void){...

    Mikrokontrolery AVR   09 Kwi 2013 22:12 Odpowiedzi: 23    Wyświetleń: 3474
  • [ATmega8] Jak użyć pinu PC6 (reset) jako wejścia w ATmega8 w Bascom?

    Będzie czekał. AVR po wejściu w proc przerwania blokuje globalne przerwania. Jak robisz RETI (wyjście z proc. przerwania) to włącza się flaga I w SREG. Ale jak takie coś napiszesz, to program pójdzie w maliny :D Bo... po wyjściu z proc. przerwania wykona się ona natychmiast ponownie:)

    Mikrokontrolery   04 Maj 2008 15:06 Odpowiedzi: 18    Wyświetleń: 1916
  • [atmega8][Bascom] Co zamiast polecenia "wait" w po

    Nie analizowałem Twojego programu- ale może to Ci się przyda. Może moje stare belferskie umiejętności (teraz to się nazywa- zdolności pedagogiczne) jeszcze całkiem nie zanikły. 'Program poglądowy do unikania wait 'Prescale oczywiście można zmienić 'licznik też i Temp0 też $regfile "m8def.dat" $crystal = 8000000 Config Lcd = 20 * 2 Config Lcdpin...

    Mikrokontrolery AVR   07 Sty 2010 16:13 Odpowiedzi: 16    Wyświetleń: 3485
  • Jak wyłączyć inne przerwania podczas obsługi ISR w AVR?

    Miałem kiedyś podobne problemy i może chodzić o kasowanie flagi przerwania. Ja w Atmega8 po prostu kasowałem tę flagę przez wpisanie 1 do całego rejestru na końcu przerwania i problem zniknął: GIFR=0xff;

    Mikrokontrolery   03 Sty 2008 20:57 Odpowiedzi: 8    Wyświetleń: 2281
  • [atmega8][bascom] co można poprawić w tym kodzie?

    le sorry, moj blad myslalem ze to program, a to byl koment do programu. Co do tego return. Jak dobrze widze to jest to sub a nie przerwanie lub podprogram. A wracasz z suba normalnie przez end sub. Dodano po 5 widze, ze masz tam petle to dodaj flage (zmienna jedno bitowa) do tego ifa i zrob loop until flaga. Dam ci przyklad: dim flaga as bit flaga=0...

    Mikrokontrolery AVR   16 Lip 2009 00:31 Odpowiedzi: 6    Wyświetleń: 1996
  • [Atmega8] [Atmega8][C/Linux] Jak obsłużyć przerwania podczas wczytywania bajtów z USART?

    Kiedy funkcja ta "trwa" czyli czeka aż wpiszę te bajty do terminala to przerwania nie działają Jeżeli dobrze przeanalizowałem Twój kod to przerwanie działa prawidłowo, a problem leży w kodzie. Dlaczego? Bo: - przerwanie prawidłowo ustawia flaga=1 - ale program czeka w pętli: while (!(UCSRA & (1<<RXC)) ); - więc nie może dojść do miejsca,...

    Mikrokontrolery AVR   19 Kwi 2011 10:51 Odpowiedzi: 10    Wyświetleń: 1377
  • [C] [C][ATmega8] - Problemy z przerwaniem zewnętrznym i sterowaniem serwami

    1. Po co opóźnienie na ustanie drgań styków jeżeli przerwanie już się wykonuje? Nic Ci to opóźnienie nie daje a tylko strasznie wydłuża wykonanie procedury przerwania. 2. Jeżeli już masz to opóźnienie to po nim powinno być ponowne sprawdzenie pinu PD2 które określi czy na pewno nastąpiła zmiana stanu na pinie. Na Twoim miejscu w obsłudze przerwania...

    Mikrokontrolery AVR   05 Wrz 2013 19:54 Odpowiedzi: 17    Wyświetleń: 3444
  • Jak zrobić czasowe wyswietlanie na LCD (+ Atmega8)?

    jeśli wyzwalane jest przerwanie to AVR automatycznie zeruje flagę I w MCR i blokuje wszystki inne przerwania. po zakączeniu przerwania flaga jest przywracana do poprzedniego stanu. można ją recznie ustawić na początku przerwania. z tego co wiem to po ustawieniu flagi I wszystkie zaległe przerwania powinny zostać wykonane.

    Mikrokontrolery   08 Mar 2006 21:03 Odpowiedzi: 7    Wyświetleń: 1608
  • [atmega8] [atmega8][c] Zmiana zmiennej w pętli nie działa w AVR Studio 4. Dlaczego?

    Ciężko to nazwać błędem, co innego zbyt długie przetwarzanie danych - jeśli nie można szybciej, trzeba wybrać inny procesor. Sprzętowe skasowanie flagi I od programowego niczym się nie różni. Jeśli zajdzie warunek jakiegoś przerwania, ustawiana jest odpowiadająca flaga (wyjątkiem są przerwania zewnętrzne reagujące na poziom), procesor wskoczy do podprogramu...

    Mikrokontrolery AVR   02 Wrz 2008 11:33 Odpowiedzi: 30    Wyświetleń: 3181
  • Atmega8, ds18b20, LCD - błędne odczyty temp. przy przerwaniach timer0

    A kto powiedział że musisz go wyłączać? Istnieje lepszy sposób: robisz sobie flagę którą resetujesz w pzrerwaniu od timera. Potem wystarczy dodać coś takiego: Set Flaga : While Flaga = 1 : Wend Takie coś wstawiasz tam gdzie wcześniej musialeś wyłączać przerwania. Działa to tak że uc czeka aż wykona się przerwanie i dzięki temu wiemy że miało...

    Mikrokontrolery AVR   10 Mar 2009 09:47 Odpowiedzi: 9    Wyświetleń: 2444
  • UART Atmega8 AVR GCC - brak reakcji na przerwanie, jak to naprawić?

    Czy odbierasz OKEY? Czy możesz w warunku if ( flaga == 1 ) { LED_ON; uart_putc( c ); LED_OFF; flaga = 0; } dodać mrugnięcie diodą LED? I wtedy spróbuj uruchomić program bez inicjowania 'c' i 'flaga'.

    Mikrokontrolery   28 Lut 2010 22:30 Odpowiedzi: 19    Wyświetleń: 1857
  • Jak zerować flagę przerwania w asm dla Atmega8? Zerowanie TIFR w kodzie

    w zyciu kazdego mezczyzny nadchodzi taka chwila, ze warto przeczytac datasheeta, aby poznac odpowiedz na 99% pytan, wiec... na co jeszcze czekasz? sprawa dokladnie wyjasniona przy opisie rejestru TIFR (zreszta kazdego innego odpowiedzialnego za flagi przerwan tez). 4\/3!!

    Mikrokontrolery   17 Sty 2009 13:50 Odpowiedzi: 2    Wyświetleń: 990
  • [ATMEGA8] [ATMEGA8][C] Reakcja na przycisk, zliczanie i zmiana stanu bitu po 1 sek.

    Przekombinowane!. Po naciśnięciu klawisza startujesz timer i ustawiasz flagę. Flagę zeruje przerwanie licznika. Jeśli przyciśnięto klawisz i flaga jest ustawiona wykonaj akcje.

    Mikrokontrolery AVR   04 Maj 2010 22:30 Odpowiedzi: 14    Wyświetleń: 2875
  • [Atmega8] Jak zmierzyć czas stanu wejścia z dokładnością 100ms na Atmega8 w C?

    Jak ustawiasz wartości początkowe jak np. wyjścia portu w rejestrze DDR to nie musisz robić |=, wystarczy =. Dobry zwyczaj to także robienie tabulacji (Tab) w funkcjach, czyli: [syntax=c]if(...) { for(...;...;...) { ... } }[/syntax] Jest kod bardziej czytelny, ale to takie spostrzeżenia :wink: A Twój problem to wpisanie przerwania do głównej funkcji...

    Mikrokontrolery AVR   06 Sie 2011 18:22 Odpowiedzi: 53    Wyświetleń: 7543
  • [ATmega8][C] - brak wysyłania danych przez UART po wyzwoleniu przerwaniem

    Jeszcze trzeba wykonać sei(), aby odblokować globalną flagę zezwolenia na przerwania - bez tego twój ISR się nie wykonuje.

    Mikrokontrolery AVR   12 Lis 2018 18:29 Odpowiedzi: 4    Wyświetleń: 444
  • AVR (atmega8) - SPI instrukcje w trakcie przesyłania danych

    ...Czy SPI działa "niezależnie" tzn do rejestru wpisujemy wartości i SPI samo działa sobie z boku... Dokładnie tak; nie wysyłasz bitów 'ręcznie'. Jeżeli włączysz SPI, to zapisanie bajtu danych do rejestru automatycznie rozpoczyna transmisję i równolegle odbiór 8 bitów. Po zakończeniu operacji zostanie ustawiona flaga/flagi przerwania, a samo przerwanie...

    Mikrokontrolery AVR   11 Sie 2014 09:28 Odpowiedzi: 6    Wyświetleń: 1812
  • [atmega8[bascom] Jak zsynchronizować DCF77 i pomiar temperatury DS18B20 na ATmega8?

    Witam Napisałem program, który dekoduje sygnał DCF77 ( ustawia flagę ), następnie zapisuje ( przy pierwszym uruchomieniu ) wartości zmiennych do PCF8563 i cztery razy na dobę wysyła przez RS485. do tego dwa razy na dobę koryguje czas w PCF8563. I to działa bez problemu. Do celów testowych mam podłączony LCD. Chciałem dołączyć możliwość pomiaru i wysyłania...

    Mikrokontrolery AVR   24 Maj 2012 18:24 Odpowiedzi: 3    Wyświetleń: 3200
  • [atmega8] [atmega8][bascom] Jak zresetować odliczanie czasu po naciśnięciu przycisku?

    Ale nie blokuje przerwań. Przycisk przenieś na PD2 lob PD3, ustaw zezwolenie obsługi przerwań i przerwania zewnętrznego, ustaw obsługę tego przerwania np. on INT0 ustaw_flage ustaw_flage: flaga=1 return i wpisz zamiast: "If Pinb.0 = 0 Then" "If Pinb.0 = 0 or flaga=1 Then" P.S. Ale obsługi Timerów powinieneś się tez nauczyć.

    Mikrokontrolery AVR   27 Cze 2010 17:55 Odpowiedzi: 12    Wyświetleń: 1706
  • Atmega8 - Nieprawidłowe działanie przerwań zewnętrznych z enkoderem i LEDami

    Niby wiem,ale nie wiem co miałbym zrobić. Bo w momencie ruchu enkodera od razu jest zapalana flaga INTF0, więc natychmiast (prawie) przechodzimy do instrukcji przerwania, w której de fakto nie powieniem robić opóźnień oraz pętli, więc w funkcji przerwania nie zapobiegnę drganiom styków. Mogę jedynie wyzerować flagę przerwania jeśli drgania wystąpią...

    Mikrokontrolery Początkujący   13 Lip 2013 18:53 Odpowiedzi: 19    Wyświetleń: 3294
  • [Atmega8] [Atmega8][RS485] - Nieprawidłowe dane na LCD, sprawdzenie kodu nadajnika

    Dzięki. Zrobiłem na przerwaniach i działa. Wie ktoś może jak zrobić timeout funkcji odbierającej dane w przerwaniu? Próbowałem z pętlą while i dekrementacją licznika ale nie działa. [syntax=c]/* Funkcja odbierająca dane z USART */ unsigned char USART_Receive( void ) { /* Wait for data to be received */ while ( !(UCSRA & (1<<RXC)) ){}; /* Get...

    Mikrokontrolery AVR   04 Sty 2013 08:42 Odpowiedzi: 7    Wyświetleń: 4005
  • [Atmega8] Timer0 nie generuje przerwań przy 12MHz i preskalerze 1024

    spróbuj skasować flagę na końcu przerwania (chociaż powinna być kasowana sprz.) TIFR|=1<<TOV0;

    Mikrokontrolery AVR   16 Lis 2010 17:55 Odpowiedzi: 13    Wyświetleń: 4266
  • Jak mierzyć dłuższe czasy stanu niskiego na Atmega8?

    Zła konstrukcja programu. Masz bardzo rozbudowane przerwanie, w którym robisz obliczenia na liczbach z przecinkiem. To po skompilowaniu stworzy ogromny kod i będzie trwało wieczność. W głównej pętli masz ciągłe wypisywanie na LCD, jeśli w trakcie transmisji do LCD wejdzie przerwanie może być kolizja. Zmień program tak aby w przerwaniu była tylko ustawiana...

    Mikrokontrolery AVR   17 Paź 2011 11:48 Odpowiedzi: 2    Wyświetleń: 1700
  • Atmega8 - Timer1 zmiana współczynnika wypełnienia

    ustaw sobie przerwanie od np. TIMER2 co 10ms i sprawdzaj 4 ostatnie stany przycisku. teoria: http://mikrokontrolery.blogspot.com/2011... powyższe zaadoptowane do A8: [syntax=c] //**************definicja przycisku************** #define _Key _BV(PD7) #define Key_PIN PIND #define Key_DDR DDRD #define Key_PORTPORTD...

    Mikrokontrolery AVR   24 Lut 2014 18:26 Odpowiedzi: 18    Wyświetleń: 2370
  • Dlaczego przerwanie Timer0 w ATMega8 nie działa po Enable Timer0?

    Witam! Z pewnością chcesz wykorzystać mechanizm "polling" :) jak to się ładnie nazywa w dokumentacjach. Po pierwsze w ATmega8 nie ma flagi Tirf.0, jest natomiast flaga Tifr.0 o którą zapewne Ci chodzi, dlatego pewnie nie do końca che działać. ;) Pozatym aby używać przerwań w ATmega8 musisz też odblokować globalny system przerwań, ponieważ po starcie...

    Mikrokontrolery   22 Wrz 2006 09:20 Odpowiedzi: 2    Wyświetleń: 1340
  • [C] Atmega8 przerwania INT0/INT1 – wielokrotne zliczanie naciśnięć przycisku (debouncing)

    Jeśli w procedurze obsługi przerwania jest sprawdzany warunek: ... if (! (PIND & 0x04)) ... to chyba ma znaczenie, na jakie zbocze przerwanie reaguje? Dodano po 31 Jeszcze jedna uwaga, która mi się nasuwa. Skoro styki mają drgania, to po wejściu do procedury obsługi przerwania jego flaga zostanie ustawiona ponownie. Jak skończy się...

    Mikrokontrolery AVR   09 Lip 2010 21:11 Odpowiedzi: 25    Wyświetleń: 2478
  • atmega8, c - Przerwanie TIMER0_OVF_vect wykonuje się tylko raz, dlaczego?

    Jeżeli przerobiłeś pętlę główną na while(flag) to nie o to chodziło. Zostaw więc while(1) w pętli głównej, a while(flag) zamień na if(flag). Dodatkowo na początku if przed LCD_GoTo(0, 0) wstaw flaga=0. ... i pokaż cały program po zmianach, a nie tylko fragment.

    Mikrokontrolery Początkujący   09 Mar 2015 10:28 Odpowiedzi: 9    Wyświetleń: 1218
  • [ATmega8][BASCOM] Przerwania z timera a odczyt z UARTa

    A mogę chyba ją skasować zaraz na początku IFa? Tak mi się wydaje logiczniej, chociaż to chyba nie ma żadnego znaczenia. znaczenie to ma :) ale w tym przypadku możesz ją kasować na początku, jednak zauważ jaki ciekawy mechanizm masz w rękach. Bo np gdy chciałbyś aby w przerwaniu ta flaga i ew jeszcze jakieś inne operacje mogły się wykonać dopiero gdy...

    Mikrokontrolery AVR   21 Sie 2008 10:59 Odpowiedzi: 4    Wyświetleń: 3124
  • BASCOM Alarm SMS-GSM na atmega8a i sim800L z dualną czujką PIR i MW

    Trzeba zrobić detekcję zbocza np. poprzez użycie dodatkowej zmiennej- flagi Zmienna ta ustawiana byłaby np. na 1 po wysłaniu SMS-a, a wejście do podprogramu wysyłającego SMS pod warunkiem, że ta zmienna = 0 If Pir_1 = 0 And Mw_1 = 0 And Flaga = 0 Then ....... (program wysyłający SMS) Flaga = 1 En If Gdzieś w głównym programie If Pir_1 = 1 And Mw_1 =...

    Mikrokontrolery Początkujący   16 Cze 2018 17:31 Odpowiedzi: 25    Wyświetleń: 3579
  • atmega8 winavr; małe opóźnienie w programie (uart)

    ISR(USART_RXC_vect) //przerwanie usart przy odebraniu znaku { switch (flaga) { case 0: if ((rxbuff[0] = UDR) ==50 ) flaga++; break; case 1: rxbuff[1] = UDR; flaga++; break; case 2: rxbuff[2] = UDR; flaga++; break; default: smiec = UDR; flaga=0; break; } } //...

    Mikrokontrolery AVR   09 Wrz 2009 11:58 Odpowiedzi: 33    Wyświetleń: 3533
  • Zmiana priorytetu przerwań w ATmega8 dla int0 i timer0

    Dwie istotne informacje z helpa AVR. Gdy procesor jest w trakcie wykonywania procedury przerwania, następne przerwanie nie będzie przyjęte, gdyż procesor (nie kompilator!) zeruję flagę globalnego zezwolenia na przerwania. Tak samo flaga bieżącego przerwania (tego, którego procedura obsługi jest wykonywana) zostaje automatycznie wyzerowana. Po zakończeniu...

    Mikrokontrolery   05 Lip 2007 22:43 Odpowiedzi: 17    Wyświetleń: 2875
  • [ATmega8][Bascom]Ultradzwięki-Badanie odległości z INT i Tim

    będe zgadywał zupełnie na sucho, iz pomimo iz czekasz ileśtam czasu z zezwoleniem obsługi przerwania, to i tak występuje ono zawsze po zezwoleniu ponieważ Ty TYLKO ZEZWALASZ wtedy na obsługe a FLAGA jest USTAWIONA wcześniej. przed zezwoleniem na obsługe przerwania sugeruje zerowanie flagi wystapienia przerwania. ot taka mała sugestia związana z tym...

    Mikrokontrolery AVR   03 Lip 2008 19:56 Odpowiedzi: 7    Wyświetleń: 5176
  • [ATmega8][C] Obsługa ADC - odczyt kanałów dla linefollowera

    No ale nic nie stoi na przeszkodzie aby w przerwaniu od ADC ustawić tylko flagę np. zrobiony_pomiar. A w przerwaniu od jakiegoś timera ustawiać flagę (albo kilka flag). I co jakiś czas sprawdzać czy flaga przerwania od ADC jest ustawiona- i tylko wtedy odczytywać pomiar. Wogóle to można nie zezwalać na obsługę przerwania od ADC a tylko odczytywać czy...

    Mikrokontrolery AVR   14 Mar 2011 17:50 Odpowiedzi: 41    Wyświetleń: 7024
  • atmega8 ds1307 - Program sie zawiesza przy odczycie (C)

    Na początek taka uwaga: Driver Atmela bazuje na przerwaniach, w związku z czym wymaga globalnego zezwolenia na przerwania, czyli ustawienia bitu I w SREG. Z tego też powodu nie można używać go (w sposób przedstawiony w przykładzie obsługi PCF8563 Kod 3. .............. Owszem, tutaj również się program nie zawiesza. Ale też nic nie odczytuje. To, że...

    Mikrokontrolery AVR   02 Sty 2016 17:48 Odpowiedzi: 36    Wyświetleń: 3624
  • [ATmega8] [ATmega8][C] - Timer2 blokuje program po zgaśnięciu diody, jak to naprawić?

    Dioda ci nie gaśnie ponieważ w ISR(TIMER2_OVF_vect) sprawdzasz czy licznik jest równy działko a przecież wiadomo,że jeżeli jesteś w przerwaniu od przepełnienia licznika TCNT2 to TCNT2 = 0 bo właśnie się przekręcił licznik i została postawiona flaga przerwania od przepełnienia. Zgaszenie nigdy nie nastąpi. Wróć do wersji gdzie w przerwaniu gasisz diodę...

    Mikrokontrolery AVR   22 Lis 2012 21:20 Odpowiedzi: 14    Wyświetleń: 2316
  • [Atmega8A][C/Eclipse][USART] - zapisywanie danych odebranych przez bluetooth

    Ustawiasz bit zezwolenia na przerwanie TXCIE, a gdzie masz procedurę obsługi tego przerwania? Po odesłaniu znaku flaga TXC zostaje ustawiona i ze względu na brak procedury obsługi tego przerwania program najprawdopodobniej startuje od początku. Nie ustawiaj bitu TXCIE lub napisz dla tego przerwania chociaż pustą procedurę obsługi: [syntax=c] EMPTY_INTERRUPT(USART_TXC_vect);...

    Mikrokontrolery AVR   16 Gru 2012 18:04 Odpowiedzi: 4    Wyświetleń: 1770
  • [bascom]Timer zamiast waitms do obslugi dgran przyciskow i 1wire

    Wracajac do tematu czy moglbym prosic przynajmniej o pseudo kod obslugi przykladowo drgania w przyciskach , wysterowania przekaznika np przez 2s oraz komunikacji 1wire jednym timerem (atmega8 ma az 2 timery wiec pewnie szybko skoncza sie jego mozliwosci chcac napisac kod bez zatrzymywania) Cały dowcip polega na tym że z tego 8 bitowego timera możesz...

    Mikrokontrolery AVR   15 Sty 2012 14:24 Odpowiedzi: 11    Wyświetleń: 3014
  • ATMega8 USART – ryzyko utraty danych przy odbiorze bez przerwań, jak zapobiec?

    Sprawdziłem i program w ogóle nie wchodzi do warunku if(Flaga==1). W przerwaniu Flaga jest ustawiana bez problemu, jednak mimo to program nie wykonuje instrukcji w if(Flaga==1). Ma ktoś jakiś pomysł dlaczego?? Dodano po 5 Hmm. Miałeś racje z tym volatile. Dałem volatile int Flaga i teraz jest OK. Dzięki Dodano po 1 Witam ponownie. Przetestowałem wszystkie...

    Mikrokontrolery AVR   02 Mar 2011 22:38 Odpowiedzi: 33    Wyświetleń: 3643
  • Atmega8 timer i przerwanie INT1 - jak wstawić do programu?

    Co pewien wybrany przez Ciebie czas Timer generuje przerwanie. Co jaki czas- mniej ważne, ważne żeby to był najmniejszy czas jakiego potrzebujesz. W programie osługi przerwania umieszczasz jakieś zmienne- powinny one być zdeklarowane jako volatile przed main()- będą wtedy globalne i volatile. Ja to robię tak- volatile uint8_t (albo uint_32_t) flaga1,...

    Mikrokontrolery AVR   14 Maj 2012 07:12 Odpowiedzi: 40    Wyświetleń: 5692
  • Kod dla Atmega8A + HC-05 (Bluetooth): jak podłączyć terminal?

    (at)ElektrodaBot Skończyłem na tym, że wgrałem ten kod /* Program realizujący obliczanie i wysłanie przez RS-232 wyniku funkcji kwadratowej y = 0.3187x^2 + 2x - 7 na podstawie x odebranego wcześniej także za pomocą RS-232. Szczegóły: http://mikrokontrolery.blogspot.com/... Mikrokontroler: Atmega8...

    Mikrokontrolery Początkujący   11 Wrz 2023 11:57 Odpowiedzi: 66    Wyświetleń: 1575
  • Atmega8 – obsługa wielu przerwań z priorytetem, impuls wtrysku i drogi w C

    Jak przerwanie pierwsze jest wykonywane i w tym czasie wystapi drugie, to flaga drugiego bedzie ustawiona dopoki nie skonczy sie pierwsze, czyli jak sie pierwsze skonczy to zacznie sie drugie. A w AVRach jest wektor przerwan, ale ustala on kolejnosc tylko wtedy, jak wystapia przerwania w jednym cyklu zegarowym.

    Mikrokontrolery   21 Sty 2007 14:25 Odpowiedzi: 20    Wyświetleń: 6141
  • Jak zbudować miernik prędkości obrotowej z Atmega8, LCD i GP1S51VJ000F?

    Spróbowałem własnych sił i oczywiście z pomocą forum, stworzyłem taki kod: int flaga=0; // flaga czy INT0 jest "0" czy "1" int a=0; // zmienna zwiększana przy każdym przepełnieniu licznika 0 int main(void) { //ustawienia wejścia INT0 DDRD&= ~(1<<DDD2); // konfiguracja - WEJSCIE ustawianie zera PORTD|=1<<PIND2;...

    Mikrokontrolery AVR   24 Sty 2011 00:38 Odpowiedzi: 62    Wyświetleń: 10806
  • [Atmega8] [Atmega8][C] - Jak efektywnie zarządzać timerem0 do pomiaru bezczynności użytkownika?

    Jestem obecnie w trakcie nauki programowania AVR-ów w języku C. Jednocześnie składam w kawałki kod, który mam zamiar wykorzystać w moim pierwszym, poważniejszym projekcie z tej dziedziny. W tej chwili jednak pojawiła się pewna wątpliwość, której nie rozwiała lektura kilku tutoriali. Mianowicie w jednym miejscu muszę zmierzyć czas, jaki upłynął od ostatniej...

    Mikrokontrolery Początkujący   23 Lis 2012 18:48 Odpowiedzi: 4    Wyświetleń: 2223
  • Jak skonfigurować Atmega8 z zewnętrznym generatorem 1-20 Hz?

    Alternatywą jest pomysł asemblera czyli przerwania. Można by wykorzystać tak zwane "software'owe przerwania". Czyli wybierasz sobie dowolne nieużywane przerwanie, w jego obsłudze umeszczasz pętle opuźniąjącą powiedzmy na 1s i przed RETI ustawiasz flagę przerwania (tego samego w którego obsłudze jesteś). Procek wyjdzie z przerwania i zobaczy że znowu...

    Mikrokontrolery   07 Lut 2008 09:17 Odpowiedzi: 15    Wyświetleń: 2079
  • [ARM] [ARM][C] Jak unikać zmiennych globalnych w embedded C? Struktury i wskaźniki

    Napisałem więcej punktów więc może pomieszałem. W tej strukturze będą znajdować się bufory w formie tablicy 100 bajtów, oraz spora ilość flag pomiędzy wątkiem głównym a przerwaniami i różne zmienne pomocnicze. Taki sposób jak zaprezentowałem ma pewną zaletę: łatwo debagować, bo w dowolnym momencie mogę podejrzeć całą strukturę, wszystkie bufory itd....

    Programowanie   15 Lis 2017 10:13 Odpowiedzi: 19    Wyświetleń: 921
  • [atmega8] [C] Raz jeszcze TWI- nie ustawiana flaga TWINT

    Po pomyslnym wysłaniu danych i odebraniu ack, mikrokontroler ustawia wartość TWINT na 0 Skąd ta wiadomość? Według dokumentacji: http://obrazki.elektroda.net/39_12581070... Flaga ta po resecie ustawiona jest na zero. Po wystąpieniu zdarzenia wymagającego programowej obsługi ustawiana jest na 1. Transmisję rozpoczyna się od wyzerowania tej flagi....

    Mikrokontrolery AVR   29 Maj 2010 16:00 Odpowiedzi: 6    Wyświetleń: 3091
  • Atmega8 - Zapis do EEPROM wymaga resetu, jak to naprawić?

    SIGNAL ( SIG_OVERFLOW0 ) { TCNT0 = T0_INIT; counter++; if ( overflow > 0 ) overflow--; } Jeżeli zapisujesz cos do EEPROMu to napewno nie rob tego w przerwaniu wywolywanym tak czesto (0,125us), ani w petli glownej programu. Pamiec EEPROM ma okresloną maksymalną ilość cykli zapisu i wymazywania. W ATmega 8 wynosi ona 100...

    Mikrokontrolery   02 Lip 2009 17:38 Odpowiedzi: 7    Wyświetleń: 4222
  • [c] [c][atmega8] Silnik krokowy nie działa z EMC2, sterowanie halfstepem

    Po usunięciu PORTD=0; wszystko zaczęło działać jak należy. Oto działający kod: #include <avr/io.h> #include <avr/interrupt.h> volatile unsigned int flaga = 0; void Inicjalizacja(void)//inicjalizac... przerwań na porcie int1 { sei(); //Włączenie obsługi przewań // INT1 - zbocze opadające MCUCR = _BV(ISC11); //...

    Mikrokontrolery AVR   18 Wrz 2010 19:03 Odpowiedzi: 7    Wyświetleń: 4253
  • atmega8 - blokowanie przerwania int0 i int1 w asm

    i to może być powód, nie kasowałem flagi ;) , dzięki, sprawdzę w poniedziałek

    Mikrokontrolery AVR   11 Maj 2013 16:29 Odpowiedzi: 4    Wyświetleń: 1659
  • [ATMEGA8] ATMEGA8 BASCOM – Odbiór kodów RC5 w pętli głównej działa, w INT0 zawsze 255

    Tak się zastanawiam, czy to nie powinno działać?: [syntax=basic4gl]Rc5: Disable Int0 ' wyłącz przerwanie INT0 Gifr.intf0 = 1 ' skasuj żądanie przerwania z INT0, UWAGA!!! to nie jest błąd, żeby zgasić ten bit należy wpisać 1 Enable Interrupts ' SEI Getrc5(adres , Kod) If Adres = 0 Then Kod = Kod And &B01111111 End If Set Flaga Disable Interrupts ' CLI...

    Mikrokontrolery AVR   18 Sty 2012 23:55 Odpowiedzi: 12    Wyświetleń: 6205
  • [ATMEGA32] [C] jak zrobić arduinowe serial.available, Przerwanie od UART.

    W jaki celu w przerwaniu odbioru usart wywyłujesz funkcję USARTReadChar()? [syntax=c]char USARTReadChar() { while(!(UCSRA & (1<<RXC))) { //Do nothing } return UDR; } ISR(USART_RXC_vect) //przerwanie od odbioru danej { b = USARTReadChar(); USARTWriteChar(b); if (b == '1' ){flaga = 0;} else if (b == '2' ){flaga = 1;} else {flaga = 1;} //wysłanie...

    Mikrokontrolery   29 Gru 2017 18:13 Odpowiedzi: 8    Wyświetleń: 777
  • [Atmega8][C] Odbieranie sygnału IR wewnątrz przerwania ICP

    1. Nie mam żadnych warningów 2. ??? Nie jest to bynajmniej moje pierwsze przerwanie, ani tym bardziej flaga. Po czym wnosisz, że nie wiem jak działają? 3. Owszem, zablokowałem całe przerwanie odpowiadające za ICP w momencie, gdy zaczął się sygnał. Zamierzone działanie, co w nim złego? 4. ??? "Podłączyłem pod PORTB.0 (ICP) odbiornik podczerwieni TSOP31236"...

    Mikrokontrolery AVR   17 Maj 2019 18:14 Odpowiedzi: 18    Wyświetleń: 981
  • [ATMEGA8] [ATMEGA8][BASCOM] Integracja zegara, 18B20 i A/C - problemy z działaniem razem

    Zmień: Gosub = Sectic Na: call = Sectic a także zadeklaruj sobie zmienną "flaga" jako bit i resetuj ją na końcu podprogramu "Sectic". Następnie przed odczytem z przetwornika umieść: Set Flaga : While Flaga = 1 : Wend . Próbuj doświadczalnie umieszczać ten kod tam gdzie masz odczyt z przetwornika. Dzięki temu kod umieszczony poniżej zacznie się...

    Mikrokontrolery AVR   07 Cze 2008 10:23 Odpowiedzi: 5    Wyświetleń: 4271
  • [AVR-GCC] Jak skonfigurować ADC w ATMega8 do odczytu potencjometru na LCD?

    No tak bo pomiar jednak troche trwa czasu a Ty nie sprawdzasz czy juz sie zakonczyl. Wlaczasz przerwanie od ADC ale nie wlaczasz przerwan globalnych ani nie ma obslugi tego przerwania. Moja propozycja nie wlaczaj przerwania od ADC ale po procedurze StartADC() daj petle sprawdzajaca flage zakonczenia pomiaru przez przetwornik (ADIF) . Gdy flaga nie ustawiona...

    Mikrokontrolery   19 Gru 2005 20:51 Odpowiedzi: 11    Wyświetleń: 5315
  • Jak skonfigurować przerwania w ATmega8 w języku C z użyciem GCC?

    Piszesz bardzo zawile.... Pierwsze dołącz avr/io.h. Drugie: po włączeniu przerwań włącz licznik za pomocą takiej sekwencji: wait: unsigned char a; a = ASSR2; for(;;) if((a&(1<<TCR2UB&#... break; TCCR2 = 1<<CS21; Jeśli to nie za działa to spróbuj wymienić procek (chyba że masz oscyloskop)... Może zegar...

    Mikrokontrolery   13 Lis 2010 16:13 Odpowiedzi: 48    Wyświetleń: 19441
  • Atmega8: Jak generować PWM na OC1A i przerwanie co 1s z timer0?

    Dla timer 8it bez błędu odliczania można zastosować preskaler 64 i następującą procedurę obsługi ( kod w C ) [syntax=c] volatile uint8_t flaga // deklaracja jako zmienna globalna i pooling zmiennej w pętli głównej uint8_t main( void ){ flaga = 0 while(1){ if(flaga == 1){ flaga = 0 // dalej funkcje wykonywane co 1s } } } ISR(TIMER0_OVF_vect) { static...

    Mikrokontrolery AVR   12 Mar 2013 08:31 Odpowiedzi: 14    Wyświetleń: 2934
  • atmega8 + multiplexowanie 4 wyświetlaczy led + DS18B20

    Witam Wiadomo, że trzeba przygotować dane dla wyświetlacza i zmusić DSa do odczytu. Z DSem jest tak, że układ potrzebuje niecałej sekundy (0.7-0.8s), żeby przetworzyć temperaturę na postać cyfrową. Jednak sam odczyt z układu trwa znacznie krócej. W związku z tym proponuję w obsłudze przerwania wyświetlaczy (na początku) wysłać komendę do DSa aby zaczął...

    Mikrokontrolery   27 Paź 2007 08:06 Odpowiedzi: 2    Wyświetleń: 2450
  • [AVR][C][Atmega8]TIMER i Preskaler - błąd przy kompilacji

    :) to w takim razie książka godna polecenia. To zależy od którego momentu chcesz mieć włączone przerwania. Jak coś piszę to na samym początku programu głównego konfiguruję wszystkie peryferia i później włączam przerwania (przed pętlą nieskończoną). Np: int main() { // tutaj wszystko konfiguruje //np. init_timers(); init_lcd();...

    Mikrokontrolery   05 Cze 2011 09:34 Odpowiedzi: 27    Wyświetleń: 5378
  • [Atmega8] [Atmega8][C] ISR(TWI_vect) z RTC DS1307 - jak poprawnie użyć przerwań?

    Teraz trochę zgłupiałem, jak to powinno wyglądać w programie. Dostaje przerwanie od TWI i co dalej? Jeśli nie wpisuje 0 do TWINT to program zapętla się w przerwaniu. The TWINT Flag must be cleared by software by writing a logic one to it. i poczytaj ten temat: http://www.elektroda.pl/rtvforum/viewtop...

    Mikrokontrolery AVR   13 Lut 2012 11:06 Odpowiedzi: 14    Wyświetleń: 2550
  • [ATMEGA8][avr-gcc] - Różne poziomy jasności diody LED -PWM

    nawiązując do powyższych wypowiedzi, postanowiłem kontynuować temat Bardzo szeroko rozumiana ta "kontynuacja" Najbardziej oczywiste bylo by wykorzystanie wejścia ICP wtedy Timer1 i przerwanie od ICP wykonuje całość roboty i dodatkowo można skorzystać z filtru zakłóceń przebiegu wejściowego. Ale w podanej konfiguracji też się da. Ogólny schemat: 1....

    Mikrokontrolery AVR   02 Mar 2018 20:10 Odpowiedzi: 12    Wyświetleń: 4212
  • Gdzie umieszczać reset Watchdog w AT90S2313 i ATMEGA8?

    Szkoda że z takiego fajnego tematu zrobił się taki bełkot. Wyraziłem się jasno ja nie chcę ratować programu Watchdogiem nie chcę również oszczędzać przy jego pomocy na zabezpieczeniach samego procka itp. Pewnie się ze mną zgodzicie Watchdog służy do zabezpieczania procka przed błędami i wypadkami, których nie da wyeliminować na drodze programowej i...

    Mikrokontrolery   01 Sie 2005 11:10 Odpowiedzi: 30    Wyświetleń: 4712
  • atmega8 - UART przerwania - dioda nie gaśnie po odebraniu danych UART

    Musisz opracować własny protokół wymiany danych. Jeśli rozkaz wraz z jakimiś dodatkowymi bajtami ma np. 5 bajtów, to warto odbierać je do jakiegoś bufora i dopiero po odebraniu wszystkich rozpoznać jaką paczkę danych odebrano. Z reguły o tym co dana paczka zawiera decyduje co najmniej pierwszy bajt lub kilka jego bitów. Równie dobrze może to być aż...

    Mikrokontrolery AVR   21 Lip 2015 21:56 Odpowiedzi: 9    Wyświetleń: 1647
  • [Attiny 2313][ASM] - Nieprawidłowy reset z powtarzającym się błędem

    Nie mam jakiegoś konkretnego pomysłu, bo nie widzę całości kodu, ale zauważyłem, że "puste" przerwania wskazują na "reset". .cseg ; Interrupt Vectors (ATtiny2313) rjmpreset ;Reset rjmp0 ;INT0 rjmp0 ;INT1 ... itd. Wydaje mi się, że może być któreś z "pustych" przerwań wykonywane - to trzeba sprawdzić w kodzie, czy istnieje taka możliwość. Z mojego doświadczenia...

    Mikrokontrolery AVR   25 Wrz 2012 17:11 Odpowiedzi: 6    Wyświetleń: 3372
  • [ATMEGA8] Czy przerwania TIMER-a zakłócą transmisję RS232 1200 b/s?

    ...czy na czas wytransmitowania, bądź odbioru znaku program wstrzyma swoje działanie na 10ms, czy po prostu odbędzie się to równolegle... Jeśli budujesz transmisję RS232 na przerwaniach, sprzętowy USART odbiera znak w czasie, gdy procesor wykonuje program główny. Po odebraniu całego znaku generowane jest przerwanie. W obsłudze przerwania musisz tylko...

    Mikrokontrolery AVR   11 Paź 2012 18:32 Odpowiedzi: 14    Wyświetleń: 3494
  • Minutnik kuchenny na ATmega8 - prośba o opinię na temat kodu w BASCOM

    Witam Jestem początkującym bascomowcem , napisałem program minutnika do kuchni i prosiłbym bardziej doświadczonych kolegów o rzucenie okiem na moją konstrukcję. Program działa poprawnie według moich założeń, zależy mi tylko na opiniach. Schematu nie rysowałem bo to prosta konstrukcja jedna dioda led , buzzer i trzy przełączniki . przełącznik S1 ustawia...

    Mikrokontrolery AVR   09 Lut 2015 23:01 Odpowiedzi: 4    Wyświetleń: 1014
  • [Bascom][AtMega8]Komunikacja dwóch ATmega8 przez rs232

    No i problem wygląda na rozwiazany, to co powodowało niedziałanie ww układu to fakt, ze w przerwaniu od UART nie pobierałem znaku z buforu, przez co flaga nie zostawała wyzerowana i kolejne znaki nie były odbierane... Innymi słowy powinno być tak: Port: A=InKey() Toggle portd.6 Return

    Mikrokontrolery AVR   12 Wrz 2010 15:44 Odpowiedzi: 17    Wyświetleń: 6655
  • Atmega8 - Jak zredukować opóźnienia przy obsłudze przycisków i czujników DS18B20?

    Na podstawie informacji zawartych tutaj: http://diycenter.acid19.linuxpl.com/read... oraz zgodnie z sugestiami w poprzednich wypowiedziach zrobiłem sobie w celu przetestowania taki oto program: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> int time=0, flaga=0; int main (void) { DDRB |= (1 << 0); //...

    Mikrokontrolery   17 Gru 2013 22:06 Odpowiedzi: 12    Wyświetleń: 1824
  • [Atmega8][C] Sterowanie serwem - programowy PPM - obsługa przycisku

    Rozumiem. Liczysz więc na uwagi, niż na efekt końcowy. Wklejam linijki kodu, które są źle. [syntax=c]if (flaga==1) TCCR1B |= (1<<WGM12) | (1<<CS10) ; //ustawienie Timera1 w trybie CTC, preskaler 1 flaga=0;[/syntax] [syntax=c]if (cnt>25) {TCCR1B &= ~(1<<WGM12) | (1<<CS10); cnt=0;} [/syntax] Dodatkowo po zatrzymaniu timera...

    Mikrokontrolery AVR   01 Sie 2012 09:54 Odpowiedzi: 34    Wyświetleń: 7151
  • Błąd kompilacji BASCOM-AVR 1.11.9.5 na Atmega8 - instrukcja warunkowa if

    Już kiedyś pisałem o błędach bascoma w obsłudze przerwań (raz wywołane jest potem cyklicznie generowane pomimo, że czynnik wywołujący przerwanie już zanikł, bo bascom zapomina przy kompilacji kodu o fladze w rejestrze przerwań). Ale tu Bascom nie ma nic do rzeczy, flaga wystąpienia przerwania jest kasowana automatycznie przez procesor gdy włączona...

    Mikrokontrolery AVR   07 Lut 2011 19:49 Odpowiedzi: 13    Wyświetleń: 1857
  • [C] Sterowanie serwami przez PWM na Atmega8, obsługa klawiatury przez INT0 – jak poprawić?

    To ustaw jeden z timerów na przerwanie co 10ms. W przerwaniu sprawdzaj stan portu pod który masz wpiętą klawiaturę. Jak jest zmiana to ustaw odpowiednią flagę. W pętli głównej sprawdzaj czy ustawiona jest flaga klawiszy. Po obsłudze funkcji dla danego klawisza zeruj flagę.

    Mikrokontrolery AVR   15 Paź 2010 20:57 Odpowiedzi: 11    Wyświetleń: 2753
  • [ATMEGA8] ATMEGA8 licznik czasu: start/stop odliczania przyciskiem, obsługa timerów i przerwań

    Sorry że tak późno, ale komuś może się przyda. [syntax=csharp]#include <stdio.h> #include <avr/io.h> #include <avr/interrupt.h> #include "hd44780.h" volatile char dziesiatka = 0; volatile int sekunda = 0; volatile int flaga = 0; char tekst[10] = "Gotowy"; int main (void) { TCCR1A = ((0 << WGM11) | (0 << WGM10)); // ustawienie...

    Mikrokontrolery AVR   18 Kwi 2011 09:29 Odpowiedzi: 34    Wyświetleń: 6573
  • [Bascom] ATmega88PA - Odczyt RC5 nie działa, działa na ATmega8, co zmienić?

    Na mojej płytce wszystkie programy działają. Odczytaj programatorem plik z procesora i porównaj z tym wygenerowanym przez kompilator to bedziesz wiedział czy programator źle wpisuje program. Spróbuj ten program tylko pokombinuj z watrością [ , Wait = 2500] tzn wprowadzaj wartości od 100 do 5000. Musi zadziałać. Dla kwarcu 8MHz i ATMega88 [syntax=basic4gl]$regfile...

    Mikrokontrolery AVR   12 Mar 2012 18:45 Odpowiedzi: 32    Wyświetleń: 4687
  • [atmega8][c] obsługa dwóch przerwań + odmierzanie czasu

    W skrócie: /* zakładając, że bit INT1 w GICR jest normalnie ustawiony */ ISR(INT1_vect) { GICR &= ~_BV(INT1); /* wyzeruj flagę INT1 */ sei(); /* kod obsługi */ cli(); GICR |= _BV(INT1); /* ustaw flagę INT1 */ } Pozdrawiam, Dr.Vee

    Mikrokontrolery AVR   18 Wrz 2008 22:46 Odpowiedzi: 14    Wyświetleń: 2597
  • Błąd w ATmega8 - czy możecie sprawdzić?

    Hej Też pisze program na potka ale cyfrowego. Odbieranie RC5 mam na przerwaniu. U Ciebie strasznie dużo tych GetRC5. Proponuje odbieranie kodu na przerwaniu z ustawieniem flagi. Idea jest taka: pętla główna do if flaga = 1 then if command = a then instrukcje - vol up end if if command - b then instrukcje - vol down end if reset flaga end if loop end...

    Mikrokontrolery   20 Sty 2006 10:53 Odpowiedzi: 7    Wyświetleń: 2019