inkrementacja przerwaniu

Znaleziono około 345 wyników dla: inkrementacja przerwaniu
  • Jak zrealizować inkrementację zmiennej w przerwaniu INT0 na ATtiny2313?

    Napisz tak: Dim Zmienna As Byte Zmienna = 0 Config Intx = Low Level | Rising | Falling [ | Change ] 'Konfiguracja reakcji na sygnał przerwania 'za x podstaw nr przerwania wybierz jeden ze sposobów pobudzenia kocówki uC Enable Interrupts 'Uruchomienie przerwań globalnych Enable Intx 'Uruchomienie przerwania INTx On Intx Obsluga_przerwania 'wskazanie...

    Mikrokontrolery   02 Lut 2006 15:32 Odpowiedzi: 4    Wyświetleń: 3648
  • LPC2142 + RTC - brak wywołania przerwania od inkrementacji np. sekund

    a jak zatem rozumieć priorytety przerwań związane ze slotami? Nie jestem biegły w ARM7, powtórzę, ale polegam tu na tej publikacji: http://engenuics.com/wp-content/uploads/... a szczególnie na tym fragmencie: 4. On the LPC214x processors, two hardware priority groups are available. The high priority interrupt is referred to as...

    Mikrokontrolery ARM   04 Paź 2017 15:50 Odpowiedzi: 8    Wyświetleń: 1005
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • Inkrementacja rejestru GPR w przerwaniu na PIC16F628 - brak efektu

    Podczas obslugi przerwania wykonuje inkrementacje jakiegos tam rejestru GPR, ale czemu podczas obslugi kolejnych przerwan rejestr ten nie zwieksza sie ? Dodam ze jak wpisze konkretna wartosc to podczas przerwania wpisuje sie ona do rejestru, ale jak juz z kazdym przerwaniem chce zwiekszac zawartosc rejestru to nie da rady :( (programowalem kilka razy...

    Mikrokontrolery   28 Lip 2005 06:18 Odpowiedzi: 2    Wyświetleń: 1080
  • REKLAMA
  • Siemens S7 1200 - Generowanie impulsów zegarowych dla HX711 i wizualizacja w IGSS/WinCC

    Powinien się wyrobić, ważna informacja dla Ciebie, s7 1200 potrzebuje ok 175us na odpalenie przerwania (więc dobrze że ta "dziura" 2ms do kolejnego bitu). W obsłudze przerwania odczyt bitu jakaś inkrementacja żeby wklepać to w tablicę booli i jakaś obsługa flagi końca ramki i tyle. Osobiście wolałbym dać małego AVRa czy coś a do 1200 wsadzić płytkę...

    Automatyka Przemysłowa   03 Lip 2017 09:19 Odpowiedzi: 1    Wyświetleń: 2784
  • ATmega32 - Sterowanie wypełnieniem PWM, obroty wentylatora

    Według mnie błędem jest inkrementacja w przerwaniu. Lepiej ustawić sobie w nim tylko flagę że wystąpiło. Teraz w pętli głównej jeśli flaga wystąpiła to zwiększamy wartość zmiennej stan o 1. Następnie w main zerujemy flagę. Napisz czy pomogło. Pozdrawiam

    Mikrokontrolery AVR   01 Maj 2014 15:59 Odpowiedzi: 12    Wyświetleń: 4344
  • Atmega16 + Sonar HC-SR04 - Inkrementacja zmiennej w timerze co dokładnie 1uS

    Aj, aj, źle sformułowałem temat - już poprawilem ;) Częstość przerwań nie ma tu znaczenia dla mnie, jeśli trzeba pomiar może być robiony co sekundę, chodzi o to, aby inkrementacja zmiennej w przerwaniu była wykonywana co 1uS. Co do 'Input Capture' to zajmę się tym jutro.

    Mikrokontrolery   11 Gru 2012 22:49 Odpowiedzi: 6    Wyświetleń: 2787
  • Zmienne globalne wykorzystywane przez przerwania i inne.

    usunąłem chciałem zobaczyć ile operacji atomowych generuje inkrementacja.

    Mikrokontrolery Początkujący   28 Kwi 2021 13:48 Odpowiedzi: 47    Wyświetleń: 2862
  • REKLAMA
  • Attiny13a [BASCOM] - Zachowanie zmiennej po resecie WATCHDOG

    Wybudzaj przerwaniem watchdoga nie resetem. Ja bym to zrobił tak (w C, w bascomie pewnie też tak się da): W głównej pętli: - konfiguracja watchdoga z przerwaniem na jak najdłuższy czas- - wejście w power down - pętla nieskończona z ciągłym przechodzeniem do idle. W przerwaniu watchdoga: - wyzerowanie watchdoga - inkrementacja zmiennej odliczającej od...

    Mikrokontrolery   06 Lut 2015 15:30 Odpowiedzi: 3    Wyświetleń: 1125
  • Licznik w trybie asynchronicznym, atmega8, jak działa?

    TOSC1 i TOSC2 to są piny do podłączenia kwarcu, jak nie używasz kwarcu to podajesz sygnał tylko na TOSC1. ASSRn to rejestr konfiguracyjno-statusowy do Synchronization unit. Sam synchronization unit to chyba tylko prosty arbiter do komunikacji z samym licznikiem, pilnuje on żeby np zapis do licznika nie był w dokładnie tym samym momencie co inkrementacja....

    Mikrokontrolery AVR   03 Sty 2009 17:37 Odpowiedzi: 4    Wyświetleń: 1295
  • Jak uzyskać precyzyjne przerwanie 1 kHz na ATmega8 przy 16 MHz?

    Kwarc 16MHz pewnie ma dokładność rzędu 50ppm. Czy to dużo czy mało to sam musisz zdecydować. Da się znaleźć specjalne rezonatory o mniejszej tolerancji. 20 albo 10ppm. Opóźnienie w przerwaniu nie ma znaczenia jak obsługa przerwania będzie dobrze napisana. Po protu powstanie wtedy przesunięcie fazy. Ale to przesuniecie będzie stałe. Dodatkowo w mojej...

    Mikrokontrolery AVR   26 Cze 2016 16:44 Odpowiedzi: 32    Wyświetleń: 2829
  • [ATMega32] [ATMega32][C] - Jak zapisać czas w mikrosekundach bez przepełnienia zmiennej?

    i będziesz miał przerwanie co 1us, Porada pierwsza klasa ;-) Na procesorze 8bit przerwanie co 1us. Prolog + epilog przerwania + inkrementacja zmiennej co najmniej 32bit. Jesteś pewien, że zmieścisz się z tym w mniej niż 16 cyklach w C? Ile zostanie Ci czasu na resztę programu? Albert

    Mikrokontrolery AVR   15 Lis 2012 20:52 Odpowiedzi: 17    Wyświetleń: 2652
  • [mega32][C] timer, przerwania i precyzyjne odmierzanie czasu

    > stoowa Twoje kłopoty powodują 3 ostatnie linijki w pętli while czyli obsługa LCD. W ciele funkcji obsługujących lcd na pewno sa instrukcje blokowania przerwań na czas transmisji danych do lcd. Powoduje to pomijanie wywołań przerwań a co za tym idzie zegarek będzie się spóźniał. Chcemy skrócić czas do następnego przerwania o czas opóźnienia obsługi...

    Mikrokontrolery AVR   16 Lip 2008 18:30 Odpowiedzi: 34    Wyświetleń: 7737
  • [STM32] [C/Keil/STM32CubeIDE] F030 transmisja SPI z użyciem DMA

    Nie chcę inkrementacji. Wysyłam cały czas tą samą zmienną kilkukrotnie z jednej lokalizacji pamięci. W przerwaniu jest przeliczana na inną wartość w taki sposób: Ok. Niemniej jednak skopiowałem ten kod z #8 do CubeIDE 1.5.0, zrobiłem parę korekt pod moje PCB, dokonałem poprawnej implementacji flagi BUSY i wszytko działa jak powinno z inkrementacją...

    Mikrokontrolery ARM   22 Sty 2021 13:24 Odpowiedzi: 21    Wyświetleń: 1041
  • STM32 - NVIC błąd kompilacji przy obsłudze przerwania zewnętrznego EXTI9

    Problem raczej w tym ze nie jestem jeszcze az takim "wymiataczem" jak niektorzy tutaj koledzy. Tu nie ma wymiataczy. :) No chyba poza nielicznymi wyjątkami... faktycznie wyglada mi na to ze uC sie resetuje ale jak moge zatem znalesc zrodlo resetu i je wyeliminowac? Hmm. Sprawdź ile razy przerwanie jest wywoływane: - inkrementacja w przerwaniu jakiejś...

    Mikrokontrolery Początkujący   15 Lip 2014 18:44 Odpowiedzi: 42    Wyświetleń: 5787
  • REKLAMA
  • C++: Jak wyszukać n-tą parzystą lub nieparzystą liczbę w tablicy?

    Jeśli masz kod, który odnajduje liczbę, to w prosty sposób możesz przerobić go na taki, który zlicza ilość wystąpień liczby spełniającej dane warunki, prawda? Wystarczy zamiast zwracać wartość (return) - inkrementować licznik (licznik++). Po takiej inkrementacji wystarczy tylko sprawdzić stan licznika i przerwać na interesującej Cię jego wartości (if...

    Programowanie   20 Lis 2010 20:48 Odpowiedzi: 4    Wyświetleń: 1164
  • Błąd czasowy w pętli z volatile unsigned int Time_out w przerwaniu 25ms

    Też byłby problem, wyobraź sobie, że x zawiera 0xFFFF i chcesz go wyzerować. Zerując od najmłodszego bajtu przejściowo masz 0xFF00, od najstarszego 0x00FF, jeśli w trakcie zapisu jednego bajtu wystąpi przerwanie to tak czy siak x będzie miało nieprawidłową wartość. Co prawda niby inkrementacja w przerwaniu będzie działać poprawnie, wrócisz z przerwania...

    Mikrokontrolery   25 Gru 2011 21:08 Odpowiedzi: 14    Wyświetleń: 1533
  • [AtMega16][BASCOM]Problem z odmierzaniem odcinków czasu

    No właśnie- przerwanie od Timera co 16.384 ms a w przerwaniu tylko inkrementacja jakiejś zmiennej. No ale to Bascom- odkładanie na stos i zdejmowanie zajmie jeszcze kilkadziesiąt instrukcji po 0.0625us przy zegarze 16MHz. Ale nawet wtedy to będzie poniżej 6us. Wystarczy aby obsługa przerwania INT0 była krótsza od 16ms. Zwłaszcza że przerwanie zewnętrzne...

    Mikrokontrolery AVR   10 Maj 2010 11:58 Odpowiedzi: 11    Wyświetleń: 1695
  • Jak uzyskać dokładność 1ms w przerwaniu zegarka w C przy cyklu 0.0005ms?

    Po pierwsze to powinieneś najpierw zadbać o TL0 bowiem to on "ucierpi" w pierwszej kolejności pod wpływem impulsów z licznika. Korekty dokonujesz dodając niezerową zdefiniowaną stałą do obecnej wartości młodszego bajtu licznika. TL0=TL0 | 0x30; TH0=0xF8; W asemblerze będzie to: ORL TL0,#30h MOV TH0,#0F8h Można także dokonać dodawania jak zaproponował...

    Mikrokontrolery   14 Sty 2011 23:41 Odpowiedzi: 20    Wyświetleń: 2726
  • LPC1343 - z jaką predkośćią pracuje i opóźnienia

    (at)Gunis-92: Możesz wykorzystać do odmierzania czasu np. SysTick [syntax=c] volatile uint32_t licznik_tykniec;// zmienna globalna /* obsluga przerwania od licznika/timera SysTick */ void SysTick_Handler(void) { licznik_tykniec++;// inkrementacja licznika } void delay(uint32_t czas) { uint32_t aktaualny_licznik_tykniec; aktaualny_licznik_tykniec = licznik_tykniec;...

    Mikrokontrolery   27 Sty 2015 13:44 Odpowiedzi: 12    Wyświetleń: 1239
  • Bascom do sterowania zegarem+ rozpoznawanie napięcia

    Inicjacja timera w trybie normalnym, z odpowiednim prescalerem. Zezwolenie na przerwania od OVF + załadowanie timera wartością (0xffff-wyliczona wartość). Tak będzie działać z 10Mhz. W każdym przerwaniu przeładowanie timera + (de)inkrementacja zmiennej globalnej :) i to tyle folks;-)

    Mikrokontrolery   12 Paź 2008 11:04 Odpowiedzi: 8    Wyświetleń: 1379
  • Nierówne odstępy przy wyświetlaniu tablicy w przerwaniu AVR C

    jest to normalne. gdy k jest rowne 7, wyswietlasz ostatni znak, gdy k jest rowne 8, jedynie je zerujesz, a w przerwaniu nic juz sie nie dzieje. jesli chcesz tego uniknac, to zamiast: if(k==8) { k=0; } daj: if(k==7) { k=0; } swoja droga, nie wiem czy to zauwazyles, ale twoj kod nie wyswietli tez nigdy pierwszego znaku...

    Mikrokontrolery   01 Mar 2008 11:52 Odpowiedzi: 2    Wyświetleń: 977
  • LPC1768 - Jak precyzyjnie zrealizować opóźnienie 1 ms w mruganiu diodą?

    Podaję ładniejszą formę obsługi opóźnienia na SysTick: [syntax=c] #include "LPC17xx.h" #include "lpc17xx_gpio.h" volatile uint32_t licznik_tykniec; /* obsluga przerwania od licznika/timera SysTick */ void SysTick_Handler(void) { licznik_tykniec++;// inkrementacja licznika } void delay(uint32_t czas) { uint32_t aktaualny_licznik_tykniec; aktaualny_licznik_tykniec...

    Mikrokontrolery Początkujący   06 Cze 2014 20:05 Odpowiedzi: 13    Wyświetleń: 1605
  • [STM32][C] Błąd kompilacji przy inkrementacji const volatile zmiennej

    Cześć, Mam taki fragment kodu: [syntax=c] static const volatile uint32_t systick = 0; uint32_t GetTimeUs(void) { return systick; } void HAL_SYSTICK_Callback() { systick++; }[/syntax] który się nie kompiluje, dostaję taki błąd kompilacji. [syntax=c]../Application/Time.c:31:19: error: increment of read-only variable 'systick'[/syntax] Z tego co wiem powinno...

    Mikrokontrolery ARM   15 Kwi 2019 17:07 Odpowiedzi: 8    Wyświetleń: 1533
  • [C] Jak napisać kod w C dla przycisku AVR z funkcją długiego wciśnięcia?

    Wystarczy ustawić go na zewnętrzne przerwanie i nie wyzwalać go zboczem tylko poziomem :) W przerwaniu robić inkrementację temperatury

    Mikrokontrolery AVR   23 Paź 2010 09:50 Odpowiedzi: 9    Wyświetleń: 6781
  • [C]sprawdza kolejnosc alfabetyczna,podlicza male duze litery

    Zasadniczo możesz wczytywać znaki w samej pętli już, którą przerwiesz, gdy napotkasz znak o wartości ASCII mniejszej od poprzedniego (nie musisz wykorzystywać wcale tablicy). 2. Warunek po kodach ASCII oraz inkrementacja dwóch zmiennych (w zalezności od rodzaju znaku)

    Programowanie   28 Paź 2008 19:48 Odpowiedzi: 26    Wyświetleń: 6424
  • [Bascom AVR] Jak poprawić zliczanie stanu wysokiego na porcie b.1 w ATmega8?

    To nie pozostaje nic innego, jak zrobić w/g wskazówek najlepiej sygnał taktujący zliczaniem podaj na pin INT0 lub INT1 i ustaw przerwanie żeby reagowało na zbocze. Wtedy inkrementacje zrobisz w przerwaniu a w pętli głównej tylko wyświetlisz wynik. . Tylko jaka jest maksymalna częstotliwość? Bo, może się okazać, iż przerwanie trzeba będzie napisać w...

    Mikrokontrolery Początkujący   02 Lis 2012 10:08 Odpowiedzi: 8    Wyświetleń: 2207
  • [AVR] AVR C – Zatrzymanie obsługi ISR w trakcie działania, przerywanie obsługi menu przyciskiem

    Wiem, wiem ale jak w obsłudze przerwania dałem tylko ten fragment z inkrementacją, a do maina switch(), to efekt był taki sam

    Mikrokontrolery AVR   31 Sie 2011 21:47 Odpowiedzi: 75    Wyświetleń: 9965
  • [AT89s52 ] [C] Timery... nie działają ... błąd programowy?

    1)Okej, czyli procedura przerwanie_od_T0 trwa 1 s ? 2)Gdzie tutaj miejsce dla właściwej treści programu, pomiędzy TR0=1 ,a while(1) w programie głównym? 3) Chciałbym uzyskać procedure która trwa równo jedną sekundę używając timerów, bo ponoć tak jest najdokładniej. Chciałbym później ta procedurę, SEKUNDA wykorzystać w dalszej części programu. 4) pojecia...

    Mikrokontrolery   10 Wrz 2010 09:20 Odpowiedzi: 4    Wyświetleń: 1830
  • Przerwanie INT0 w AT90S2313 - problem z blokowaniem i inkrementacją licznika

    Rzeczywiście takie jest działanie układu przerwań w systemach mikroprocesorowych. Dzięki temu przerwanie może czekać w kolejce na swoją obsługę, nawet gdy obsługiwane jest w tym czasie inne. W twoim przypadku ponownie włączając przerwanie dla int0 powinieneś, jak słusznie zauważyłeś, wykonać dwie instrukcje: wyzerować bit INT0(GIFR,6), a następnie włączyć(zdjąć...

    Mikrokontrolery   07 Sty 2005 09:42 Odpowiedzi: 1    Wyświetleń: 1101
  • Jak zrobić czasowe wyswietlanie na LCD (+ Atmega8)?

    ustawias z wolny timer na najdłuższy czas jak sie da. w przerwaniu dajesz inkrementacje tak jak pisał kolega następnie dalej w przerwaniu dajesz porównianie czy zmienna osiągneła daną wartość. jeśli tak to wyswietlasz to co chcesz i zatrzymujsze timer i zerujesz zmienną. chyba źle zrozumiałeś kolegę. w pętli głównej nic nie musisz robić

    Mikrokontrolery   08 Mar 2006 21:03 Odpowiedzi: 7    Wyświetleń: 1608
  • [atmega8] [atmega8][c] Przerwanie IRQ zajmuje 100% CPU przy SPI i Timer2 co 1.15ms

    Oddzielam temat od poprzedniego ze względu na inną naturę problemu. Master generuje przerwanie od Timera2 co 1.15ms. Transmisja SPI ustawiona jest na CLK/4 co przy ośmiu bitach daje czas transmisji równy 0.004ms. Co jedno tyknięcie timera wysyłany jest jeden bajt - zatem 0.004ms co 1.15ms. Działa to wszystko pięknie, bez lagów i przepełniania stosu....

    Mikrokontrolery AVR   04 Lip 2011 20:17 Odpowiedzi: 7    Wyświetleń: 1221
  • DS18b20 - usunięcie _delay_ms(750) dzięki przerwaniom

    Możesz użyc tzw. flag w programie. W programie obsługi przerwania od timera musisz stworzyc znacznik minięcia określonego czasu. Oto fragment programu w którym w przerwaniu Timera ustawiam taki znacznik. [syntax=c] //--------------------------------------... // czesc wspolna procedury obslugi przerwania //--------------------------------------...

    Mikrokontrolery   04 Lut 2012 11:09 Odpowiedzi: 16    Wyświetleń: 2335
  • Dlaczego oscyloskop na ATMega32 zniekształca przebieg trójkątny?

    Tak, wiem, dlatego napisałem teoretyczne. Czas przetwarzania oraz zapisywania do tablicy również trzeba uwzględnić. Ale to raczej nie ma nic do tego szatkowania przebiegu.. po prostu próbkowanie odbywa się z mniejszą częstotliwością ale nie rozumiem czemu przykładowo 2, 3, 4 itd element tablicy ma tą samą wartość, skoro jest to już zapis z poprzedniego...

    Mikrokontrolery AVR   29 Mar 2011 22:36 Odpowiedzi: 29    Wyświetleń: 2516
  • [C][Atmega16A][USART] - zliczanie trwania wysłanego sygnału

    to tylko przykładowy fragment, nie mam zamiaru zamieszczać całego kodu, dodam że całość działa, a z góry ustalone pojedyncze znaki wysyła do PC bez problemu. Chodzi mi, że nie wiem czemu nie chce wysyłać po inkrementacji. Hmm przerwanie timera nie chce mi jakoś działać, ale popróbuję. Nie powinno się użyć jakiegoś TIMERA, który zmienną czasową przechowywałby...

    Mikrokontrolery AVR   05 Sty 2013 21:13 Odpowiedzi: 4    Wyświetleń: 1095
  • STM32F429I-DISC1/C# - Aktualizacja danych na wyświetlaczu wywołana przerwaniem.

    Przerysowywac należy wtedy kiedy zdarzy się coś co spowoduje konieczność takiego przerysowywania. Bardzo chętnie zrealizuję przerysowanie w reakcji na zdarzenie jakim będzie inkrementacja zmiennej "procent" (inkrementacja realizowana będzie w metodzie obsługi przerwania od timera). Tylko nie wiem jak to zrobić. Mój kod realizuje przerysowanie od zdarzenia...

    Mikrokontrolery ARM   29 Wrz 2016 23:23 Odpowiedzi: 9    Wyświetleń: 1158
  • ATM8/C - Jak uniknąć zakłóceń w działaniu programu przy użyciu Timer1?

    Ty ustalasz reguły, jak często następuje przerwanie CTC, a w nim tylko zmieniasz wyświetlaną cyfrę. Cyfta będzie się cały czas świecić aź do następnej zmiany. Ok, ustawię by wywoływał się co 150Hz, natomiast skąd Wy wiecie, że 98% czasu procesora to będzie czas dla main? Przez to, ze pozbędę się delayów w przerwaniu? Moje założenie było takie, by w...

    Mikrokontrolery Początkujący   28 Lip 2012 09:31 Odpowiedzi: 30    Wyświetleń: 3068
  • keil: timer2. Timer nie startuje. Źle napisany program?

    Niestety dalej ten sam objaw, tak jakby licznik sie nie przeladowywal lub jego przeladowanie nie powodowalo przerwania tj. inkrementacji n A co do debugera to nie potrafie za bardzo go uzywac.

    Mikrokontrolery   25 Wrz 2007 15:53 Odpowiedzi: 16    Wyświetleń: 2048
  • Czy AVR obsługuje I2C w przerwaniach bez zakłóceń? PCF8583 i PCF8574

    ogolnie jest zasada tak ze w przerwaniach nie powinno byc jakis procedur opozniajacych, przerwanie powinno sie wykonac , obliczyc i wylaczyc jak najszybciej,glowny program jest od czasowek , komunikacji i2c itp. przynajmniej ja sie staram trzymac tych zasad.czasami mozna je nagiac oczywiscie.to zalezy od zlozonosci projektu. ja PCF8583 obsluguje zawsze...

    Mikrokontrolery   09 Gru 2004 16:08 Odpowiedzi: 18    Wyświetleń: 3891
  • Czujnik przepływu YF-S201C: Przeliczanie wyników na l/godz z liczbami po przecinku

    float pulse_frequency; - powinien być volatile bo jest operacja na przerwaniu. Ale ja właśnie potrzebuję aby mieć chociaż jedną liczbę po przecinku To w czym problem zrobić pulse_frequency -liczbą całkowitą i tak na przerwaniu jest inkrementacja zmiennej o liczbę całkowitą A w literperhour = (pulse_frequency * 60 / 7.5); Czemu nie przyjąć za punkt oszukania...

    Arduino   05 Mar 2023 11:39 Odpowiedzi: 105    Wyświetleń: 2481
  • Błąd TBCCTL1 is undefined przy konfiguracji Timer_B w MSP430

    Mam dwa pytania. 1. Czy jest możliwy pomiar częstotliwości 5 sygnałów przy użyciu F2013 wyposażonego jedynie w dwa rejestry porównująco-przechwytujące? 2. Nie jestem pewny czy dobrze rozumiem sposób pomiaru częstotliwości wejściowego sygnału, więc proszę o potwierdzenie lub nie prawidłowości mojego rozumienia: 1. Definiuje wejściowe piny jako źródło...

    Mikrokontrolery   25 Cze 2009 12:58 Odpowiedzi: 102    Wyświetleń: 9975
  • Jak zaprogramować zegar binarny na AtTiny 2313?

    Słyszałem o przerwaniach, ale trzeba by brać poprawkę na czas potrzebny do obsługi przerwania.Zauważ ze z każdą inkrementacją sekundy błąd stale rośnie. Kiedyś napisałem zegarek w BASCOMie właśnie z użyciem przerwań i po kilku tygodniach widać było wyraźne odchylenia, natomiast w zegarku z użyciem PCF8583 nie ma takiego problemu.

    Projektowanie Układów   28 Sie 2008 11:42 Odpowiedzi: 21    Wyświetleń: 5222
  • STM32F407 - ADC obsługa 4 kanałów - tylko pierwszy kanał działa poprawnie

    ustawiasz DMA w ADC, W odpowiednim strumieniu DMA - kanał, kierunek, ilosć transmisji, adresy, inkrementacja i jezeli potrzeba przerwanie - ja np używam do obsługi błedów i sygnalizacji że dane sa w pamięci.

    Mikrokontrolery ARM   16 Cze 2016 15:56 Odpowiedzi: 8    Wyświetleń: 1119
  • [ATmega128] DS1305 na ATmega128 - błędna inkrementacja czasu co 10 sekund/minut

    Nie stosuj itoa w przerwaniu, tylko jakąś flagę dla pętli głównej, że możesz przekonwertować czas.

    Mikrokontrolery AVR   28 Gru 2010 23:30 Odpowiedzi: 4    Wyświetleń: 2322
  • DS18B20 – najprostszy sposób precyzyjnego odmierzania czasu bez gotowych makr

    Wybacz ale nie znam dokładnie twojego mikrokontrolera, ale w Atmega zdecydowanie lepiej jest ustawić taki preskaler aby czasy jak w one-wire po prostu do niego ładować i stan nóżki z termometrem zmieniać programowo w przerwaniu - w końcu po co robić programowo licznik skoro masz sprzętowy, który nie zajmuje procesora z tak błahego powodu jak inkrementacja...

    Mikrokontrolery   31 Sie 2009 11:39 Odpowiedzi: 7    Wyświetleń: 1119
  • [M32][C] Zegarek LCD(w budowie) Prośba o krytykę.

    Jeszcze raz podstawa - wrzuć obsługę inkrementacji minut i godzin DO PRZERWANIA. Inaczej w pewnym momencie zgubisz tu sekundę, tam sekundę i będzie się rozjeżdżać bardziej niż by na to wskazywał błąd kwarcu...

    Mikrokontrolery Początkujący   20 Lip 2012 20:34 Odpowiedzi: 20    Wyświetleń: 1952
  • Czy odczyt stanu pinu w przerwaniu timera jest poprawny? Zmienna volatile

    Może przerwania wcale nie są generowane co 1s i inkrementacja zmiennej czas_przyciskania_plus odbywa się tak szybko, że szybko jest ona większa od 2? Twój warunek może być maksymalnie spełniony przez 1s w przypadku ciągłego wciśnięcia przycisku. Nie zamieściłeś całego kodu ale może zastąp warunek czas_przyciskania_plus==2 warunkiem czas_przyciskania_plus>=2....

    Mikrokontrolery AVR   06 Maj 2010 21:56 Odpowiedzi: 12    Wyświetleń: 1550
  • [STM32F429] - Timer nie wyzwala przerwań powyżej 400kHz, SYSCLK 180MHz

    Banalne pytanie: Skąd wiesz, że to timer nie zgłasza przerwań częściej? Na moje oko to wywołania procedur HAL_cośtam zżerają tyle czasu, że przerwanie timera ciągle wisi, bo nie nadążasz z jego obsługą. Prosty test - umieść w obsłudze przerwania tylko kasowanie znacznika i zapis portu (rejestru, nie HAL_cośtam) albo inkrementację zmiennej.

    Mikrokontrolery ARM   06 Maj 2016 20:36 Odpowiedzi: 8    Wyświetleń: 939
  • Atmega644pa-pu - ADC-odczytanie poprzedniego pomiaru i porównanie z bieżącym

    hmm no dobra, czyli po prostu mogę w tym samym przerwaniu dać inkrementację zmiennej? A jeśli mam licznik ustawiony w tryb CTC, pracujący z częstotliwością 1kHz i faktycznie przerwanie od przepełnienia, to ta zmienna będzie się inkrementowała z taką właśnie częstotliwością tak? czyli 1kHz=0,001s, więc jeśli chcę odmierzyć 1 sekundę to w programie głównym...

    Mikrokontrolery   12 Lut 2016 20:52 Odpowiedzi: 15    Wyświetleń: 1056
  • [2xAtmega16]+[Bascom]+[RS485]+[Transmisja dwukierunkowa]

    wprowadź w programie flagę statusu połączenia ,przy odbieraniu danych flaga przyjmowała by wartość 1 ,w przerwaniach od timer wprowadź warunek jesli flaga jest rózna od 0 następuje inkrementacja jej , przy istnieniu transmisi flaga przyjmuje wartość 1 jesli jednak brak transmisji ,w przerwaniach od timera wartość flagi bedzie rosła ,do ilu ? zależy...

    Mikrokontrolery AVR   03 Sty 2018 17:27 Odpowiedzi: 6    Wyświetleń: 4214
  • [ATmega16][ATmega8][AVR Studio][IDE Simulator] Symulacja timer0

    Ok, moje błędy, niemniej wcale mi to nie pomogło, mówię, widzę brak inkrementacji z IDE Simulator po prostu. A to dziwne, bo sobie wkleiłem twój kod, wywaliłem to cli/sei z przerwania i wszystko działa ok. Co znaczy, że nie widzisz brak inkrementacji? U mnie wchodząc w przerwanie TCNT0 jest równy 8, potem 12 i 15, bo tak jest kompilowana obsługa przerwania....

    Mikrokontrolery Początkujący   20 Lut 2012 22:17 Odpowiedzi: 14    Wyświetleń: 2559
  • Jak zbudować dokładny zegar dziesiętny 10-cyfrowy z funkcją start/stop/reset?

    To chyba w dziesiątkach milisekund jak 2 cyfry po przecinku. Najprościej to będzie na jakimś Atmelku z kwarcem + kondensator strojący - trymer (by maksymalnie dokładnośc ustawić). Ewentualnie zewnętrzny generator precyzyjny. Pomiar czasu w przerwaniach co 10 ms. Przerwanie najpierw dokonuje inkrementacji czasu a potem np. obsługuje wyświetlacze multipleksowo....

    Początkujący Elektronicy   31 Sty 2008 22:51 Odpowiedzi: 7    Wyświetleń: 2578
  • Prosty zegar na uC AT89C2051 + PCF8583 w C

    Ale i tak masz stały wzorzec czasu, czyli o więcej niż 1s nie powinno się rozjechać... + - impuls/inkrementacja _ - bezczynność/brak impulsu ______+______+______+______+______+_____... - przebieg impulsu z zegara _______+________+_____+_____+________+__... - inkrementacje sekund i nie ważne ile by nie trwało przeładowywanie timerów i programowych liczników...

    DIY Konstrukcje   06 Sty 2025 09:37 Odpowiedzi: 36    Wyświetleń: 18828
  • Nierówne zliczanie sekund na LCD z mikrokontrolerem - jak to naprawić?

    Przede wszystkim tak jak już napisał emarcus na początku, wyrzuć wszystko co niepotrzebne z obsługi przerwania zostaw tam samą inkrementacje sekundy a całą reszt wrzuć do głównej pętli, wtedy powinieneś osiągnąć 1s=const. W zasadzie to jest prawidłowy sposób wykorzystania przerwania. To obsługa tak "skomplikowanego" przerwania generuje Ci błąd.

    Mikrokontrolery AVR   13 Lis 2009 22:52 Odpowiedzi: 12    Wyświetleń: 1788
  • FT232RL - problem z transmisją UART-USB z ATmega8A, wysyłanie danych przerywane

    Włączyłeś przerwania, jednak nigdzie nie masz procedury obsługi dla RXCIE i TXCIE. Wywołanie przerwania powoduje skok programu pod adres zdefiniowany w tablicy wektorów przerwań, czyli w Twoim przypadku reset procka. Druga sprawa to błąd w tej funkcji. Ona nigdy się nie zakończy, gdyż brakuje inkrementacji wskaźnika s w pętli. Ale zakładam, że to błąd...

    Mikrokontrolery   15 Gru 2015 19:46 Odpowiedzi: 16    Wyświetleń: 1323
  • [Mega32][Bascom] zegarek LED a przygasanie wyświetlacza podczas obsługi klawiszy

    O taką odpowiedź własnie mi chodziło. Rodzi sie kolejne pytanie: Skoro timer0 mam już zajęty generowaniem impulsu służącego do naliczania sekund... Mam zaprząc do obsługi wyświetlacza kolejne przerwanie, czy wpakować przełączanie anod, i szukanie odpowiedniej wartości dla portu, na których wiszą katody w tym samym miejscu, co inkrementacja zmiennej...

    Mikrokontrolery AVR   22 Cze 2012 22:44 Odpowiedzi: 29    Wyświetleń: 3065
  • ATmega8 i pomiar czasu pojedynczych impulsów dodatnich.

    Platon - rzeczywiscie masz racje. Wygladaloby to chyba tak : przy kwarcu 4MHz jeden takt zegara trwa 0.25us, co daje przerwanie po 64us (0.25us * 256 taktow, przy Preskale = 1). W obsludze przerwania nastepuje np. inkrementacja jakiejs zmiennej. Po zakonczeniu impulsu i zatrzymaniu timera2 trzeba pomnozyc wartosc tej zmiennej przez te 64us. I to bylby...

    Mikrokontrolery   18 Wrz 2006 19:31 Odpowiedzi: 7    Wyświetleń: 3143
  • STM32F0DISCOVERY [EWARM] - DS18B20 - odczyt temperatury + mały delay.

    Dobra, poradziłem sobie inaczej. Użyłem timera, ale nie korzystałem z przerwań, tylko ustawiłem częstotliwość inkrementacji timera na 1us i czekałem, aż wartość timera przekroczy zadany czas ;) Na potrzeby 1-wire wystarczyło :)

    Mikrokontrolery ARM   06 Sty 2014 16:00 Odpowiedzi: 3    Wyświetleń: 1857
  • Wykonywanie instrukcji przez określony czas bascom

    użyj timera oraz przerwań ,wprowadź do programu zmienną która bedzie ulegać inkrementacji podczas przepełnienia timera

    Mikrokontrolery   15 Sie 2009 11:01 Odpowiedzi: 3    Wyświetleń: 1139
  • Bascom, DS18B20 – jak zastąpić waitms 750 obsługą Timer0 przy odczycie temperatury

    Hmm- nie rozumiem. Przerwanie jest sprzętowe- co 2ms. Oczywiście nie wiem jak długo Bascom wykonuje operacje na single- pewnie długo. I operacje na LCD- też długo- chociaż wielokrotnie szybciej niz bez odczytu RW. Sugerujesz że inkrementację należy robić w przerwaniu? Dobrze- ale z drugiej strony obsługa przerwania ma być krótka. Jak zrobić żeby ten...

    Mikrokontrolery   04 Kwi 2010 21:36 Odpowiedzi: 26    Wyświetleń: 4852
  • avr atmega32[c] - odliczanie sekundy ,zliczenie 15625 przerwan ?

    Przerwanie z inkrementacją całego zegarka zajmie max. 80 taktów (a pewnie sporo mniej), więc szalone optymalizacje nie mają tu sensu. Atrybut register wg .standardu języka C służy wyłącznie do tego, żeby przy próbie pobrania adresu zmiennej kompilator sygnalizował błąd. W przypadku, który pokazjesz, mamy do czynienia z niestandardowym rozszerzeniem...

    Mikrokontrolery AVR   25 Sty 2017 11:12 Odpowiedzi: 62    Wyświetleń: 4209
  • Oscyloskop Cyfrowy AVR v2.0 Atmega 32 LCD LS020

    Nie o to mi chodziło ale mniejsza z tym :) Poprawka oprogramowania z 14 kwietnia. Dziś sobie przypomniałem, że jak zaczynałem robić oscyloskop (jeszcze na wyświetlaczu L2F50) miałem go w drugą stronę (Jakby do góry nogami) i dlatego zapisywanie do bufora próbek musiało być wykonywane od tyłu żeby potem dobrze było to wyświetlać. I zapomniałem potem...

    DIY Konstrukcje   26 Lis 2023 12:26 Odpowiedzi: 181    Wyświetleń: 98966
  • [AVR][C][ATMEGA8]Inkrementacja portu po wcisnieciu przycisku

    Light-I -> wszystko w porządku ale osunąłbym to ustawianie czasu w pętli głównej. Bo bez wciśniętego przycisku zmienna ta z 0 przechodzi na 0xFFFF; Kod jest sprawdzony na dyżurnym µC, o czym pisałem wyżej, to nie są jakieś banialuki "na sucho"... Nie przyjrzałeś się dokładnie obsłudze zmiennej Key_locktime w przerwaniu, gdy jest równa 0, nie jest...

    Mikrokontrolery   01 Mar 2011 21:58 Odpowiedzi: 13    Wyświetleń: 3066
  • [Atemga16/32][Bascom] Obsługa DS18B20 w przerwaniu

    Jaki zysk z tego ze cały odczyt w przerwaniu? W/g mnie żaden. I do tego przerwanie co 1 sek? dla mnie bzdura. Niech sobie przerwanie bedzie co sek ale w przerwaniu zrobic tylko inkrementacje dowolnej zmiennej. Reszte przepisac do głownego i sprawdzac czy ta zmienna sie zmieniła a w przypadku zmiany wykonać odpowiedni odczyt w zaleznosci od warosci tej...

    Mikrokontrolery AVR   21 Mar 2011 20:07 Odpowiedzi: 9    Wyświetleń: 2259
  • Jak ustawić TMR0 w PIC, by uzyskać przerwanie 50kHz przy oscylatorze 4MHz?

    hmm, przerwania co 20 instrukcji procesora ;-) Wydaje mi się, że nie uwzględniasz czasu pomiędzy wywołaniem przerwania a ustawieniem timera. Dla przykładu ; INTERRUPT ORG0x004 ; interrupt vector location btfscINTCON,T0IF; TMR0 overflow gotoserv_t0 retfie ; return from interrupt serv_t0 bsfPORTC,0 movlw.256 - (.20 - X) movwfTMR0 bcfINTCON,T0IF;...

    Mikrokontrolery   13 Lut 2007 23:00 Odpowiedzi: 7    Wyświetleń: 1498
  • Konfiguracja timera TCB0 w ATtiny3216 dla cyklicznego przerwania 100Hz

    Jak jest zadeklarowana zmienna Flaga? Litości, to są podstawy 😉. Volatile... R Dodano po 5 (at)robiw Pokaż resztę kodu. Ta część jest ok. Jutro zamieszczę, jestem poza domem. Ale generalnie nie ma tam nic takiego: konfiguracja timera TB0 według zamieszczonego kodu (łącznie z przerwaniem), sei() oraz pętla główna, w której wyświetlam zmienną...

    Mikrokontrolery AVR   15 Paź 2021 14:02 Odpowiedzi: 14    Wyświetleń: 555
  • Jak stworzyć menu do zmiany funkcji w programie na ATmega8?

    Można też tak: '''''''''''''''''''''''''''''''''''''men... glowne'''''''''''''''''''''' Sub Menu Cls Menu_number = 1 Do Keyscan Waitms 300 Select Case Key Case 0: Incr Menu_number If Menu_number = 11 Then Menu_number = 1 Case 2: Decr Menu_number If Menu_number = 0 Then Menu_number = 10 End Select Lcd " MENU " Lowerline Lcd Menu_number...

    Mikrokontrolery   05 Lut 2008 21:59 Odpowiedzi: 16    Wyświetleń: 4299
  • Kolejność wykonywania w switch z inkrementacją w C - jak to działa?

    Nadmieńmy jeszcze jedno - w C instrukcja ta działa trochę jak "goto", a nie jak pascalowy case. Zatem przejście do warunku 1 spowoduje też wykonanie 2, o ile nie zostanie jawnie zapisane przerwanie (break).

    Programowanie Początkujący   11 Cze 2019 12:30 Odpowiedzi: 3    Wyświetleń: 480
  • [Mega32] [Mega32][BAscom] Nieprawidłowe działanie przerwań INT0, INT1, INT2 - licznik_2

    Witam. Jak program wejdzie raz do obsługi przerwania to je wyłącza. Czyli eliminacja drgań styków jest załatwiona. Przynajmniej w przypadku INT0 i INT1. I to chodzi dobrze. Teraz jak wejdzie do obsługi przerwania INT2 to wyłącza je, dokonuje inkrementacji /dekrementacji zmiennej, kasuje zmienne, włącza przerwania (INT0, INT1) i wyskakuje z przerwania....

    Mikrokontrolery AVR   10 Lip 2010 16:54 Odpowiedzi: 6    Wyświetleń: 2233
  • Zastosowanie stosu i obsługa przerwań w asemblerze - jak to działa?

    0. Stos pozwala m.in zapamiętać kolejność powrotów i zagnieżdżać przerwania i procedury, czego by się nie dało prosto zrobić na rejestrach. 1. Wektory przerwań zależnie od typu procesora mogą być umieszczone na poczatku, końcu programu lub w innym obszarze. W przypadku popularnych ósemek faktycznie na początku 2. W niektórych procesorach zamiast rozkazów...

    Mikrokontrolery   18 Kwi 2005 19:26 Odpowiedzi: 9    Wyświetleń: 1560
  • Attiny2313 - Konfiguracja Timer0 w C w Atnel Studio 6, jak napisać kod?

    Load Timer0 = 45 - jak sądzę oznacza nadanie wartości początkowej timerowi. Oznacza to, że powinieneś załadować tę wartość do rejestru TCNT0. Zakładam, że funkcja inicjująca BASOM inicjuje go w tryb normalny (czyli mode 0). W funkcji przerwania: - Incr A, Incr B - po prostu dodaj jeden do zmiennych A i B lub wykonaj inkrementację - If A = 305 Then ......

    Mikrokontrolery AVR   03 Lip 2014 18:00 Odpowiedzi: 8    Wyświetleń: 2181
  • [89C52] problem z określniem interwałów czasowych

    Żeby dokładnie odliczać czas musisz użyć timera z automatycznym przeładowaniem (tryb 2 timera 0/1, albo timer 2), albo nie przeładowywać timera wcale. Żeby obliczyć czas pomiędzy przerwaniami mnożysz N * 12 / Fosc, gdzie N = liczba inkrementacji licznika pomiędzy przeładowaniami. O tym jak napisać funkcję obsługi przerwania poczytasz w dokumentacji...

    Mikrokontrolery   23 Lut 2010 10:18 Odpowiedzi: 8    Wyświetleń: 1552
  • Jak zliczać impulsy? XMEGA, system zdarzeń i timery.

    Czytam i sam się pogubiłem hehe . Czy tu chodzi o względne przesunięcie (tmf) czy bezwzględne (satanistik). Parę miesięcy temu robiłem sterowanie PID dla servo Xmega w bascom . [youtube]https://www.youtube.com/watch?v... Nie obyło się bez problemu , który polegał na zliczaniu bezwzględnym więcej niż 65535 impulsów . Mój wpis z innego...

    Mikrokontrolery AVR   23 Mar 2022 08:16 Odpowiedzi: 29    Wyświetleń: 774
  • Mega8 bascom - TDA8425 + LCD + enkoder (INT0, INT1), I2C w przerwaniu T0

    Witam, Zacząłem pisać program na atmege8 w bascomie, do sterowania preampem tda8425 przez enkoder, wyświetlając to wszystko na LCD póki co 8x2. Program jest w fazie powstawania, ale mam kilka pytań co sądzicie o moich rozwiązaniach i czy tak w ogóle może być? Enkoder obsługuję przez INT0 i INT1, zbocze opadające. Jeśli wejdzie w procedurę przerwania...

    Mikrokontrolery AVR   30 Mar 2013 00:17 Odpowiedzi: 2    Wyświetleń: 2370
  • Atmega16: Błędy kompilacji przy użyciu funkcji w przerwaniu INT0

    No tak, nie zauważyłem, że urządzenie jest odpalane z przycisku, niezbyt jasno to jest opisane. Wydawało mi się, że przerwanie INT0 jest od któregoś z czujników 1-wire. Przykład, który podałem nadaje się raczej do systemu cały czas włączonego. Dodano po 9 Co do czasu wykonywania przerwania to nie będzie trwało 100ms. Tylko dużo, dużo, krócej bo tylko...

    Mikrokontrolery AVR   12 Lip 2012 19:31 Odpowiedzi: 29    Wyświetleń: 2216
  • Programowe dzielenie, mnożenie impulsów. [BASCOM]

    Jak rozumiem chcesz defakto dzielić częstotliwość przebiegu jeżeli tak to nic prostszego: pętla for inkrementowana stanem wysokim np. i po osiągnięciu określonej ilości powtórzeń zmiana jakiegoś pinu "wynikowego" na stan przeciwny. problem się zacznie jak będziesz chciał podzielić przez liczbę inną niż wielokrotność 2 nie mam pomysłu jak takie dzielenie...

    Mikrokontrolery AVR   11 Mar 2009 15:39 Odpowiedzi: 32    Wyświetleń: 5786
  • [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ń: 3195
  • Kilka pytań odnośnie najlepszych praktyk programowania

    Witam, 2) Jeżeli chcę w przerwaniu ustawić flagę , czyli zmienną typu char, to czy szybciej będzie, jeśli zrobię to jako flaga=1; czy flaga++; ? Oczywiście zdaje sobie sprawę, że druga opcja może spowodować po jakims czasie przepełnienie i wyzerowanie się mi tej flagi, ale sytuacja jest bardzo rzadka, więc nie obawiam się takiego przypadku. Przerwanie,...

    Mikrokontrolery   25 Wrz 2016 22:03 Odpowiedzi: 19    Wyświetleń: 1329
  • AT90USB1287, assembler – obsługa przerwań, licznik i zapis czasu transmisji USART

    Jeszcze prościej: trzymaj ten licznik w postaci tylu bajtów, ile masz cyfr dziesiętnych - po jednej cyfrze w bajcie. Inkrementacja takiego licznika jest całkiem szybka, a jego zawartość jest stale gotowa do wyświetlenia.

    Mikrokontrolery Początkujący   30 Kwi 2013 19:22 Odpowiedzi: 6    Wyświetleń: 1644
  • Dlaczego przerwanie przepełnienia timera 0 nie działa na Atmega8 w avr-gcc?

    1) AVR studio nie chce przyjąć typu uint_8t 2) Przy preskalerze na 1024 i kwarcu 1MHz przerwanie jest co ponad 260ms. Obsługa przerwania nigdy się nie włączyła nawet jeżeli kod był napisany tak, że samo przerwanie to była zaledwie inkrementacja zmiennej. Przy maksymalnie odchudzonym kodzie przerwanie nadal nie działa! Timer powinien się zatrzymać. #include...

    Mikrokontrolery   08 Mar 2011 14:44 Odpowiedzi: 18    Wyświetleń: 3120
  • [c] Generator trajektorii eliptycznej w C - jak zaimplementować odmierzanie czasu?

    chodziło mi o zupełnie co innego. potrzebuję raczej timer odmierzający czas rzeczywisty a na jego bazie muszę wchodzić z przerwań do pętli zadawania trajektorii i problem jest w napisaniu tego timera, zwykła inkrementacja na końcu każdej pętli jest złym pomysłem.

    Programowanie   26 Sty 2009 20:24 Odpowiedzi: 5    Wyświetleń: 1184
  • Jak zintegrować ADC z TIMER2 w ATmega32 do próbkowania 8kHz w AVR Studio 4?

    Witam! Od jakiegoś czasu bawię się AVR Studio 4 po przesiadce z BASCOMA. Jak narazie jest nieźle ;) ale mam mały problem. Mianowicie, chciałbym sobie przy pomocy ADC próbkować sygnał z częstotliwością X (dajmy na to 8kHz) i zapisać go do tablicy. O ile w BASCOMIE napisałem sobie taki programik (przerwanie Timer2 8kHz, w przerwaniu odczyt ADC do tablicy...

    Mikrokontrolery AVR   13 Lis 2011 15:02 Odpowiedzi: 21    Wyświetleń: 3390
  • Różnice między przerwaniem a wywołaniem podprogramu w sterownikach SIEMENS

    Ciężko mi się odnieść do tego bo nie mam aż takiego doświadczenia. To co napisał Rariusz to wiem z teorii. Jak przerwanie byłoby długie to wydłużyłoby działania całego programu i to o bardzo wiele ms. Jeżeli MB20 jest inkrementowane w przerwaniu, może się zdarzyć, że przerwanie wystąpi pomiędzy sprawdzeniem warunku a faktycznym użyciem MB20. Operacja...

    Automatyka Sterowanie PLC   05 Gru 2018 19:09 Odpowiedzi: 20    Wyświetleń: 1626
  • [ATmega8][C] Obsługa ADC - odczyt kanałów dla linefollowera

    Hmm, sprawdziłem ten warunek jednak nic się nie zmieniło. Analizując Twojego if'a, wychodzi mi że w momencie kiedy channal == 4 następuje inkrementacja na 5 po czym jest on zerowany gdyż channal > 4. Więc w obsłudze jednego przerwania jest to wykonywane. Nie zmienia to faktu że nadal nie działa odczyt ze zmianą kanałów poszczególnych.

    Mikrokontrolery AVR   14 Mar 2011 17:50 Odpowiedzi: 41    Wyświetleń: 7090
  • Atmega16A - prawdopodobnie błędna obsługa przerwań

    Timer 1 potrafi działać w trybie CTC tak, że przy zauważeniu równej wartości licznika z rejestrem OCRA może sam zmienić ci stan jednej końcówki procka zwanej OCR na przeciwny. Włącz sobie taki tryb - to wtedy będzie ci to działać automatycznie - czyli bez procedury obsługi przerwania , w pełni sprzętowo. Aby to zrobić zaprogramuj bit COM1A0 czyli TCCR1A|=(1<<6)...

    Mikrokontrolery AVR   10 Lut 2011 17:19 Odpowiedzi: 25    Wyświetleń: 1602
  • [STM32F303][C]Atomic blocks - sekcje krytyczne w STM32

    A dokładniej aby nie została przerwana w momencie da niej krytycznym - między przepisywaniem zmiennej data do bufora i inkrementacją zmiennej ut1_end. W czym przeszkadza, ze przerwanie od np timera, który nie ma nic wspólnego z UART, wykona się pomiędzy krytycznymi operacjami? Jeśli natomiast chodzi o przerwanie, które może wywołać odbiór czy tam nadawanie...

    Mikrokontrolery ARM   04 Sty 2020 21:56 Odpowiedzi: 16    Wyświetleń: 1323
  • [Atmega8][Bascom] 2xDS18b20 3x2Wyś.7seg.LED odbiór danych

    Tak na szybko, to powinieneś dorzucić do przerwania jakąś zmienną którą możnaby inkrementować i obliczyć ile takich inkrementacji jest potrzebne dla konwersji danych dla ds18b20. Potrzebujesz 750ms o ile się nie mylę, więc lepiej to dorzucić do przerwania niż stosować WAIT 1. Zlicz ilość przerwań aby Ci wyszło >750ms i daj IF'a dla odczytu DS'a. Z Wait...

    Mikrokontrolery AVR   09 Sty 2012 09:54 Odpowiedzi: 11    Wyświetleń: 3125
  • Atmega168 Bascom - Przerwanie co 5us i odczyt 8 bitów

    Przepraszam, przeoczyłem znacznie grubszy błąd. Problemem jest to, że inkrementujesz x i y zarówno w przerwaniu, jak i poza nim. Zupełnie nie wiem, po co to robisz, ale to na pewno nie zadziała dobrze - po drodze zgubisz parę inkrementacji, i żadne volatile na to nie pomoże. Możesz w pętli zerować zmienne, które inkrementujesz w przerwaniu, ale nie...

    Mikrokontrolery Początkujący   18 Lis 2014 09:04 Odpowiedzi: 65    Wyświetleń: 4872
  • IRQ tester - multiwibrator, dyskryminator, generator, ...

    IRQ tester https://obrazki.elektroda.pl/3243423400_... IRQ Tester to proste narzędzie, głównie do testowania czasu odpowiedzi na impulsy, lub czasów międzyzboczowych dostarczonego sygnału. Program został napsiany na ukontroler AVR Atmega168, a jego głównym zadaniem jest funkcja multiwibratora monostabilnego, którego działanie polega...

    DIY Warsztat   09 Wrz 2024 21:32 Odpowiedzi: 5    Wyświetleń: 1377
  • [DSM-51] DSM-51 Assembler: Timer 16-bitowy i przerwania - jak odliczać czas?

    Doskrobałem trochę kodu, program działa jeżeli w linii CJNE A,03h,LOOP zmienię 03h na np. #03h co da mi dokładnie taką wartość, a nie wartość rejestru (będzie skakać do etykiety CORRECT jeśli nacisnę '3' na klawiaturze. Może linijkaMOV R3,#32h nie jest poprawna? Z tego by to wynikało. Ponadto aktualnie mój timer może zliczyć coś około 13 sekund, pomyślałem...

    Mikrokontrolery   19 Gru 2011 21:57 Odpowiedzi: 7    Wyświetleń: 5505
  • Jak skonfigurować przerwania zewnętrzne do sterowania silnikiem w AVR?

    Aby wejść do drugiego warunku i musi przyjąć wartość co najmniej 256, co jest nie możliwe, bo przy i == 255 program nie wejdzie do pierwszego warunku w którym jest inkrementacja. W drugim warunku z kolei nie osiągnie wartości potrzebnej do wyzerowania i. Czemu nie nie zastosujesz if()...else?

    Mikrokontrolery AVR   22 Gru 2016 15:04 Odpowiedzi: 27    Wyświetleń: 1311
  • Atmega16 i AVR Studio - problem z multipleksowaniem i funkcją inkrementacji

    Drogi kolego , popełniłeś szkolny błąd :D W procedurze obsługi przerwania Timer0 masz ... SIGNAL(SIG_OVERFLOW0) //obsługa multipleksowania wyswietlaczy { //extern unsigned char wyswietl[7]; unsigned char licznik;//<-- ********** błąd !!!!!!!!!!! ... zmienną licznik , tyle że jest to zmienna lokalna , czyli istnieje w pamięci...

    Mikrokontrolery   17 Paź 2006 18:33 Odpowiedzi: 2    Wyświetleń: 1240
  • [Bascom] Jak dodać opóźnienie i obsługę przycisków w AT2313?

    1 Nadal źle napisane Load Timer. 2 Brak inkrementacji zmiennej Sekunda. 3 Sprawdzanie warunków powinno być w pętli lub (gorsze rozwiązanie) w przerwaniu.

    Mikrokontrolery AVR   04 Kwi 2011 06:55 Odpowiedzi: 32    Wyświetleń: 3513
  • uklad optyczny od rolki z myszy jak to obsłuzyc w bascomie?

    A przerwania chociarz umiesz?, jedno wyjscie z impulsatora podłaczasz pod przerwanie, drugie wyjscie do jakiegokolwiek innego pinu. w obsłudze przerwania od impulsatora sprawdzasz stan tego drugiego pinu i jeśli jest on równy 1 to wykonujesz jakąś tam operacje (np inkrementacja), jeśli = 0 to wykonujesz coś innego (np dekrementacje)

    Mikrokontrolery   14 Lut 2005 17:59 Odpowiedzi: 10    Wyświetleń: 1697
  • [ATmega32U4][avr-gcc] - Typ zmiennej a jej wartość po petli while.

    Zmieniasz wartość x w przerwaniu i w pętli główniej (pętlą while) - to jest jakaś forma wyścigu? Co ten program ma robić? Ja przypuszczam co się dzieje ale opisz swój mechanizm myślenia- bo może coś mi umyka. Ano umyka. X w przerwaniu to zupełnie inna zmienna niż x w pętli głównej. Obie są lokalne. A co do problemu autora: Nie sądzisz, że inkrementacja...

    Mikrokontrolery Początkujący   14 Lis 2014 13:04 Odpowiedzi: 4    Wyświetleń: 951
  • Zastosowanie wskaźników na funkcje w programowaniu - przykłady dla początkujących

    Witam; jestem początkującym, więc proszę nie śmiejcie się z pytania. Ale ledwo co w miarę dobrze zrozumiałem pojęcie wskaźników i zaczełem je używać a teraz chciałbym zrozumieć wskaźniki na funkcję. Tyle tylko, że kompletnie nie mogę zrozumieć ich sensu, do czego służą, kiedy się przydają. Czy mógłby któryś kolega podać mi jakiś uproszczony przykład...

    Mikrokontrolery   20 Kwi 2013 07:15 Odpowiedzi: 13    Wyświetleń: 2157
  • Klawiatura matrycowa na liniach multipleksu - jak to ogarnąć?

    Możliwe, że trzeba dać tranzystorowi czas na otwarcie, jedno NOP może nie wystarcza, a więc odczyt portu przycisków należało by raczej umieścić na początku procedury obsługi przerwania. Wiersze klawiatury w tablicy będą wtedy przesunięte, chyba że operację inkrementacji licznika też się przeniesie.

    Mikrokontrolery AVR   31 Mar 2019 20:56 Odpowiedzi: 48    Wyświetleń: 2610
  • ATmega32 + enkoder obrotowy Mirley – kod w C do obsługi inkrementacji/dekrementacji

    Hmmm... do tej pory żyłem z przeświadczeniem, że standardowo w AVR przerwania nie da się przerwać innym przerwaniem... Ale ja rzeźbię w asm i też kopiuję istniejący kod... ;)

    Mikrokontrolery AVR   28 Gru 2010 23:02 Odpowiedzi: 23    Wyświetleń: 13742
  • [AVR][C] jednoczesne sterowanie 6 silnikami krokowymi

    problem w tym ze na razie piszę to na AVR tak dla siebie, żeby się wprawić w pisaniu programów w C ale później będą do tego wykorzystywane bardziej zaawansowane procesory. Chciałem jeszcze zrobić tak by każdy silnik pracował z inna ale z góry ustaloną prędkością dlatego miał by być przerwanie a w nim inkrementacja zmiennych k1,k2,k3 które będą taki...

    Mikrokontrolery AVR   26 Paź 2009 08:53 Odpowiedzi: 13    Wyświetleń: 4258
  • STM32F103 - Zawieszanie się programu przy odbiorze danych z CAN

    Dużo kodu, ale patrząc po opisie objawów program wykonuje przerwanie od odbioru. W nim masz dwa wywołania funkcji i jedną inkrementację zmiennej. To ostatnie chyba możesz wykluczyć. Tak więc pozostaje niepoprawne wywołanie lub wykonanie CAN_GetITStatus(CAN1,CAN_IT_FMP0) lub CAN_Receive(CAN1,0,&RxMessage) Czy w STM32F103 nie trzeba wyczyścić jakichś...

    Mikrokontrolery ARM   29 Sty 2015 19:27 Odpowiedzi: 24    Wyświetleń: 2265
  • Flagi "czasowe" - nierówne odczinki czasu (Bascom)

    If Flaga_1s = 1then To tak ma być? Trzeba zacząć oszczędzać- może Timer jednak w innym trybie? Load Timer0 , 250 W trybie przechwytywania czy porównania oszczędzamy instrukcję podstawienia. No i LCD- w bascomie jest jakaś biblioteka obsługi LCD sprawdzająca flagę zajętości LCD- pozwala to trochę oszczędzić czasu. No i może w przerwaniu tylko inkrementować...

    Mikrokontrolery   27 Mar 2012 11:25 Odpowiedzi: 4    Wyświetleń: 1380