Nie ma szans. Chyba że zapis np. 100 pomiarów na raz zajmie mniej niż 200ms równolegle z prowadzeniem pomiarów (czyli prowadzenie pomiaru nie wydłuża czasu zapisu). Bo jak na razie masz sytuację - do bufora ładujesz co 2ms dane, a kasujesz na drugim końcu co 40ms. Czyli po każdych 40ms do bufora wpisałeś 20 pomiarów, a zdjąłeś tylko jeden. W ten sposób...
Witam Od kilku dni bawię się (jak narazie) w programowanie ATMEGA32 i trafiłem na problem z przerwaniem zewnętrznym Interrupt 0. Dopiero zaczynam, więc mój problem może okazać się lamerski, więc z góry przepraszam. Napisałem coś takiego: #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> //#include <avr/signal.h>...
Witam szanownych użytkowników, Programuję mikrokontroler ATmega32, mam problem z przerwaniem INT2, które po starcie urządzenia się odpala mimo, że nie puszczam sygnału wyzwalającego przerwanie. Ponieważ projekt jest za duży, żeby zamieścić go w całości zamieszczam tylko najważniejsze fragmenty, a dodatkowo dodam plik .ZIP ze spakowanym projektem, który...
Nie mogę sobie poradzić z problemem configuracji przerwania zewn. np INT0 tak aby program reagował na któreś zbocze. Po wstawieniu configu żywcem z helpa - przy próbie kompilacji mam komunikat że w ATMEGA32 przerwanie zewn. może być wywołane tylko poziomem. Co ciekawe , gdy w ustawieniach BASCOMA przestawię chip - ATMEGA 16 , jest wszystko ok - kompilacja...
Witam Mam problem Wszystko działało na portach PA PC i PD4-7 ale jak podpiąłem cały PD PB do drugiej części matrycy diodowej to przestało działać chyba przez przerwania. Zmieniłem rodzaj przerwania na czasomierz z uwagi ze chyba piny INT0 zmieniały stany. Wszystkie porty mam jako wyjścia a w części matrycy mam błędy zawsze w tym samym miejscu. Jaki...
Witam! Mam mały problem. Od kilku godzin próbuję ustalić przyczynę braku możliwości obsługi przerwania w moim zestawie EVB 5.1 z ATMega 32. Mianowicie, próbowałem wszystkich możliwych opcji uruchomienia przerwania poprzez naciśnięcie przycisku i niestety nie wychodzi. Po naciśnięciu przycisku 3 diody mają zostać wyłączane/włączane zależnie od poprzedniego...
Witam, pisałem program i stanąłem na dość błahej sprawie, mianowicie nie mogę wywołać przerwania od przepełnienia licznika0 a nawet od porównania z zadaną wartością... dziwne bo na przykład przerwanie od INT0 działa znakomicie. Ten sam problem mam z licznikiem 1 i 2 Kod programu #include <avr/io.h> #include <avr/interrupt.h> // Biblioteka...
Witam Nie mogę uruchomić przerwania zewnętrznego na pinie PA7 (ani żadnym innym). Konfiguracja: [syntax=c]PORTF.DIRSET = PIN0_bm; PORTA.DIR &= ~(PIN7_bm|PIN0_bm); PORTA.PIN7CTRL |= PORT_PULLUPEN_bm | PORT_ISC_BOTHEDGES_gc; sei(); [/syntax] Przerwanie:[syntax=c]ISR(PORTA_PORT_vect... { PORTA.INTFLAGS = PIN7_bm; PORTF.OUTSET = PIN0_bm; } [/syntax] Rejestr...
Prosze o podpowiedz-przykladzik jak configurowac (w ATMEGA32)przerwanie np. INT1 aby reagowalo na opadajace zbocze
Witajcie Koledzy! Na wstępie przepraszam jeśli ten temat ląduje w nieodpowiednim miejscu... Ale do rzeczy... Szukam w internecie informacji na temat 'wielowątkowej' pracy ATMegi8/32 dokładniej co mam na myśli, to to by podczas 'rutynowego programu' odebrał sygnał z zewnątrz przez któryś 'pin' i go odpowiednio obsłużył. Nie koniecznie przerywając dotychczasowy...
Witam i pozdrawiam. Chciałbym co 5 minut wysyłać przerwanie z pcf8583 do atmegi32. W pcf wszystko działa, chyba (co zadany czas odpowiednie bity są ustawione i jak mierzę napięcie pomiędzy wyprowadzeniu pinu int pcf a +5v to najpierw mam zero a po upływie zadanego czasu 5v,czyli int jest w stanie niskim), obsługa przerwania w Atmega32 działa jak trzeba,...
Witam wszystkich! Mój problem polega na tym, że przerwania nie chcą działać. Kod: [syntax=c] #include<avr/io.h> #include <avr/interrupt.h> int main(void) { DDRA = 0xFF; PORTA = 0xFF; DDRD = 0; //ustawiam jako wyjście PORTD = 0xFF; //ustawiam stan wysoki MCUCR |= (1<<ISC01); //przerwanie dla zbocza malejącego GICR |=(1<<INT0);...
Witam Otóż mam taki dylemat ... Mam taki prosty programik robiący mi za licznik modulo 8. Samo liczenie odbywa się w przerwaniu timer'a ale to nie jest kwestia którą chce poruszyć. Po wywołaniu zewnętrznego przerwania, nie da się go przez czas paru/parunastu sekund wywołać. Czego to może być wina ? (pomijając że moja). Czy przypadkiem nie powinno to...
Witam. Buduje urządzenie w którym wykorzystałem Atmege32 w obudowie tqfp z wylutu. Problem jest tego typu że po wlutowaniu w urządzenie nie mogę jej zaprogramować. W oryginalnej płytce atmega pracowała z zewnętrznym kwarcem 8Mhz a w układzie docelowym będzie pracować na wewnętrznym rezonatorze. Oczywiście na czas przeprogramowania fuse bitów dolutowałem...
Czesc Zaczalem nauke programowania mikrokontrolerow avr w jezyku C. Doszedlem do zagadnienia przerwan i musze przyznac, ze nie kumam pewnych rzeczy. A mianowicie, mam nastepujacy kod: // Testowanie przerwań zewnętrznych #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h> SIGNAL (SIG_INTERRUPT0) { PORTD = 0x1d;...
Witam Potrzebuje pomocy w obsłudze przerwań. Muszę zrobić projekt skrzyżowania na zajęcia z sieci automatyki, i napotkałem problem z przerwaniami. Próbowałem na wiele sposobów coś napisać, ale bez skutku. Potrzebuje jakiś testowy kod, który np: będzie mi zapalać i gasić diodę podpiętą do jakiegoś portu. Oto kod poprany z jakiejś strony, lecz też mi...
mam maly problem.. zdarza sie ze moj układ oparty na ATmega 32 jakby sie zawieszał... wykorzystuje przerwanie zewnetrzne... // External Interrupt(s) initialization // INT0: On // INT0 Mode: Rising Edge // INT1: Off // INT2: Off GICR|=0x40; MCUCR=0x03; MCUCSR=0x00; GIFR=0x40; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01; a w programie...
Atmega 32, program obsługujący klawiaturę - 4 przyciski, odczytywane co 20 ms ( co któreś przerwanie timera 1), przyciski podpięte pod PC), PC0,PC1,PC2,PC3. jeżeli w programie wykorzystuję PC0 i PC1 to jest ok , ale jeśli w pętli obsługi przerwania odczytującego klawiaturę sprawdzam stan przycisków PC2 i PC3 to zgłoszenia przerwania są w każdym odczycie...
Cześć Ten kod mi nie działa.Czy moglibyście rzucić na niego okiem. Ten kod poprostu ma za zadanie nadawać w standardzie space.Ladnie pokazuje adres ale nie działa komenda pokazuje same zera. [syntax=c_mac] //Załączanie plików nagłówkowych #include<avr/io.h> #include<util/delay.h> //Czasy dla nagłówka #define first_header 9460 #define second_header...
Witam Jak napisac w programie tak aby przerwanie zewnetrzne od PCF8583 co 1s bylo przez mikrokontroler krótko widziane (obojetnie zbocze narastajace albo opadajace). Chodzi mi tu o ATmega32, w atmegach to sie jakosc inaczej robi niz pozostalych AVR. Prosil bym o krótki listing jak ustawiamy INT0 w ATmega i jak trzeba co musimy wpisac do PCF8583 zeby...
Witam. Otóż mam taki problem z przerwaniem od przepełnienia. Mianowicie w tym przerwaniu wykonywana jest tylko druga instrukcja "if". Do portów mam podłączone diody, dioda od portu portd_5 tylko nie zauważalnie miga co 5sek., przy porcie port_6 świeci-czyli ten "if" działa dobrze. Jeżeli "if-y" zamienię miejscami to i tak wykonywany zostanie drugi "if"....
Witam Chciałem uruchomić przerwania, przygotowałem najprostszy kod z timerem T0 i przerwaniem od przepełnienia, ale nie chce mi zadziałać przerwanie. Dla sprawdzenia zmieniam stan portu do którego podłączona jest dioda. #define F_CPU 1000000 //ustawienie oscylatora na 1MHz #include <avr/io.h> //dołączenie podstawowej biblioteki #include <avr/interrupt.h>...
Timery lub lepiej alarm w pcf8583/8563 i przerwanie zewnętrzne
Okazało się, że jest kilka wersji ATMEGA32 i akurat włączenie przerwanie licznika TIM0 było w innym miejscu rejestru.
Witam . Zadanie jest trywialne . Potrzebujesz 3 zmiennych i dwóch przerwań zewnętrznych plus przerwanie do wyświetlacza. Po starcie procka ustawiasz wartość jednej z zmiennych która będzie równa ilości przerwań wyświetlacza w czasie 10 sekund . Podczas aktywacji przerwania od T1 aktywujesz przerwania od INT0 i INT1 . INT0 zwiększa jedną zmienną a INT1...
Witam, w dobrym kierunku idziesz, ale to ci nie zadziała bo jak? skoro na początku programu tylko raz ustawiasz piny klawiszy jako wejścia oraz pin przerwania INT0 też jako wejście. Więc co ma tutaj wymuszać stan niski na wejściu INT0? nic!. Aby ten sposób zadziałał - musisz jeszcze pomyśleć o zmianie kierunków portów wtedy gdy trzeba. Generalnie założenie...
Ustawiam w procedurze obsługi przerwania naprzemiennie wyzwalanie zboczem opadajacym i narastajacym Po co skoro można ustawić przerwanie od obu zboczy? na temat przerwań zewnętrznych w procesorze ATmega328 mało piszą. Dużo więcej konfiguracji jest w ATmega32 Akurat przerwanie INT0, 1, są w obu uC obsługiwane tak samo. Poniższe [syntax=c] IFR = _BV(INTF0);...
Pisząc o przerwaniach zewnętrznych jak rozumiem miałeś na myśli to, że pojawiający się sygnal z transoptora wywoła przerwanie. Też o tym myślałem, tylko że potrzebuję jeszcze odmierzyć dokładnie czas po którym ma zostać wyzwolony triak. Chciałem to zrobić właśnie licząc przerwania. Mógłbym też jak myślę i wcześniej pisałem wykorzystać licznik timer'a....
No to tak: Jeżeli dobrze czytam program to masz 4 przyciski, timer ustawiony tak aby przerwanie od niego występowało co 50 Hz i nic poza tym. Używasz tylko przerwania od Timera - boisz się innych? Czy może to tylko nieznajomość AVR. Aż prosi się żeby przyciski działały pod INT0 / 1 - zewnętrzne przerwanie i po kłopocie. Następnie _delay_ms(750); zamienił...
te 40 kHz to procesor ma przerwać swoje działanie czy tez ma w dalszym ciągu przetwarzać przerwania? A co do 1s, to najłatwiej będzie wykorzystać przerwanie z zewnętrznego zegara i dać kwarc 32,768 kHz i dać dzielnik Timer'a na 32768 co da przerwanie raz na sekundę :)
korzystając z rozpoczetego ważkiego tematu , spytam czy można uśpić mikrokotroler 'powerdown'-em i wybudzić go jednym i tym samym przyciskiem pisząc w bascomie avr ? Za wszelkie informacje , może nawet przykłady serdecznie dziękuję. Tak jak już to wcześniej napisano z trybu POWERDOWN można budzić zewnętrznym przerwaniem a to przerwanie odpowiednio...
Witam, Oglądając ostatnio dokumentację megi32, zauważyłem, że do portuC, dokładniej do końcówek PC7 i PC6 można dołączyć zewnętrzny kwarc zegarkowy. W jaki sposób używając tego kwarcu zegarkowego uzyskać przerwanie wywoływane co 1sekundę? Czy trzeba ustawić jakiś prescaler na te 32,768kHz czy nie? Żeby zmienić źródło zegara licznika na zewnętrzne wiem,...
1. Kod mógł nie działać prawidłowo, bo zajęty mikrokontroler mógł zwyczajnie przegapić równość minut. Pytanie co ile sprawdzasz czas? Można by ustawić jakieś widełki zamiast konkretnej godziny. 2. Najlepiej wykorzystać alarm zaszyty w RTC i wyjście INT. Postępujesz następująco: - ustawiasz 1 alarm w RTC. Konfigurujesz przerwanie zewnętrzne i mikrokontroler...
Niestety nie pomogło :(. Tylko co dziwne to jeszcze to, że niemal identyczny program działa na innym procku atmega32 i budzi się bez problemów. Bity SUT mam ustawione aby startowal po chyba 4ms, więc to chyba nie to. Macie moze inne rady? Bo ja już nie mam sił. A czy może to być sprzętowa wina procesora? Jeśli tak to będę musiał wysupłać jeszcze troche...
dziękuję za cenne uwagi, tak właśnie myślałem, że wywołanie przerwania zajmuje trochę czasu, ale rozumiem że z zewnętrznym kwarcem będę w stanie pracować na takich częstotliwością z taką koncepcją programu, prawda? Zauważyłem, że po prostu impuls nie może być krótszy od tych kilku taktów oscylatora, wtedy jest ok.
Atmega jest taktowana zewnętrznym kwarcem 16mHz. Dzieląc 16Mhz przez 32kHz wychodzi mi około 488 cylki. Poza tym nie ma znaczenia czy kod w przerwaniu zajmuje 3 linijki czy 100. Przerwanie wykonuje się dokładnie tyle razy. Zegar na tym zrobiony ma błąd mniejszy niż 1 sec na dobę więc nie ma mowy, że uC nie wyrabia.
Jak już robić koniecznie na przerwaniach zewnętrznych to na nowszych układach z PCINT, podpinając tylko jedno przerwanie na enkoder, drugie jest całkowicie zbędne. Obsługujemy tylko jedno zbocze w przerwaniu, drugie odrzucamy. W obsłudze przerwania należy pamiętać poprzedni stan, aby nie odczytywać drobnych drgań jako pełnoprawnego impulsu.
Mam wpisaną obsługę przerwań wektorów INT0_vect i INT0_vect, żadne przerwanie nie jest "puste" aby było ciekawiej to kod który podałem jest bardzo prosty i po dołączeniu bibliotek i funkcji obsługujących te wektory przerwań (nawet z "nop" tez tak się zachowuje. Nie mam więcej pomysłów stąd moje wołanie o pomoc:cry:
W zasadzie nie potrzebujesz JP13. To chyba taki ukłon w stronę 8051 z dwoma przerwaniami zewnętrznymi. AVRy mają przerwania PCINT na prawie wszystkich pinach i w momencie jak wciśniesz przycisk i tak możesz wywołać przerwanie. Kolega trochę za bardzo uogólnia, nie wszystkie AVRy mają PCINTy na pinach, dodatkowo autor korzysta z Atmega32, który to w...
Witam. Podepnę się pod temat. Kolega "sulfur" mógłby podać link do tematu? Chciałbym zliczyć ilość obrotów na minutę ( max 250 ). Są 2 wyjścia. - Jedno, to zliczanie impulsów przez zewnętrzne przerwanie oraz obróbka w programie na rpm. - Drugie to zliczanie czasu między impulsami przez timer oraz obróbka w programie. Impulsy będą generowane przez zwieranie...
Mam problem z przerwaniem od Timera0. Chodzi o to by Timer0 zgłaszał przerwanie w trybie pracy z porównaniem. Jest to tryb Clear Timer on Compare Match (CTC). Licznik zlicza zdarzenia zewnętrzne i w momencie zliczenia do zadanej wartości ma zgłosić przerwanie i zacząc liczyć od zera. Aby to osiągnąć do rejestru OCR0 wpisuję wartość do której licznik...
Możesz zrobić tak: W tabelce zdefiniowana długość poszczególnych elementów (piknięć i przerw). W timerze zdefiniowana maszyna stanów - na podstawie jej stanu aktualnego (wartości timer'a) wybierasz określony "punkt programu" - czyli przerwę lub "piknięcie". Co się tyczy przycisków, to możesz zdefiniować albo przerwanie zewnętrzne, albo w przerwaniu...
W skrócie; co 1 sek wykonywane jest przerwanie w którym sa zliczane impulsy (dla wyliczenia częstotliwości) .Atmega pracuje z zewnętrznym rezonatorem kwarcowym 8Mhz.Niedawno kupiłem nowe Atmegi32 i o dziwo program zle dziala (wyliczana czestotliwosc "plywa" ) Kiedy wgrywam soft do atmegi kupionej dawniej wszystko jest ok . Teraz kupiłem 3 i na wszystkich...
Wrzuć program przez syntax bo tego się czytać nie da. Obliczenia przerwanie na Timerze0 co 1 sek: 1MHz / 64 (preskaler) = 15625 imp/sek Timer1 skonfigurowany do pracy normalne czyli przerwanie będzie po przepełnieniu się rejestru TCNT0, żeby rejestr ten przepełnił się potrzeba 255 impulsów czyli przy 1MHz i preskalerze 64 przepełnienie rejestru TCNT0...
Witam. Potrzebuję napisać funkcję która zainicjalizuje Timer w Atmega32 (asynchroniczny) tak, by działał z zewnętrznym kwarcem 32,768kHz podłączonym pod TOSC1/TOSC2. Timer ma zgłaszać przerwanie co 1 sekunde. W przerwaniu powinien zmieniać stan diody na pinie PD0 na przeciwny. Proszę o pomoc w napisaniu kodu . Przepisz dokładnie to samo co napisałeś...
Nie chce mi się analizować zbytnio tego kodu, z powodu rażąco rażących błędów... Na pierwszy rzut oka delay-e zamiast wszystko oprzeć o przerwanie jakiegoś timera... Po drugie, jakoś tak dziwnie napisany switch?... W książkach każą używać klamer o ładnych kształtach "}" "{" wokół kodu w case o ile jest w nim więcej niż jedna instrukcja... Po trzecie,...
Już trochęminęło od ostatniego postu. Odpowiem Ci na twoje pytanie. MOże przy okazji uzyskam od kogoś odpowiedź na moje. Zrobiłem sterowanie dmuchawą na piecu CO. Tak jak zwykły ściemniacz, czyli regulacja fazowa. Mam z tym jednak jeden problem, ale o tym później. Napięcie sieci przepuszczam przez mostem prostowniczy, następnie przez rezystor na wejście...
Ja to widze tak: Procesor ma do jednego przerwania zewnetrznego (o najwyzszym priorytecie) podpiety przez zewnetrzny pullup +5V czy ilestam zaleznie od tego jak jest zasilany. Przerwanie to wywoywane jest sanem niskim na porcie. Pullup wpiety jest przed diode prostowanicza. Za dioda jest duzy kondensator i wlasnie procek. W momencie zaniku zasilania,...
Nie nadąża gdy szybko piszesz? A w jaki sposób? Dalej masz podwójne znaki? Z tego co widzę, to ignorujesz tylko PS2_Dane równe 0xF0, a następujący po nim ponowny kod klawisza to już do bufora wpisujesz. Druga sprawa: PS2_ZapiszDoBufora() - tu przydałoby się sprawdzać czy u nie przekracza rozmiaru bufora. Tak na wszelki wypadek. Trzecia sprawa: PS2_To_LCD()...
Zasadniczy błąd, jeśli chodzi o przerwania. RTC PCF8583 posiada sprzętowe wyjście przerwania. Co sekundę podaje na nie sygnał. Zatem podłączamy je do jednego z pinów obsługujących przerwanie sprzętowe w procku i to on się martwi co ma zrobić i kiedy. Nie ma potrzeby wykorzystywania Timera procka. PORADA Nigdy nie wykorzystujemy dowolnych pinów procka...
Zarówno ciągła konwersja jak i wyświetlanie na ekranie są błędami - lecz nie mają wpływu na kod wykonywany w przerwaniu - nie licząc pomijalnych zmian temperatury. Zacznij od użycia prescallera, zliczania mniejszej ilości kroków, co za tym idzie zmniejszenia rozmiaru zmiennych Przerwanie masz w poście wyżej w pętli głównej jeśli sec&&liczba_kroków -sec=0;...
Z programowymi rozwiązaniami byłbym ostrożny. Można założyć, że przerwanie od uart wykona się w 10us. Oczekujesz na serwie rozdzielczości 1 stopień. Jak wyliczył (at)emarcus wymaga to sterowania serwem impulsami o rozdzielczości co najmniej 2,8us. Jeśli serwem nie będziesz sterował sprzętowo przez PWM tylko jak zaproponowano w #8 (https://www.elektroda.pl/rtvforum/viewt...
Witam...Dlaczego przerwania z Timera0 generowane nie sa zgodnie z dokumentacja? chciałbym zrealizować generator sterujący pinami portu PC0-7...w taki sposób aby wartości z tabeli --- unsigned char GenTab DDRC = 0xFF; // port C jako wyjscie 11111111 CLI(); //disable all interrupts TIMSK = 0x01; //timer interrupt sources TCCR0 = 0x00; //stop OCR0...
Udało się. Mam wyświetlacz odświerzający się przy pomocy przerwania timera0; Mam oczywiście kolejny problem i pytania. W nocie atmegi wyczytałem że ma on 3 przerwania zewnętrzne INT0 INT1 INT2. Chciałbym teraz dodać obsługę klawiszy start stop i reset(jakiś prosty stoper). Czy powinienem napisać to tak, aby naciśnięcie klawisza wywoływało przerwanie?...
Witam. Mam drobny problem i nie wiem jak go ugryźć. Atmega32 kwarc 16mhz W przerwaniu odczytuję klawiaturę ps2 i w między czasie robię wyświetlanie na matrycy w Timerze z preskalerem 64. I jeszcze mam uruchomione PWM. Jesli wyświetlanie zrobie w pętli głównej i wyłaczę timer to klawiatura czyta się prawidłowo ale jeśli uruchomię timer to wówczas czyta...
Wszystkie motory jakie mam są zużyte mają po 3000-4000h pracy za sobą. Nadają się do hobbistycznych zastosowań, ale do maszyn profesjonalnych raczej nie. Po prostu nie mają już mocy, luzy na łożyskach. Ten motor na filmikach to wyjątek bo to działająca maszyna. Zresztą nie wiem czy do szybkiego plotera frezującego nie będą za małe. W załączniku tabelka...
Może faktycznie szum nałożony na zbocze jest tu przyczyną wielokrotnego wywołania przerwania przy jednym impulsie. W poniedziałek przyjrzę się dokładniej temu zboczu i spróbuje coś zaradzić. Ale z drugiej strony gdyby tak było, to dlaczego impulsy zliczane są prawidłowo wtedy gdy program okrojony jest do minimum? Jaka jest szerokość impulsu? Maksymalna...
elektroziom - przede wszystkim poszukaj pdf-a do swojego enkodera i upewnij się jak działa - zaoszczędzi Ci to wiele problemów. To wspólne wyprowadzenie nie koniecznie musi być po środku, a wtedy całość będzie działała - lecz niepoprawnie a Ty będziesz szukał błędu w kodzie. Co do samej obsługi, ja to robię tak: Jedno wyprowadzenie na przerwaniu zewnętrznym...
Witam. Już mnie krew zalewa. Nie potrafię sobie poradzić z problemem. Prawdopodobnie ktoś szybko znajdzie błąd, ale ja już nie mam siły do tego. Problemem jest wybudzenie mikrokontrolera z power_down przez przerwanie zewnętrzne INT1. INT0 działa bez problemu, natomiast nie potrafię zmusić do tej czynności INT1. Celem jest wybudzanie mikrokontrolera...
Witam forumowiczów, Natknąłem się na pewien problem, z którym nie wiem jak sobie poradzić. Sprawa dotyczy nieprawidłowej obsługi przerwania INT0 podczas wykonywania komend sterujących wyświetlaczem LCD. Do Atmega32 podłączone są: - standardowy wyświetlacz LCD, - źródło impulsów (dokładniej jest to liniał cyfrowy), - przyciski. Impulsy wprowadzone na...
Przy takim programie, na wyświetlaczu pojawiają się albo same krzaki, albo znaki zapytania, a jeżeli uruchomi się, to jest samo 0... Nie zwiększa się zmienna. [syntax=basic4gl]$regfile = "m8515.dat" $crystal = 8000000 Config Portb.1 = Output 'RW LCD Portb.1 = 0 Config Timer0 = Timer , Prescale = 1024 Tccr0 = 4 Enable Interrupts Enable Timer0 on timero...
Witam, Mam problem z obsługą dwóch układów po SPI... Masterem jest ATmega32 Jeżeli jeden obsługuję to jest ok, natomiast jeżeli podłączę drugi to układ zaczyna mi wariować.. Te dwa układy to ADS1256 oraz ATmega32. Poniżej zamieszczam kod do obsługi po SPI dla mastera. [syntax=cpp] //-----------------INICJALIZACJA SPI------------------------- static...
Dzięki za odpowiedzi. Rzeczywiście nie zauważyłem, że jedna pętla wpływa na drugą. Podłączyłem jeden silnik do portu D, drugi do portu A i problem się rozwiązał. Wszystko śmiga aż miło. Ostrej krytyki niestety nie rozumiem (może dlatego, że jestem bardzo początkujący w dziedzinie programowania uc). Domyślam się, że chodzi o długi czas wykonywania pętli...
Witajcie ! Mam taką zamotaną sytuację. Na początek kod, albo raczej jego istotne fragmenty: [syntax=basic4gl] $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 128 $swstack = 128 $framesize = 128 Config Timer1 = Timer , Prescale = 8 , Clear Timer = 1 , Compare A = Toggle Enable Interrupts Start Timer1 On Oc1a Timer1_isr Enable Timer1 Ocr1a = 50...
Witam !!! ISR(TIMER1_COMPA_vect) // przerwanie dla porownania { PORTC ^= 0x01; // zapalic/zgasic diode ICR1=28798; } int main(void) { DDRC |= 0x01; // INICJALIZACJA LICZNIKA 1 TCNT1 = 0x0000; // wartosc poczatkowa TCCR1A = 0x0000; // OC1A/OC1B odlaczone // zwykly tryb pracy //TCCR1A |= (1 << COM1A0); TCCR1B...
Walcze z licznikiem na Atmega 32 inicjacja wyglada tak : DDRB = 0xff; // DDRB jako wyjscie // t0 JAKO LICZNIK PORTB |= _BV(0); // BEZ PODCIAGNIECIA NIE CHCE LICZYC TCCR0 = _BV(CS01)|_BV(CS02); //_BV(CS00)| cs0 rosnace/~opadajace zbocze TCNT0 = 200; TIMSK |= _BV(TOIE0); // T0 wywoluje przerwanie Caly problem polega...
Bez obrazy ... ale troche mało peryferii. PS. RTC jest na I²C? Kolega chyba nieczytał dokumentacji ATmega32, bo można podłączyć rezonator 32,768kHz do pinów TOSC1 i TOSC2, a następnie aby uruchomić RTC należy obsłużyć licznik 2 do pracy asynchronicznej i preskalerze 128 przerwanie będzie występowało dokładnie co 1s. Przestudiuj dokumentacje. Jeżeli...
Witam, Jestem w trakcie budowy komunikacji między ATmega32 a klawiatura PS/2. Wykorzystuje biblioteki zamieszczone na stronie //klawiatura.c #include <avr/io.h> //#include <avr/interrupt.h> #include <string.h> #include <inttypes.h> #include <stdlib.h> //#include <stdio> #include "hd44780.h" #include "atkeyboard.h"...
przerwać zewnętrzny atmega32 przerwać atmega32 atmega32 przerwać
epson obudowa blokada sterownik webasto opony pirelli
matek osobiście hisense 55e7kq
Volkswagen Golf Plus 5: Błąd "Aktiv Saga" i Niedziałające Przyciski Ile oleju do młotowiertarki Hilti TE 74?