Co do Twojego pierwszego problemu to prawdę mówiąc nie wiem, ale zwróć uwagę na to że po zakończeniu obsługi przerwania zawartośc R16 i R17 jest zamieniona: ... .org 0x0012 rjmp t1Ovf ... t1Ovf: push r16 push r17 in R16, PORTC ldi R17, 0b00000011 eor R16, R17 out PORTC, R16 pop r16 ; R17 pop r17 ; R16 reti ... Może to wina własnie tego. Co do Towjego...
Co to może być? Wróżka jest na urlopie. Pokaż kod źródłowy.
Mnie wychodzi, że to nie jest tryb CTC tylko normalny. Po drugie na przerwanie compare trzeba zezwolić w rejestrze TIMSK - bit OCIE0 - masz < zamiast << stąd problem. Jak masz jakieś wątpliwości co do konfiguracji, to użyj symulatora AVR Studio. Można sobie w nim też ustawić tryb pracy i odczytać wartości rejestrów kontrolnych dla niego i potem...
To, kiedy jest generowane przerwanie i jakie, nie zależy od tego, jakie napiszesz procedury obsługi przerwań, a od tego, jakie przerwania włączysz w odpowiednim rejestrze. Do każdego włączonego przerwania musisz napisać procedurę jego obsługi. Jeśli włączasz TOIE - musisz mieć procedurę timerX_ovf_vect, jeśli włączasz OCIE1A - musisz mieć TIMER1_COMPA_vect....
Znalazłem czas wniknąć w szczegóły...J Jaka ma być rozdzielczość/częstotliwość tego programowego timera? Bo z wartością 108 jest jakaś taka mało okrągła. Rozdzielczość 20ms nie wystarczy? Bo jeżeli musisz go tak skonfigurować do timerów programowych, to czwartego kanału serwa nie da się na nim zrobić. UART nie ma nic do rzeczy, ma swój generator częstotliwości....
Cześć, mam pytanie odnośnie Timerów w uC ATmega. Potrzebuję następujących opcji: - zliczanie impulsów z dwóch enkoderów - generowanie dwóch przebiegów PWM - generowanie przerwania co kilka ms. ..............? Czy są jakieś AVR'y mające 4 timery? ........... Pozdrawiam, Bartek Wystarczy ci Atmega48/88/168 Dla 2-ch sygnałów PWM wystarczyłby 1 timer z...
Chodzi o to, że po pierwszym przerwaniu TCNT1 będzie miał wartość 0, czyli zliczy potem 65536 impulsów. Zaś do generowania, jak Ty chcesz, przerwań co określony odcinek czasu służy tryb CTC. Wtedy w rejestrze OCR ustawiasz ilość impulsów, które chcesz zliczyć, i wygenerować odpowiednie przerwanie.
Tyle rad i nadal żadnego pomysłu nie masz?;p Nie ważne w którym miejscu będziesz włączał timer, możesz to zrobić chociażby na początku funkcji main. Ważne jest żeby PRZERWANIE od tego twojego timera zgłaszało się tak często jak jak chcesz odświeżać wynik na wyświetlaczu (czyli te twoje 10 sekund) i w tym przerwaniu musisz wykonać odejmowanie na zmiennych...
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...
a ta się to jakoś ustawić rejestrami żeby zmieniało ?? Kopiowałem gotowe przykłady ale niestety mam w domu wiec nie wkleje kodu ale to wygląda mniej więcej tak: volatile unsigned char EKRAN TIMSK = _BV(TOIE1); // włącz obsługę przerwań T/C1 TCNT1 = 0xFF00; // wartość początkowa T/C1 TCCR1A = 0x00; // włącz tryb czasomierza T/C1 //TCCR1B = _BV(CS10)|_BV(CS12);...
1. Można to różnie rozwiązać. Najprościej, to wykorzystać któryś z pinów INT. Algorytm: - ustaw przerwanie z pinu INT0 na zbocze np. narastające, - gdy pojawi się zbocze narastające to wywoła funkcję obsługi przerwania, - w funkcji przerwania uruchamiasz timer i zmieniasz ustawienia INT0 na zbocze opadające, - gdy wystąpi zbocze opadające - zatrzymujesz...
Oj, przejrzałem pobieżnie kod - uwierz mi - skasuj go. W C jest coś takiego jak funkcje - wykorzystaj to, kod, który masz jest kompletnie nieczytelny. Każdy normalny promotor by to coś uwalił chociażby za to. Co do szybkości działania - pokaż kod funkcji odpowiedzialnych za komunikację z czujnikami. Z kodu, który masz: - funkcjie piszące do LCD są zapewne...
Witam! Mam program, który wykorzystuje liczniki do wysyłania impulsów o danej częstotliwości. Częstotliwością steruję za pomocą zmiennej okres1, która jest mnożnikiem preskalera. Np. preskaler=8 clkio=1000000Mhz okres1=127, czyli co 8*128=1024us zmienia się stan na danym pinie przerwania od przepełnienia licznika (dla timera1a jest to pd5), co znaczy,...
Witam Mam problem z RTC w atmega32. Podłączyłem kwarc 32,768kHz jak datasheet nakazuje. Jeśli Timer2 skonfiguruje następująco: [syntax=c] TCCR2 = 0b00000001; ASSR |= 1 << 3; TIMSK |= 1<<6; [/syntax] To przerwanie [syntax=c] ISR(TIMER2_OVF_vect) { TCNT2=255; ... } [/syntax] Wykona się tylko 8192 razy na sekundę zamiast 32768. Natomiast jak...
Witam Od pewnego czasu zmagam się z problemem odbioru danych przez procesor ATmega32 w kodzie Menchester. Opisze w skrócie jak działa poniższy układ. W przerwaniu (tryb CTC) timera 0 znajduje się funkcja obsługująca trzy wyświetlacze LED (wspólna Anoda) oraz funkcja skanująca klawiaturę. Katody wyświetlaczy podłączone są pod PORTB, anody pod piny PD5,...
Witam, w moim programie na atmegę 32 wykorzystałem timer0 oparty na zegarze procesora (8MHz) aby uruchamiać pewną funkcję ok. 100 razy na sekundę. Do programu postanowiłem dodać obsługę zewnętrznego kwarcu zegarkowego 32768Hz aby móc mierzyć w miarę dokładnie czas przy użyciu timera timer2. Po dopisaniu komend do obsługi kwarcu żaden timer nie działa....
witam , przy kwarcu #define F_CPU 4000000UL timerze0 i preskalerze 1 mam przepelnienie po 256 krokach po czasie 0,000064 s. zliczajac 15625 przerwan powinienem miec sekunde. jednak wystepuja u mnie 5 sekund opoznien z kazda kolejna minuta. zliczajac w ten sposob popelniam blad ?
Na jakiej podstawie twierdzisz, że problemem są priorytety przerwań? Przerwania występują na tyle sporadycznie, że nie ma tutaj miejsca na problemy. Jeśli wysyłany jest znak '2', to porównanie (i==2) jest błędne TCCR2 = 1<<CS00 | 1<<CS02 | 0<<CS01 ; proponuję zapisać tak: TCCR2 = (1<<CS00) | (1<<CS02) |...
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...
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. Mam panowie taki problem. Coś mi nie pasowało z czasem odliczanym przez atmege w przerwaniu timer1 [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 Config Timer1 = Timer , Prescale = 1024 On Timer1 Czas1us Enable Interrupts Load Timer1 = 15625 Enable Timer1 Dim Zmienna As Double Do Loop End Czas1us: Print "###" Load Timer1...
Cześć, działam sobie nad zadaniem: program Timer1 działa w trybie porównania( CTC). Licznik T/C1 taktowany jest wewnętrznym sygnałem zegarowym. Wpisz odpowiednią wartość do rejestru OCR1A. Licznik zlicza od 0 do odpowiedniej wartości i po jej osiągnięciu generuje przerwanie. Proszę ustawić preskaler. Dioda podłączona do PA.7 mruga w takt licznika co...
Mam problem z TIMER2 - odmierzanie czasu , najlepiej 1s. Wartość b będzie zmieniała się - tylko co jaki odstep czasu. Może ktoś poratować? Albo ma może jakiś swój przykładowy programik na Timer2 z wywoływanym przerwaniem? Radzio // Testowanie timera 2 #define F_CPU 8000000UL #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h>...
Witam wszystkich, mam problem z przerwaniem od przepelnienia, timer1. Siedze nad ta prosta rzecza któryś dzień z kolei i nie moge sobię poradzić. Prosiłbym o sprawdzenie kodu. [syntax=jezyk_C] #include<avr/io.h> #include <avr/interrupt.h> #define F_CPU 1000000 // czestotliwosc zegara 1MHz #include<util/delay.h> int main() { DDRA =...
Witam :) Próbuje odpalić tryb CTC na Atmega8-przerwanie co 5ms i nie mogę sobie poradzić pomimo czytania PDF.Mało rzeczy robiłem na przerwaniach a jeśli już to na Atmega32 gdzie korzystałem z tego: Przerwanie co 5ms więc mam 1 sekundę. ATMEGA32: [syntax=c] TCCR0 |= (1<<WGM01); tryb CTC TCCR0 |= (1<<CS02)|(1<<CS00); preskaler = 1024...
Witam. Chciałbym prosić o pomoc. Czy ten kod jest poprawny. Program działa bez zarzutów. Natomiast, gdy włączę przerwanie"sei". Układ się zawiesza. [syntax=c]void init_Ex1() { // Timer clock = I/O clock / 1024 TCCR0 |= (1<<CS02)|(1<<CS00); // Clear overflow flag TIFR |= (1<<TOV0); // Enable Overflow Interrupt TIMSK |= (1<<TOIE0);...
Mcucr = Mcucr Or 2 W helpie wyczytałem że procesory serii Mega mają przerwanie INT0 tylko na niski poziom i wykonują się w kółko jak poziom jest niski. Z drugiej strony ATmega8 Bascom tolerował, ATmega32 już nie. Dokumentacja mnie wprowadziła w błąd. Omawiając przerwania jest odesłanie do strony z opcjami uśpienia, a powinno być dużo dalej do zegara...
1Hz to raz na sekundę. 8MHz to osiem milionów razy na sekundę. Sekunda jest tu kluczowa. W ciągu sekundy procesor taktowany 8MHz przetworzy około 8mln instrukcji (pomijam te które wymagają dwóch taktow) no a jak podłączysz do procesora taktowanie 16MHz to odwali dwa razy tyle roboty w ciągu sekundy . Zerknąłem na twoje kody i mam kilka rad. W Bascom...
Witam. Mam problem z zegarem na wyświetlaczach 7-segmentowych. Minuty po 09 wyświetla 16 zamiast 10, sekundy tak samo. Zawsze tak się dzieje, więc musi to być błąd w programie, ale ja już się poddałem, co może być nie tak. Config PortA = Output PortA = &HFF Config Portd = Output Portd = &Hff Config Portb = Output config portc.0 = output config...
Czy to oznacza, że przycisk masz podłączony pod pin 0 portu B ? Wejście INT0 w ATmega32 jest na pinie 2 portu D i tam powinien być podłączony przycisk, aby wywołać przerwanie. Dopiero procedura obsługi tego przerwania włącza timer 1.
Jak napisac funkcje w AVR dla ATMEGA32 w jezyku C, aby mozliwe było przechwycenie przerwania spowodowanego impulsem zewnetrznym w liczniku TIMER0?? Gdyż dla TIMER 1 ustawia sie bit TICIE1 w rejestrze TIMSK, a dla TIMER0 nie ma tam żadnego takiego bitu?? Jak to zrobić?? A drugie pytanko, czy jest mozliwość uzyskania 1 sekundy na TIMER0??? Dzieki za pomoc!!
A nie możesz wykorzystać przerwania od zbocza np INT0? Jak pojawi się dodatnie zbocze to robisz krótki sygnał i program pracuje dalej. Dopiero jak ktoś puści przycisk i znów naciśnie pojawi się znów zbocze narastające które może wywołać przerwanie. Ideałem byłoby abyś po pojawieniu się przerwania od narastającego zbocza, włączał Buzzer potem uruchamiał...
Autor chce mieć 4 Mbps, to musi zrezygnować z przerwań, lub robić kombinacje w asemblerze. W sumie, niby proste. Pierwszy bajt danych wywoła przerwanie, w przerwaniu odczytuje bajt, wyłącza przerwania i kręci się w pętli sprawdzając rejestr statusu i czyta kolejne bajty. Do tego wszystkiego musi dodać timeout na jakimś timerze. Nie wiedzę aby używał...
Tak też próbowałem - tzn. czekanie na konwersję poza timerem2 - wtedy się program na tym zawieszał. Narazie Timer pozostawię w spokoju - póki działa, a jak narazie działa on ;). W zasadzie czytam i czytam i nie widzę przykładów o Free Runing mode albo o Single Conversion. Jak narazie są przyklady typu "Help!" albo " ADC doesn't work" itp. ------------------...
Witam przeglądałem wiele postów o CTC na forum i poza... moje zakładki jak i biurko uginają sie od materiałów.. lecz nie widzę błędu... Czy może mi ktoś powiedzieć gdzie jest błąd? sprawdzałem juz chyba z 10 różnych kodów dla Timer'a 0 dla Timer'a 1 +Wybrałem tryb CTC +Zezwoliłem na przerwania przez timer +OCR1B jest mniejsze od OCR1A +obsługę przerwań...
Przecież możesz to zrobić tak: Zaprogramować timer aby zglaszał przerwanie co np 1us ( trzeba by było dać kwarc o dużej częstotliwości). W przerwaniu tylko Licznik++, gdzie Licznik jest typu long. W głównym programie wystarczy tylko przeliczyć częstotliwość na okres w us i porównywać ze zmienną Licznik. Jeśli Licznik > Okres zerujesz zmienną Licznik...
Ale Bascom czy FastAVR to sa to jezyki nieprzewidywalne. Niby tak, ale jeśli do obliczania czasu stosuje się timer i przerwania i wszystko jest dobrze skonfigurowane i wyliczone to nie powinno być problemów czasowych.
Od razu mówię, że tego nie kompilowałem a pora jest późna, więc mogą być drobne błędy. Generalnie jednak wygląda to tak: #include <avr/io.h> #include <avr/interrupt.h> volatile char a;//tak deklarujemy zmienne, które są używane i w kodzie //obsługi przerwania i w "standardowym" kodzie int main(void) { TCNT0 = 0; //wyzeruj...
Witam. Chciałbym wykorzystać przerwania timera1 w Atmega32 do realizacji pojedynczego pomiaru wartości na ADC. Timer ustawiam w tryb "PWM with phase correct", a ADC na pojedynczy pomiar: [syntax=c] //ustawienia timer1 TCCR1A |= (1<<WGM10) | (1<<WGM11); TCCR1A |= (1<<COM1A1); TCCR1B |= (1<<CS11); //POZWOLENIA NA PRZERWANIE TIMSK...
Witam potrzebuje zrobic program ktory bedzie w odpowiednich odstepach czasu wywolywal przerwanie i w tym przerwaniu bede sobie mogl wykonywac dalsze funkcje problem w tym ze nie dizala mi taki najbardziej podstawowy program Symuluje to w proteusie i nie chce zapalac pinub.1 chodzi mi o taki test powinna sie pojawic 1 na pb.1 przy wywolaniu przerwania...
Witam, drogich forumowiczów. Mam problem z komunikacją kilku urządzeń w sieci rs485. A tak prawdę mówiąc to z komunikacją pomiedzy dwoma, jednym "master" i jednym "slave". Normalnie staram się zadawać pytania w ostateczności na forum Elektroda, ale po prawie 3 tygodniach siedzenia przy problemie, przeglądaniu masy poradników i postów związanych z rs485...
Po kilku dniach pracy urządzania stwierdziłem że jednak przydało by się żeby serwerek dodatkowo wysyłał dane do "https://thingspeak.com/" chociaż z termometru domowego. Próbowałem na rożne sposoby ale nie mam pojęcia jak to zrobić. Może ktoś z Was jest w stanie zmodyfikować kod ? Może kolega (at)bart-projects czyta ten temat? ;) (to ten sam kod co w...
Niestety laborki te mamy w asemblerze...przynajmniej ich początek. W języku C będziemy pisać niebawem na co ze zniecierpliwieniem czekam. Co do Twojej podpowiedzi, rozumiem, że cała operacja odbywała by się tak jak powiedziałem, czyli dwa przyciski wielokrotne klikanie jednego np zwiększa prędkość ? A w łopatologiczny sposób na delayach, jak wykonać...
Zacznę od końca (przejrzałem oryginalne źródła): 3. put_char() by wysłać znak czeka, aż flag_tx_ready będzie inne od 0 (FALSE) Akurat odwrotnie. Czeka, aż flaga stanie się FALSE, czyli aż zakończy się bieżąca transmisja. Przy okazji. W deklaracjach zmiennych współużywanych przez program główny i przerwania (jak np. ta flaga) w oryginalnym kodzie brak...
Dzień dobry! Mam taki o to problem, przerzuciłem notę ale nie mogę jakoś ogarnąć jak uruchomić drugi timer 8 bitowy, przykładowo: Proszę pamiętać o używaniu znaczników syntax . Opcja Listing kodu . - arnoldziq
DEX - no cóż dlatego, bo taki układ już jest i nic nie da się teraz zrobić. Kolumny i wiersze są podpięte bezpośredni pod wymienione porty.. Więc bezpośrednie wykorzystanie zewnętrznego przerwania nie wchodzi w rachubę. mariuszlorenc - no wlasnie może o to mi chodzi, ale jak to się robi, bo to moje naprawdę pierwsze doświadczenie z Timerami, flagami...
Po całym dniu walki słabo opisałem mój problem bo już po prostu nie miałem siły :D Wyjaśniam... Zrobiłem sobie mikro serwerek LANowy na Atmedze32 i układzie ENC28J60. Z doświadczenia z tym układem i Atmegą wiem że znacznie stabilniej wszystko pracuje gdy mikroporocesor (Atmega) jest taktowana zegarem 25MHz z gotowego modułu ENC a nie własnym kwarcem....
Czy dobrze jest to wykonane? czyli przerwanie wywolywane z częstotliwością 50Hz. Mam jeszcze pytanie czy to mi się skopiluje w tej wersji WinAVR co ja posiadam. Ponieważ napisałeś, że ISR to jest nowsze od SIGNAL. #include <avr/io.h> #include <avr/interrupt.h> int main (void) { DDRB |= (1 << 0); // Ustawienie bitu...
AVR studio + WinAVR i mamy gcc w nim. No jak masz baskupe to się nie da powodzenia życzę. Sprawdź konfigurację portów I/O czy jest dobra. Poza tym jak działa timer i używasz przerwania od niego to nie zadziała ci przerwania w trakcie odczytu 1W bo baskupa blokuje przerwania celowo. Może stosu ci brakuje i dlatego się resetuje? Ja takie wynalazki piszę...
Możesz spróbować puścić Timer w trybie CTC. TOP wpisujesz do OCR1A a to co wpisywałeś do tej pory do OCR1A wpisujesz do OCR1B. w przerwaniu od OCR1B ustawiasz wybrany dowolny pin na 0 a w przerwaniu od OCR1A ustawiasz go na 1. Kod więc różni się bardzo niewiele:) Z tym, że trzeba te dwa przerwania dopisać, ale nie są jakieś masakrycznie trudne, bo chyba...
Polecam użyć trybu 2 (CTC) dla Timera0. Wtedy timer taktowany bez preskalera, Wartość 32(dec) do OCR0, (16000000/32 = 500000) Licznik liczy wtedy od 0 do 31 (32? - nie pamiętam, trzeba sprawdzić w datasheet) Nie pamiętam tylko czy wtedy idą przerwania od overflow-a czy od compare match-a. Tak czy inaczej powinny być wołane z f=500000kHz. W obsludze...
Witam. Procesor ATmega32 Za pomocą przerwań zewnętrznych chciałem sobie zmierzyć szerokość impulsu ECHO w sonarze HC-SR04. Niestety coś w kodzie nie trybi ponieważ dioda informująca o dokonanym pomiarze się nie zapala. Napisałem już obsługe jednego czujnika za pomocą INPUT_CAPTURE i działa, ale niestety w ATmega32 jest tylko jeden pin do obsługi takie...
Witam, Za nic w świecie nie mogę dojść do tego, więc skorzystam z wiedzy Szanowny Kolegów z forum. Otóż mam pewną zabaweczkę zrealizowaną na mega32 (projekt jak ukończę to udostępnię na forum) Ustawione mam przerwanie od Timera0, który ładnie odmierza mi 1 sekundę przy zastosowanym kwarcu 8Mhz. Wszystko pięknie ładnie, ale chciałbym zastosować "kwarc...
Witam . Chciałem zrobic tester pomp opryskiwaczy . Chodzi o mierzenie wydajności pompy w litrach na minute a moje pytanie czy nie bedzie gubił impulsów podczas wykonywania przerwania . Pomiar co 1 sekundę a wydajność pomp od 40l do 260l / min [syntax=basic4gl] $crystal = 16000000 $regfile = "m32def.DAT" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4...
Witam! Napisałem sobie obsługę klawiatury matrycowej 3x4 w bascomie. Nie używam umieszczonej tam funkcji getkb(), ponieważ podłączona jest do różnych portów. Sprawdzanie wciśniętych przycisków chcę przeprowadzić w przerwaniu od wewnętrznego zegara TIMER0. Na ATmega32 wszystko bez problemu działa. Płytka, pod którą to robię działa niestety na ATmega8515....
Chodzi tu o to, że zmienna ta uzależnia przechodzenie do kolejnych stanów i raz jest używana w przerwaniu od timera0, który sprawdza czy silnik się kręci, od przerwania komparatora i wreszcie w pętli głównej, gdy silnik się kręci i na wejściu komparatora mamy informację o zboczu opadającym bądź narastającym siły BackEMF. Ogólnie schemat pracy przedstawia...
te instrukcje zerują bit w rejestrze ok. wielkie dzięki ale czytając książki na temat programowania tego ustrojstwa atmega było napisane że wystąpienie przerwania w trybie przechwytywania następuje w skutek wykrycia zmiany sygnału na wejściu icp1 gdy timer ustawiony jest w tryb przechwytywania ale mam teraz pytanie (problem)?-brak weny twórczej to kilka...
Witam, mam problem z dokładnością licznika czasu. Licznik ma mierzyć czas pomiędzy pojawieniem się napięcia większego od 512 na pinie PA7 a pojawieniem się zbocza narastającego na INT0. Licznik zlicza setne sekundy i sekundy. Późni się około 10 sekund na minutę. Korzystam z Atmegi32 o taktowaniu 8MHz. Wynik wyświetlam na wyświetlaczu. Napiecię na pin...
Nieścisle się wyraziłem, wspólczynnik wypełnienia zostawiamy w spokoju, tylko korzystamy z rejestrów od PWM ustawionych na Toggle & Reset Counter on compare match - im mniejsza wartość w TCNTC, tym wieksza częstotliwość na wyjściu . Ma to ta zaletę, że sobie działa w tle, a my zajmujemy się czym innym.... ;) No chyba, że coś pomieszałem z nowszymi...
Całkowicie zapomniałem o temacie :) Z problemem poradziłem sobie w następujący sposób, jest to wycinek z większego programu więc coś może być źle wycięte :) [syntax=c] //--------------------------------------... // Dołączone biblioteki //--------------------------------------...
Amplituda impulsów wynosi 4,2-4,3 V, według oscyloskopu Vpp=8,5 V. Okres impulsów jest wybierany w menu programu, mieści się w przedziale 70-280 ms. Up taktóję kwarcem 10 Mhz. Przy nieobciążonych portach nic się nie zmienia. Poniżej wkleiłem fragmenty programu z konfiguracją portów, konfiguracją licznika, podprogramem obsługi przerwania z licznika Config...
Witam Was mam taki problem i za bardzo nie mogę sobie poradzić. Chciałem przerzucić kod z atmegi8 na atmege32, który to obsługuje klawiaturę matrycową. Wcześniej kod pracował mi na jednym porcie, teraz jest na dwóch po kawałku. Na razie wyświetla liczbę 11 i nie reaguje. W kodzie dałem stosowne komentarze. Może jest tu jakiś prosty błąd ale nie mogę...
Witam Dzięki pomocy elektrody i 2 mądrych książek udało mi się coś takiego naskrobać. Przez moment używałem 2 timerów ale po jakimś czasie wyszło coś takiego: $regfile = "attiny2313.dat" $crystal = 4000000 Config Portb = 255 'wszystkie końcówki jako wyjścia Portb = &B11111111 'na początek wygaś Config Portd = &B1111111 'dwie najmłodsze jako...
atmega32 przerwania przerwania atmega32 timer atmega32
szarpanie honda accord skanować twain ricoh schemat kosiarka elektryczny
pralka bosch wan2026 unitra condor
Głośny sygnał z baterii - możliwe przyczyny Mocowanie koła pasowego w Peugeot 206+ 1.4 benzyna