Niestety mój poziom programowania to na razie tylko BASCOM i to też początki. Myśle, że procesor się wyrobi jeśli odpowiednio użyje przerwań zewn. i timera(ów). Czujnik z położenia wału będzie generował przerwanie co 90° przerwanie to będzie wpisywało obliczoną wcześniej wartość...
Witam Porwałem się na robienie własnego sterownika co i stanąłem w martwym punkcie. Mianowicie sterownik składa się z 2 płytek na których są Atmegi 16 taktowane zewnętrznym kwarcem 11.059200 + kwarc zegarkowy jeden układ odpowiedzialny za odczyt temperatur regulację fazową wentylatora...
Witajcie, w jaki sposób można optymalnie odczytać przesłany (aż do znaku nowej linii / powrotu karetki) ciąg znaków od przerwania otrzymania danych? /* * Sterowanie przez RS232 (main.c) */ #include "defines.h" #include <ctype.h> #include <stdint.h> #include...
Wykorzystaj zewnętrze przerwanie a programie przerwania odpal timer potem następne przerwanie i timer stop i wynik timera do zmiennej. i tak w koło. Fototranzytor np możesz wykorzystać w momencie zaniku/przerwanie wiązki światła tranzystor przestaje przewodzić a przy pomocy rezystora podajesz...
Witam, Próbuję korzystać z biblioteki Peter Fleury do obsługi usart-u, której listing znajduje się poniżej: PLIK uart.c /***************************************... Interrupt UART library with receive/transmit circular buffers Author:...
Mam problem z wysyłaniem sms, wykorzystuję atmege128 i moduł sim900 na płytce Evb v1.01_pcb , proszę o rzucenie okiem na kod gsm.c [syntax=c]// PLIK: gsm.c // Dołączone biblioteki #include <avr/io.h> // Biblioteka obsługująca peryferia mikrokontrolera #include <avr/interrupt.h> //...
Witam. Mam podłączony moduł BlueTooth HC-05 do ATmega328, używam go do programowania oraz do standardowej komunikacji. Programowanie jest możliwe dzięki wyprowadzeniu STATE w HC-05. Pin ten skonfigurowałem tak, aby podczas normalnej pracy był na nim stan HIGH (3.3V bo taka jest logika HC-05)...
Diody masz podpięte bezpośrednio pod porty ATmega? Jeśli tak to lepiej dołóż sobie oporniki aby nie spalić wyjść ATmegi. Bezpośrednio przy procku daj kondensator 100nF. Przed stabilizatorem np. 1000uF, a za stabilizatorem 100u (to i tak za dużo, ale lepiej więcej niż za mało). Zliczanie...
Poszukuje porady/pomysłu na zrealizowanie przerwania wyłączającego atmege32. Atmega zasilany jest z osobnego źródła VCC ( bateria+ ładowarka ) niż reszta peryferii. Problem polega na tym iż chce utworzyć przerwanie na int1 po ktorym uC bedzie odpowiednio wchodzil w tryb power down a nastepnie...
Witam Wiem że temat był już przerabiany wiele razy, jednak nadal nie mogę dojść co robię nie tak. Chcę zbudować układ fazowej regulacji mocy. Zrobiłem schemat do wykrywania 0 oraz sterowani przez Moc 3043. Niestety udało mi się uzyskać jedynie żarówkę słabiej świecącą na dodatek...
Witam jestem początkujący w programowaniu mikrokontrolerów więc proszę o wyrozumiałość. Zadanie muszę zrobić na zajęcia. Szukałem w sieci i na forum rozwiązania lecz nie mogłem znaleść wątku który pomógł by mi zrozumieć obsługę jednowierszowej klawiatury. Nie rozumiem algorytmu....
Witam Napotkałem dziś problem natury nierozwiązalnych (podczas normalnego 8mio godzinnego dnia pracy), przynajmniej przeze mnie. Chodzi mianowicie o to, iż w budowanym przeze mnie układzie nie działa przerwanie RXC, ale... ale nie działa ono dość niezwykle:) Najpierw przedstawie krótki opis...
witam. od kilku dni probuje rozwiazac pewien problem. mianowicie ucze sie programowac avr'y i postanowilem zrobic budzik. jednak problem zaczal sie gdy zaczalem dzialac na przerwaniach. na wejscie int2 podany mam sygnal o czestotliwosci 1Hz. ma on co sekunde powodowac przerwanie w ktorym jest odczyt...
Witam. Posiadam kilka kompletów tego nadajnika i odbiornika (433MHz) i tak jak kolega wspominał w eterze mega dużo śmieci. Ale... znalazłem rozwiązanie tego problemu śmieci! Zmierzyłem miernikiem częstotliwości wyjście odbiornika podłączonego tylko do zasilania i u mnie były takie wyniki:...
Stary temat ale podepnę się bo mam podobny problem. Próbuję skomunikować STM32F429 (płytka discovery disco) z Atmegą8 (nie 88). STM Master Reviever <<>> Atmega Slave Transmiter. Wzorowałem sie trochę na kodzie kolegi i trochę na tym tutorialu: Problem kolegi kolegi polegał...
Długo by tłumaczyć. Przede wszystkim przerwanie przychodzi po pierwszym znaku, a Inkey odbiera cały ciąg znaków Z tego powodu Inkey nie nadaje się do użycia w przerwaniu. Ty użyłeś go w przerwaniu i tym samym blokujesz przerwania. Bo przerwanie przychodzi po pierwszym odebranym znaku, ale...
ATmega, dajmy na to ATMega16 potrafi zebrać do 15 tys. próbek ADC na sekundę. MCP4812 potrafi ustalić napięcie w 4.5 us po ustawieniu przez SPI z taktowaniem szyny do 20MHz. Jeden półokres to 10ms, więc kilka rzędów wolniej. Z Twojego opisu wynika, że o całym sterowaniu i tak decyduje...
Witam, mam taki problem. Procek -Atmega8, chwilowo taktowana wewnetrzym 8mGHz. bascom Ogólnie program działa nastepująca: Korzystam z INT0 ustawiam go na zbocze opadjaące. konfiuguruje timer0 z parametrem Compare A = disconnect ustawiam flage na 0 do loop przerwanie int0: czesc1: sprawdza...
Witam, Zamiast przekładni mechanicznej chcę zrobić (a nawet już zrobiłem) przekładnie programową. Silnik asynchroniczny zasilony falownikiem napędza jedną oś. Umieszczone na niej jest kółko z 5 otworami. Do tego 2 transoptory szczelinowe z czego jedne na przerwanie INT0 drugi na normalne...
Witam Korzystając kodu Tuxgraphics zmodyfikowanego przez Kolegę Mundi1970 , chciałem również postawić prosty serwer pokazujący temperatury z kilku czujników oraz wilgotność i ciśnienie. Po zmianach regfile i pinu CS nie mogę go jednak skompilować. Występują trzy błędy: Error 46...
Nie obraź się ale Twoja metoda pomiaru częstotliwości jest "trochę" zagmatwana :) Korzystasz z timera w dziwaczny sposób a funkcje typu Delay() w połączeniu z przerwaniami nie działają poprawnie i nadają się co najwyżej do migania diodą. Natomiast pomiar częstotliwości można zrealizować...
1. Korzystasz z różnych przerwań ale nie uruchamiasz ich globalnie - sei() 2. Aktywujesz przerwanie od pustego bufora - UDRIE - ale nigdzie nie obsługujesz tego przerwania. 3. Obsługujesz przerwanie od zakończenia nadawania - TXC - ale nigdzie nie aktywujesz tego przerwania. 4. UCSRC - to co...
Nie da się tego precyzyjnie wyliczyć. Dekodowanie impulsów z enkodera na M328 odbywa się programowo - np. tak, że impulsy z jednego kanału generują przerwania (nie jest to idealne rozwiązanie, ale na początek nie komplikujmy). W efekcie to jak często mogą się one pojawiać zależy od czasu...
Tak jak w temacie coś mi kod nie działa proszę o pomoc gdzie leży błąd Ps wyświetla A ale B to nie wyświetla korzystam z 8Mhz [syntax=objc] #ifndef UART_H_ #define UART_H_ //Załączenie bibliotek systemowych #include<avr/io.h> #...
Witam. Chciałbym połączyć moją atmegę z komputerem. Jednakże, nie reaguje na sygnały wysyłane z Br(at)y terminala. Sygnał z kompa po przejsciu przez FT232 jest 5V. Czy to może być problem? (atmega 162 jest standardowo na 3.3V) Dodam, że atmega jest zasilana napięciem 5V. A oto...
Na wstępie chciałbym przybliżyć, skąd taka a nie inna nazwa nadana przeze mnie temu projektowi. Prace rozpoczęły się w momencie zapotrzebowania na minimum dwa zsynchronizowane generatory małej częstotliwości. Ponieważ zakres przestrajania jaki mnie zadowalał ograniczał się do 100Hz...
Należy: - zadeklarować zmienną globalną np. LICZNIK i nadać jej wartość zera, - włączyć przerwania od przepełnienia Timer0, - w funkcji przerwania należy zwiększać wartość zmiennej LICZNIK o jeden Aby poznać liczbę impulsów wystarczy pomnożyć LICZNIK*256 i dodać do niego aktualną...
Na początku programu ustaw timer: [config timer0=timer,prescale 64'(na przykład) enable interrupts'(odblokuj przerwania) on timer0 obsluga_syreny'(nazwa podprogramu gdzie ma skoczyc w przerwanie) enable timer0 counter0=6'(wartość początkowa licznika,na przykład) ----------------------------...
No Dobra program juz prawie napisałem i głowiłem sie nad wersja ze zmiennym PWM+f... ale z tego co mi odpisałes to wnioskuję ze coś tu mi nie gra... A nie możnaby programowo realizować ten restart co 80ms? Moze napisz dokładniej co to ma być a coś doradzimy :) Pozdro No wlasnie o...
Zarezerwuj sobie na godziny i minuty po rejestrze w procesorze. Zrób obsługę klawiatury. Ja bum dał 3 przyciski. 1 - jak przytrzymasz dłużej to wchodzi w trym ustawiania. Jak potem na krótko to przechodzi po kolejnych rejestrach i ustawiasz 2 pozostałymi wartość godziny minuty, dnia, miesiąca,...
Bardzo proszę o pomoc w zaprogramowaniu ATMEGI 16 ,mam taki programator i taki program: Program: $regfile = "m16def.dat" $crystal = 8000000 On Oc1a Przerwanie Dim Fzad As Word , Focr As Word , Temp As Word Dim Wsk As Bit Config Adc = Single , Prescaler = Auto , Reference = Avcc Ddrb.1...
Jakiś czas do tyłu poszukiwałem trochę dziwnego zasilacza prądu stałego niestety nie znalazłem nic, dopiero po pewnym czasie odezwał się do mnie kolega z Forum elektrody do którego adres mi przepadł i przesłał mi program na atmegę 16 oraz instrukcję ustawienia układu . Początkowo nie...
Witam wszystkich forumowiczów. Ostatnio złożyłem sobie układ sterownika domowego z pewnej strony internetowej. Wszystko złożyłem z jak największą starannością. Zaprogramowałem uc ale wydaje mi się że układ nie działa tak jak powinien. Próbowałem znaleźć przyczynę problemów ale...
Możesz użyć Attiny25/45/85V w obudowie DIP8. Schemat też należy przerobić i wyrzucić stabilizator a całość zasilić z 3 baterii 1,5V. Najprostszym sposobem na losowość uruchamiania jest umieszczenie obrobionego wyniku funkcji rand() jako argument _delay_ms(period). Poczytaj o rand() i srand()....
Witam. Napisałem program, który ma liczyć czas a potem zostaną dopisane następne funkcje. W tym momencie chciałbym, żeby po podaniu na PC0 PC1 napięcia załączał się odpowiedni tryb wyświetlania czasu niestety to nie następuje. Mógłby ktoś mi powiedzieć dlaczego? Stany ustawiane są...
Nie. Robię to mniej więcej tak: czekam na przejście przez zero i w czasie półokresu włączam i wyłączam na określony czas dmuchawę. Jestem pewien, że można to zrobić łatwiej, ale musiałem całość szybko uruchomić, a że ten sposób działał to już tak zostało. Póki co dmuchawa...
Witam forumowiczów. Mam mały problem z przerobieniem programu do mierzenia temperatury wzmacniacza 2x200W, problem polega na tym że mam program pod kostkę AT89C2051 a obecnie dysponuje tylko atmegą 16. Oryginalny program jest użytkownika "lechoo". Byłbym bardzo wdzięczny gdybyście pomogli...
Witam, Ostatnio próbuję do swojej pracy magisterskiej zrobić komunikację bezprzewodową za pomocą 2 modułów nRF24L01+. Korzystam z tego kursu: Sprawdziłem działanie komunikacji uC z modułem nRF za pomocą SPI przy użyciu AVR Dragona. Działa bez problemu, wpisuje testową wartość do rejestru...
Witam Zbudowałem prosty sterownik pomp do kotła węglowego bez podajnika (planuję dorobić wentylator, ale narazie jest odłączony). Problem polega na tym, że codziennie rano sterownik jest jakby zawieszony. tj LCD pokazuje cały czas to samo, nie reaguje na przyciski, nie załącza przekaźników....
No tak ale w C tez by trzeba bylo isc po.kolei ze jesli jest zalozmy wejscie pd0 atkywne to ustwaia miejsce wysyla znaki itd czy inaczej? Wszystkie programy (jeśli jest jeden rdzeń) wykonują się sekwencyjnie. Obsługa LCD może być zrealizowana w tle. Wtedy program główny wykonuje sie "równolegle"...
Witam, pisze program w którym usypiam procesor (power-save). Ponieważ przerwania działają, w procedurze obsługi przerwania INT0 (mam podłączona klawiaturke pod nie) dekoduje odpowiedni klawisz i po wykryciu go, chcę obudzić procesor. Ustawiam timer2 w następujacy sposób: TCCR2=0x00;...
Jak uruchomisz pomiar, to nie da rady inaczej i trzeba zaczekać. Możesz conajwyżej próbować przewidzieć kiedy wystąpi kolejne przerwanie. Jeżeli występują regularnie, to można zmierzyć okres za pomocą timera i następnym razem uruchomić przetwornik odpowiednio wcześniej. Tylko jeszcze...
Przepraszam odrazu że poruszam temat wałkowany 1000 a moze i wiecej razy. Niestety jednak niepotrafie sobie sam poradzić dlatego prosze was o pomoc. Termometr wyswietla mi cały czas temp -0.02 Niemam pojecia dlaczego Ds jest zasilany ciągle (nie przez iwire) a środkowa noga zwarta przez...
Wszystko zależy jak szybkozmienna jest ta amplituda i jak często musisz mieć wynik. Kiedyś zrobiłem na Atmedze wskaźnik wysterowania audio taki jaki był w starych magnetofonach na LEDach. Zadeklarowałem zmienną. Puściłem dwa przerwania, jedno bardzo gęste, to odczytywało wynik chodzącej...
Witam! Mam drobne pytanko do osób obeznanych z prockami z serii Atmega(u mnie to uklad atmega128), a dokładniej rzecz ujmując chodzi mi o licznik (w sumie dla mnie dowolne czy 8 czy 16-to bitowy) pracujący w trybie porównywania. Na potrzebę układu jaki zbudowałem potrzebuję by licznik...
Witam. Chciałem napisać następujący program: Dane przesyłane są z komputera przez UART1, a następnie te dane chciałbym przesłać dalej, za pomocą UART0. Na razie połączyłem sobie, w UART0 RxD z TxD za pomocą rezystora 200Ohm (taki loopback do testów). Czyli jak na razie chciałem uzyskać...
Właśnie czytałem trochę o tym wszystkim i rzeczywiście najlepiej zrobić to na A/D i D/A konwerterach. Na razie wykorzystam ATMegę, tym bardziej, że wytrzymuje temperatury od -55 do 125 stopni i ma watchdog'a. Konwerter A/D użyję TLC549IP bo jest w miarę tani i też odporny na temperaturę....
Poradzilem sobie z tym stanem wysokim zerując TCCR1A. Zaczne od tego, że programje pilot 6 przyciskowy z usypianiem, wybudzaniem i przełączaniem miedzy podprogramami - zapalniem Led-ów. Ma 4 przyciski do wysyłania kodów i 2 do przełączania podprogramów. Do tych czterech przycisków podpięte...
Mój problemik polega na tym że chciałbym zbudować przetwornice DC/AC z wyjściem sinus. Mam wystarczające doświadczenie jeśli chodzi o część wykonawczą, kłopotem jest tylko wygenerowanie sygnału PWM dla kluczy. W linku zamieszczam przykładowy projekcik w którym autorzy niestety nie zamieścili...
Załóżmy że mam pod ATmege 32 podłączony kwarc 16 MHz. Do Atmegi podpiąłem też wyświetlacz, który może pracować na transmisji z max częstotliwością 6 MHz. Plus powiedzmy jeszcze jakieś inne elementy (np. karta pamięci, dioda podczerwieni). Jak te wszystkie różne częstotliwości ogarnąć...
Robię urządzenie , które ma być pewnego rodzaju nagrywarką sygnału DMX. Sygnał DMX to specyficzna wersja transmisji szeregowej . Muszę odczytać 128 słów 8 bitowych i zapisać je w pamięci zewnętrznej. Na każdą sekwencję zakładam 8 kroków. Te słowa są wysyłane cały czas. Jeden taki...
Chodzi o to ze linie SDA i SCL odpowiednich wyjsc procka ktory ma byc monitorem. Nastepnie w sposob pasywny, wykorzystujac sprzetowy interfejs procka obserwuje jakie bajty sa przesylane po magistrali. Wykorzystywanie sprzetowego interfejsu rozumiem jako wykorzystanie dostepnych rejestrow obslugujacych...
Witam, mam problem z kodem ( no właśnie, to sie okaże :) ): #define F_CPU 16000000UL #include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/pgmspace.h> #define...
Bardzo dobrze, uznałeś że wait zupełnie się nie nadaje... Ja bym zrobił to tak: Timer generuje przerwanie co ok. 1s w przerwaniu zwiększam jakąś zmienną o 1... Z resztą poniższy przykład chyba najlepiej Ci wytłumaczy moją idę: do if wejscie_1 = 1 then licznik_1 = 0 flaga_wejscie_1...
Do rejestrów przesuwnych (bo takie najlepiej jest użyć) można ładować dane z prędkością megaherzów, tak więc nie musisz się martwić, że braknie Ci "czasu procesora", załadować je można w ułamku sekundy, zwłaszcza, gdy taktujesz procesor zegarem parunastu megaherzów. Nie wywołuje...
Ja osobiście nie mam problemów z przenaszalnością kodu w firmowym asemblerze Atmela, nawet pomiędzy różnymi wersjami rdzenia, gdyż są w nim wbudowane definicje pozwalającej na asemblację warunkową. Przykład - instrukcja lpm , zamiast której używam następujące makro: .macro LpmPlus #if...
Z tego co wiem "PIN Change Interrupt" ma np. Atmega168 i Atmega 328. Atmega 32 - jakoś nie widzę takiej możliwości. Proszę o poprawienie mnie, jeśli się mylę. Oczywiście zawsze można skorzystać z tych specjalnych pinów - INT0, 1 czy 2 lub zasymulować taką kontrolę stanu pinu w zwykłym...
Od paru dni walczę z komunikacją telefon Sony Xperia X10 mini pro + Atmega162 poprzez BTM112. Na telefonie mam aplikacje BlueTerm. Nawiązuje bez problemu połączenie z Bluetooth. I właśnie bo nawiązaniu połączenia wchodzi mi w przerwanie że procek coś odebrał bo mruga mi dioda. Następnie...
Szulat napisał: Przy okazji popraw też licznik++ bo w momencie gdy przekroczy 9 to kolejne znaki lub/i końcowy bajt zerowy będą trafiać poza tablicę. Najprościej daj ifa i ignoruj nadmiarowe dane. Racja, zdaje sobie z tego sprawę, to było w ramach testów, jakiś skromny protokół do...
Witam, popełniłem takowy program do sterowania ogrzewaniem i zapętliłem się nieco na funkcji start/stop odliczania pozostałego czasu do wyłączenia urządzenia. Poniżej fragment kodu: [syntax=basic4gl]'-------------... GLOWNA----------------------------------...
To wszystko powinno być zrobione w przerwaniu timera generującego PWM, bez żadnych "delay". Wtedy przynajmniej miałbyś determinizm czasowy działania. W procedurze obsługi przerwania odliczasz tyle przerwań, ile wchodzi na te 5 ms, a po odliczeniu - zmieniasz wypełnienia PWM. Wtedy rzeczywiście...
RTOSa potrzebuję tylko po to, żeby móc uruchomić w jednym czasie dwa intepretery. :D dokładniej wiem jak za pomocą timera można by było uruchomić dwie funkcje mi chodzi żeby móc przerwać tą funkcję, np. po 100 ms i przejść do drugiej funkcji, po czym po 100 ms przerwać tą funkcję...
Czyli obecnie masz zepsutą i błędną funkcję pobierającą rzekomo łańcuch, a w rzeczywistości jeden znak na ATmega oraz program na PC niedopasowany do poprzedniej, nieco kulawej ale jakoś działającej funkcji odbioru łańcucha. Program na PC nie może wysyłać nowych znaków dopóki nie...
Mam mały problem chcę zrobić prosty miernik częstotliwości w bascomie do ok. 600KHz Warunek ma mierzyć z dokładnością 1Hz i niestety nie wychodzi mi to. Taimer 1 mam skonfigurowany jako taimer (Config Timer1 = Timer , Prescale = 8) taimer 0 skonfigurowany jako licznik (Config Timer0 = Counter...
Witam W związku z występowaniem od czasu do czasu błędów w wysyłanych danych chciałem wprowadzić wprowadzić sprawdzenie poprawności odebranych danych przez wysłanie ostatnim bajtem wartości, którą odbiornik by porównywał wartością, którą sam obliczy z odebranych danych. Nadajnik...
Witam. Mam problem z kodem. Wszystko się kompiluje ale zawartość funkcji void wyswietlwynik(float dana) nie uruchamia się. Jeśli zawartość tej funkcji jest w pętli while(1) wszystko jest ok [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> ...
Witam. Chciałbym prosić o pomoc. Robię projekt Ultradźwiękowego czujnika odległości, korzystam z kitu AVT 5370 "Sonar garażowy", z procesorem atmega 8. Do tego dorobiłem płytki z prostowaniem napięcia z trafo, do lcd,przycisków i diód. No,ale do rzeczy. Urządzenie ma mieć 3 tryby pracy: -Kalibracja(na...
Użyłem tejże biblioteki [url=]klik do obsługi dwóch przycisków które służą do poruszania się po menu (sterownik akwariowy).Procesor zasilany z oddzielnego źródła,gdy podpięty jest programator do komputera wszystko działa ,po odpięciu klawisze nie reagują. Celem sprawdzenia podłączyłem...
Witam, Symulacja przesyłania/odbioru przez SPI działa w debugerze AVR Studio 4 gdy nie jest czynna obsługa przerwania przepełnienia licznika1 ISR(TIMER1_COMPA_vect), ale po przepełnieniu licznika zerują się wszystkie zmienne. Jeżeli obsługa przerwania jest aktywna (nawet pusta) to symulacja...
To zależy czego się oczekuje. 3 dekady temu na 8 bitowym 1MHz procesorze był graficzny system obsługiwany myszą Oczywiście tak -pomijając różnice w architekturze tak było te 3 dekady temu. Tyle, że dziś w kieszeni każdy ma "komputer" o możliwościach obliczeniowych których nie powstydziły...
Konfiguracja UARTa: [syntax=c] #define UART_BAUD 76800 //9600 // tu definiujemy interesującą nas prędkość #define __UBRR F_CPU/16/UART_BAUD-1 // obliczamy UBRR dla U2X=0 void USART_Init( uint16_t baud ) { /* Ustawienie prędkości */ UBRRH = (uint8_t)(baud>>8); UBRRL = (uint8_t)baud; /*...
Witam Czy pisząc w języku arduino z automatu mam pewne ograniczenia w dostępie do timerów? Przykładowo timer3 ustawiam preskaler na 256 poprzez ustawienie bitu CS32 Ustawiam tryb CTC poprzez ustawienie bitu WGM32 następnie [syntax=c]OCR3A = 1000; // pożądana wartość to 1000...
Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C,...
Witam Serdecznie PanowieTemat mam pewiennieaktualny problem a mianowicie zrobiłem ten sterownik wszystko ładnie się zaprogramowało fuse bity ustawione po załączeniu działają wszystkie funkcje lecz niestety nie pokazuje mi temperatury niby trzeba trzymać przycisk s1 na pierwszy cujnik ds18b20...
Witam, ostatnio zająłem się pisaniem stosunkowo prostej aplikacji na AVR ATmega8, potrzebnej mi na studia. Na celu miałem też trochę lepsze poznanie AVR. W czym problem : W moim programie chciałem przetestować typowe zachowanie uC, napisałem kilka prostych funkcji, włączyłem przerwania,...
Witam serdecznie! Przejdę od razu do sedna. Napisałem program do megi328, z przerwaniem INT1, odpowiednio poustawiałem rejestry, uruchomiłem globalną obsługę przerwań sei(), i niestety atmega po podłączeniu zasilania od razu wykonuje przerwanie, mimo, iż switch nie został wciśnięty, wiem,...
W trakcie wykonywania tego podprogramu zostało zgłoszone przerwanie zewnętrzne na nóżce int1 atmega328p. Czy atmega328p przerwie wykonywanie podprogramu nóżki int0 Zależy jak zadeklarujesz przerwanie, czy ISR bez atrybutu lub z atrybutem ISR_BLOCK albo jako SIGNAL czy ISR z atrybutem ISR_NOBLOCK...
Witam, Używam przerwania zewnętrznego na INT0 w konfiguracji na zbocze opadające. Funkcja przerwania jest definiowana w ten sposób: [syntax=c] ISR( INT0_vect, ISR_BLOCK) { //ciało przerwania } [/syntax] Wszystko działa bardzo dobrze, oprócz jednej rzeczy. W przerwaniu wykonuje...
Witam, Tworzę projekt kompasu cyfrowego po szynie I2C pracujących na Atmega 328p-pu. Chciałbym zrealizować u siebie w projekcie przerwania, w ten sposób, że odbieram dane z kompasu->przerwanie i kolejno na początek. Przerwania na prostych przykładach realizowałem ale tutaj nie mam pomysłu...
Moj program tak wyglada w uproszczeniu: Rjmp start ;Tutaj znajduja sie rużne procedury Start: ;Wskaźnik stosu Ldi R16,low(RAMEND) Out SPL,R16 Ldi R16,high(RAMEND) Out SPH, R16 ;Wyzeruj wszystkie flagi Ldi Acc,00 Out Sreg,Acc ;Zaden przycisk nie...
:)... no wlasnie.... Ale w tym sek, ze raczej nic tam w programie nie powinno przeszkadzac. void inicjuj_USART_TIMER(unsigned char tim, unsigned char szybk) { TCCR0 = 0b00000001; TCNT0 = 5; TIMSK |= 0b00000001; ///////////////////////////... = 0; UBRRL = (unsigned char)(szybk); UCSRB...
Witam. Mam uP Atmega8 w ktorym wykorzystuje przetwornik ADC. Na stronie 32 PDF'a jest opisany tryb redukcji zaklocen dla przetwornika ADC. Niestety mam problem zeby to uruchomic (zaimplementowac w AVR-GCC). Moze ktos mi powie co robie nie tak... inicjalizacja: (tylko redukcja zakłóceń - przetwornik...
Odpowiedzi napewno bedzie kilka. Ja zaproponuje cos takiego: zmienna: rs_tx_bufor (to tablica bajtowa o długości tyle co cała wiadomość) zmienna: rs_tx_licznik jako bajt do wysyłania zmienna: rs_rx_bufor (tu tez tablica bajtowa ale rozmiar taki jak spodziewana odpowiedź - moze być jeden...
na każdym który napiszę jest tak samo, w nowym temacie powyżej podałem ustawienia fuse bitów, zaraz wkleję kawałek na którym teraz się bawię Dodano po 4 to kod na którym teraz się bawie '**************************...
:arrow: dscreator Przede wszystkim koniecznie skomentuj każdą linię i wklejaj za pomocą znaczników Code , ponieważ (jak widzisz) Twój program jest zupełnie nieczytelny (forum usuwa spacje na początku linii). Program powinien zaczynać się zaraz za obszarem wektorów przerwań. Jeśli...
Zrobilem to tak: c = uart_getc(); if(c & UART_NO_DATA) { }else { switch (c) { case 0x0d: interpretuj(RxBuf); do { RxBuf Dodano po 40 Drugi problem rozwiazalem. Dodalem do obslugi przerwania if(data == 0x0d) interpretuj(); ...
Witam! Jak powinna zachowywać się flaga RXC w tym uC? Według specyfikacji powinna wyzerować się, gdy nowe dane zostaną odczytane z rejestru UDR. W tym momencie głupieje :). Program: int main(void) { //sei(); UBRRL=0x33; // BaudRate UCSRB =0x18; // RXEN TXEN // UCSRB...
Piszę w C program na atmega do komputerka podającego spalanie w samochodzie i mam problem z przerwaniami. Jednym przerwaniem będzie liczony impuls wtrysku a drugim zliczane impulsy drogi (zapomniałem dodać, że jest jeszcze przerwanie zliczające impulsy czasu rzeczywistego). Jeśli w danym momencie...
Witam.Mam problem z obsłużeniem USARTów obu jednocześnie i mam pytanka: 1. czy prędkość transmisji obu musi być taka sama? 2.Jak oba obsługiwać na przerwaniach(może głupie pytanie ale nie mam pojęcia jak to zrobić :( ) Co w tym kodzie jest nie tak że nie che ruszyć??Może ktoś wie...
Troszkę za dużym ogólnikiem rzuciłem... Tak, stos to HW Stack (sprzętowy) i Soft Stack (programowy). Należało by zwiększyć rozmiar stosu sprzętowego, bo używasz przerwania od Trmer1. Wywołanie obsługi przerwania powoduje zajęcie 32 bajtów stosu (czyli tyle, ile masz zadeklarowane), a...
Witam, potrzebuję podłączyć przetwornik ADC do mojego ATmega16. Kluczowa jest szybkość próbkowania i dokładność pomiarów. Ponieważ mieszkam niedaleko sklepu NIKOMP wybrałem z jego oferty układ HI574AJ i mam odnośnie niego parę pytań dotyczących parametrów i sposobu jego podłączania: DOKUMENTACJA: 1.....
Wydaje się być dobrze. Ale co to zmieniło nie pojawia się już komunikat CSTACK fill..... itd. POwiedzcie mi jakie zmienne siedzą w CSTACK, klasycznie jest wykorzystywany tylko w przerwaniu tzn zrzuca zmienne po wykryciu przerwania czy do przechowywania zmienny. Powiem o co mi chodzi gdy miałem...
Witam Mam kilka pytań odnośnie budowy miernika na tym uk. Zbudowałem woltomierz (4-ro wejściowy, wykorzystując przetwornik ADC) tylko, że program jest tego rodzaju main { while(1) {....} } czyli cały procesr zajmuje się mierzeniem napięcia (załącz.1), niestety potrzebuje aby...
witam chce odmierzyć 1 s za pomocą timer0 w procku Atmega8, robię to tak: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Timer0 = Timer , Prescale = 256 On...
Mam pytanko czy ten program może robić za stoper i co wyświetli co się stanie na wyświetlaczu po wpisaniu tej linijki kodu D1_ON; // włącz pierwszą cyfrę wyświetlacza czy co takiego zapali się 192 a jak będzie D1_ON; to wyświetli się 192 249 tak czy tylko 249 i jak dorobić ", " :D ...
Buduję prosty sterownik na atmedze 8, chcę obsługiwać klawiaturę w przerwaniach od timera0 ale atmega nie widzi procedury obsługi przerwania i resetuje się. Jeżeli zatrzymam timer albo wyłączę przerwanie timera, albo wyłączę globalnie przerwania to nie resetuje się. Kod procedury obsługi...
Zaczynam budowę urządzenia jak w temacie. Chodzi o zastąpienie oryginalnych zegarów wyświetlaczem LCD. Dopiero zaczynam zabawę z elektroniką (to będzie mój drugi układ…) i chciałbym uzyskać jakichś cennych rad zanim wezmę do rąk lutownicę. Zasadniczo urządzenie ma składać...
witam mam problem juz drugi dzien zmagam sie z transmisja szeregowa na atmega8515 i rs485 program z zalozenia prosty odbiera dane i na ich podstawie zapala diody na jednym porcie a problem w tym ze nie moge uzyskac przerwania od urxc nie wiem dlaczego napisalem na potrzeby testow prosty program...
To może napisz program tak żeby obsługiwać przerwanie od INT0 i skorzystaj z przerwań. Może taka obsługa będzie poprawniejsza.
1. Wszystkie zmienne modyfikowane w przerwaniu powinny być 'volatile'. 2. Po co wyłączać globalnie przerwania w procedurze obsługi przerwania? Poczytaj datasheet - one i tak są wyłączone. 3. Sugerowałbym nie żałować klawisza ENTER - kod, w którym w jednym wierszu jest kilka poleceń jest...
Witam, od pewnego czasu borykam się z pewną trudnością, a mianowicie obsługą dwóch przerwań zewnętrznych, z czego jedno ma byc wykorzystywane podczas obsługi drugiego. Projekt to odcięcie zapłonu z zamkiem szyfrowym. Po krótce: W momencie załaczenia stacyjki na on, ma wyśwoietlać...
Nie mam przez weekend dostępu do programatora itp. aby sprawdzić mój program. Czy poniższy kod zadziała jak programowe pwm na pd.2 oraz czy pb.3 będzie sobie mrugał? Wiem że nie powinienem pytać, tylko to sprawdzić ale zależy mi na waszej opinii :D $crystal = 1000000 $regfile = "m16def.dat" Config...
W trybie CTC nie robi się obsługi przerwania. Po prostu konfiguruje się timer i on zajmuje się generowaniem przebiegu prostokątnego na odpowiedniej nóżce procesora. W programie po prostu na odpowiedni czas się go włącza i później wyłącza. U mnie na attiny2313 wygląda to tak. void start_freq(void)...
Wkleje moj dzialajacy kod SIGNAL(SIG_ADC) // przerwanie z przetwornika ADC { value_adc = ADC; // czytaj wartość z przetwornika ADC } int main( void ) { ADCSRA = 0x8D; ...
Nie wiem jak koledzy ocenią mój pomysł natomiast kiedyś zrobiłem to tak że w obwodzie zasilania 5V wstawilem dość duży kondensator 1000 uF, Magazynował on na tyle dużo energii że nawet po zaniku zasilania starczał na kilka sekund. Dorobiłem układ sprawdzający poziom napięcia na transoptorze...
Z takim kwarcem da się zrobić programowe 20kHz. Ze sprzętowym nie ma problemu z jakimikolwiek przerwaniami. Zapewne chodziło o przerwania występujące podczas multipleksu wyświetlaczy, ale wtedy przy odpowiednim zarządzaniu przerwań także nie ma problemu z odczytem z 1Wire.Także piszę w bascomie...
Problem, w zasadzie coś co jest już wałkowane na forum wielokrotnie, ale mimo przeczytania kilku wątków nie znalazłem odpowiedzi. Otóż potrzebuję zrobić odbiór poprzez uart. Korzystam z Atmegi 32(w zestawie ewaluacyjnym, zewnętrzny kwarc) i środowiska WinAvr. Wysyłanie z mikrokontrolera...
Witam, Wcale lub na minus. Wszystko zależy od wybranego przetwornika i rozdzielczości. Gdy np. ośmiobitowy przetwornik będzie umiał zgłosić koniec konwersji pracując w trybie auto, to po prostu obliczenia zamiast w przerwaniu ADC trzeba będzie umieścić w przerwaniu np. INT0 lub INT1. Ilość...
Witaj :D Według mnie tablica jest niezbedna poniewaz to w niej sa zapisane wlasciwe znaki , i wydaje mi sie ze nauczuciel sie myli bo samo polecenie getatkeyb() zwrocilo by numer wcisnietego klawisza a nie konkretna literke , liczbe czy znak . Przykladem moze byc fragment polskiego helpa do bascom-a...
Witam serdecznie. Szukałem już chyba wszędzie, próbowałem kilkunastu innych programów i problem ciągle zostaje nie rozwiązany. Otóż piszę program do sterownika pieca. Posiada on 3 czujniki DS18B20, 3 przekaźniki i 1 triak do sterowania pompki kolektorów. Wszystko działa bez zarzutu. Problem...
poczyniłem pewne eksperymenty i widzę że muszę się gruntownie przyjżeć przerwaniom które mam odpalone (a jest ich kilka) na czas transmisji danych RDS wyłączyłem przerwania i o dziwo terkotanie nieco się wyciszyło. To zapewne sygnał aby istotnie te kondensatory podczepić, niestety nie...
Można by było spróbować tak: 1. Na pierwszym uC ustawić zegar 2. Zaprogramować tak, że po zmianie sekundy daje krótki impuls na jakiś pin. 3. W pozostałych dwóch stawić jeden z pinów INTx i w momencie wywołania przerwania zwiększać liczbę sekund. Wadą tego rozwiązania są możliwe...
problem w tym że masz po sobie 2 pętle for rozjaśniające ledy w głównej pętli programu. Najpierw wykonuje się pierwsza potem druga. Druga rzecz to stosowanie jako opóźnienia funkcji waitms która zatrzymuje prace mikrokontrolera. Proponuje użyć timera który będzie generował przerwanie...
Zacząłbym od sprawdzenia zasilania - czy tam gdzieś coś nie zaczyna siać. Konieczne sprawdź WatchDog a czy nie jest załączony, a jeśli tak to czy jest prawidłowo obsługiwany. Ze strony software , to w przypadku pisania czegoś w assemblerze częsty błąd dający podobne efekty to niezachowanie...
Witam Mam pytanie odnośnie rodzaju systemu przerwań obecnego w mikrokontrolerach AVR (np. ATmega 128). Przeszukiwałem już forum w tej sprawie i znalazłem informację, że AVR'y posiadają jednopoziomowy system przerwań, jednak kiedy zaglądam do datasheeta ATmegi wyraźnie w sekcji o przerwaniach...
W datasheet układu [url=]SLA7024 masz rozpisane jak zwierać poszczególne fazy. Wystarczy więc napisać prosty program z wykorzystaniem Timera i przerwania zgłaszanego przy przepełnieniu. W przerwaniu zmieniasz stany na liniach sterujących, zwierając poszczególne fazy. Zastosowanie pętli czasowej...
Wprowadzenie do twi z linka o tym mówi . Ale tam tylko pisze o pullup-ach i te zostawię bo wymaga tego standard IC2. Czy Ty miałeś na myśli, abym zostawił te pomiędzy Atmega, a eepromem szeregowo na liniach SCL i SDA? Ich zadaniem jak rozumie jest dostosowywanie poziomu sygnału jeżeli...
Czy są jakieś znaczące róznice tak aby program napisany na 1284 nie chodzil na 644P? Np. M1284p ma 4 timery, a mniejsze siostry tylko 3 :D Wiąże się to więc, z 4 dodatkowymi źródłami przerwań i większym o 16 bajtów obszarem wektorów przerwań.
Witam A0 w PCF także do masy. PCF działa poprawnie zarówno sam jak i z pamięcią. Nawet jak w programie zostawię tylko kod odpowiedzialny za obsługę pamięci, bez ani jednej linijki tyczącej się PCF, to i tak pamięć świruje :) Kod bez obsługi PCF wygląda mniej więcej tak: [syntax=cpp] #include...
Jeśli pytasz o sens stosowania przerwania informującego o nadaniu znaku to zależy on od ciebie. W szczególności nikt nie każe ci go wykorzystywać, a z tego co piszesz wynika, że można się bez niego obejść skoro odbiór masz nieblokujący zrobiony na przerwaniach odbiornika. Oczywiście w...
Chciałbym zadać jeszcze pytanie nie związanie z tematem odnośnie programowania w Bascomie. Wiem, że jeśli postawie flagę w procedurze obsługi przerwania będzie ona widzialna w pętli głównej. Czy w odwrotną stronę też to działa? Chciałbym aby procedura obsługująca przerwanie wykonywała...
marcinek.p - to gotowiec dla ciebie, nie mam jak go przetestować ale jestem pewien że zadziała jak trzeba. Masz tu przerwanie, miganie led i zliczanie migniec z incr Mozna to wszystko wkleic do przerwania ale dobra zasada nakazuje w przerwaniach umieszczać jak najmniej kodu. [syntax=basic4gl] $regfile...
W jaki sposób w trakcie działania programu na uC zmienić prędkość transmisji - Baud Rate? Napotkałem następujący problem, na który nie znalazłem niestety odpowiedzi. Transmisja ma przebiegać UARTem między PC a uC (ATmega32). Aplikacja uC ma mieć możliwość zmiany Baud Rate w czasie pracy. Załóżmy,...
Witam jestem początkujący w dziedzinie procesorów i potrzebuje pomocy w dopisaniu kodu do regulacji pwm. Mam zamiar zrobić zegar binarny kolegi "joboo" zegar binarny joboo $regfile = "m8def.DAT" $crystal = 16000000 Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies...
MOC3041 się nie nadaje do układu z regulacją PWM. Ten optotriak ma detekcję prsześcia przez zero i nie włączy się w innym czasie. Użyj czegoś prostszego np moc3021. Musisz zrobić własny detektor przejścia przez zero i podłączyć pod któreś przerwanie zewnętrzne. Jak przyjdzie przerwanie...
Witam, ja na początek zareklamuję kolegę _ImPuLs_ z elektrody i jego portal. Mnie osobiście przy programowaniu AVR-ków jest przydatny. Link główny to: Kolejne linki to do rejestrów ATMega8 i ich opisów: [url=]REJESTRY ; [url=]OPISY Na stronie jest naprawdę bardzo wiele fajnych...
A oto i cały kod programu: [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define w8 while(bit_is_clear(UCSRA,UDRE)) {} #define wej_1 PA2 #define wej_2 PA3 #define wej_3 PA4 #define wej_4 PA5 #define VREF 5.0 void send (int liczba) { int...
Witam Mam następujący problem , chciałbym do swojego projektu użyć wbudowany komparator w atmedze32, z tego co wyczytałem to można ustawić wewnętrzne napięcie ref 2,46 na dodatnią nóżkę a na ujemną swoje napiecie i przy U+>U- na bicie ACO wystawi mi logiczną jedynkę. Ponadto ustawiłem...
Zanim włączysz konkretne przerwanie włącz przerwania globalne. wpisz tak Enable interrupts Enable int0 Pozdrawiam :)
Witam Układ który męczę od kilku tygodni (z przerwami) to prosty odtwarzacz dźwięku. Sprawa się upraszcza ponieważ nagrane słowo (słowa) umieszczam w pamięci FLASH procesora M168 lub M328 ("słowo" jest poddane obróbce - próbkowanie 16kHz, unsigned) Układ końcowy (filtr dolno przepustowy...
Witam, mam problem z poprawną obsługą trybu CTC timera 0 w Atmega16. Taktowanie z wewnętrznego RC 8 MHz. Na wejście INT0 (aktywne zboczem narastającym) podaję prostokątny sygnał kluczujący o f=50 Hz i wypełnieniu 25%. W każdym okresie tego sygnału chcę go próbkować cztery razy - 20...
Witam. Ostatnio zainteresował mnie pomiar natężenia światła, potrzebuję go do wykonania projektu. Pomiar dokonuje czujnikiem TSL235R, który podaje mi odpowiedź w formie częstotliwości. Chciałbym aby ktoś przyjrzał się temu co narazie wklepałem do kompilatora, bo nie jestem pewien,...
Przerwania zewnętrzne INT mogą reagować na zbocze rosnące, opadające lub na jedno i drugie. W procedurze obsługi przerwania tylko ustawisz flagę, którą potem analizujesz.
Witam, mam problem z odbiorem kodów rc6 a mianowicie sprawdziłem specyfikacje mojego pilota na stronie lirc/remotes i jest to kodowanie właśnie rc6 szukałem po internecie i niewiele się mówi o tym i innych kodowaniach niż rc5. Znam czasy między bitami i z czego się składa ramka danych w rc6....
1. TL431 nadal błędnie podłączony. Zobacz w ds jak należy go podłączyć, a nie patrz na kolorowy obrazek bez komentarza mówiącego, że jest to układ do pomiaru natężenia prądu. 2. Zwarcie resetu do zasilania. 3. Zadeklaruj zmienne prawidłowo to nie będzie błędów. 4. A co to jest:...
Schemat wygląda następująco: Przeglądnąłem instrukcję do TC72 i napisałem do do odczytu pojedyńczej temperatury. Zaraz sprawdzę czy działa tylko muszę napisać jeszcze funkcje do wyswietlacza. Mam parę wątpliwości otóż w inicjalizacji SPI ustawiam SCK i MOSI a SS i MISO jako wejścia....
Spróbuj tak: odczyt [syntax=c] if(eeprom_is_r... eeprom_read_block(&ustawienia,&ustawieni... blokada przerwań if(eeprom_is_ready()) { eprom_write_block(&ustawienia,&ustawieni...
Program zajmuje 50%. Może i jest źle napisany ale działa.. Ja bym to stwirdzenie troche skorygował; Program działa tak jak jest napisany!... bo - "Jest jeszcze jeden problem." Co jakiś czas temperatura podskakuje o 10 stopni a czasami nawet do 200 podskoczyło co spowodowało...
Jak chcesz za pomocą 10-bitowego ADC obsłużyć więcej niż 10 przycisków? Jeśli przycisk przyjmuje dwa stany, to do ich reprezentacji potrzebujesz 1 bita, masz 14 przycisków, czyli potrzebujesz co najmniej 14 bitów z ADC, a tylu nie masz. Oczywiście problem nie istnieje, jeśli na raz można...
Witam, mam mały problem ze sterowaniem silnika krokowego za pomocą potencjometru. Postaram się szerzej opisać mój problem. Podczas działania programu wartość ADC dość mocno skacze mimo zrobionego zabezpieczenia. Silnik gubi kroki. Do celów testowych używam płytki prototypowej z procesorem...
Cześć Robie nadajnik i odbiornik podczerwieni w jednym korzystam z przerwania od przechwytywania czy na czas nadania muszę zablokować przerwanie wywołane zboczem opadającym lub narastającym (Timer1).Czy może nie muszę?????????
No to mniej więcej mamy jasność. W pierwszym poście, kol. BlueDraco wskazał ci przyczynę - wyłączenie nadajnika w trakcie nadawania danych. Zapisujesz coś do bufora, skąd to coś jest wysyłane kiedyśtam w przerwaniu. Ale ty wcześniej sam sterujesz linią DE. IMHO wywal ten cały zbędny...
Ja bym to zrobił tak. Jeśli czasy będą w sekundach. Ustawić CTC na 1 sekundę. W pętli głównej, lub przerwaniu ADC w zależności od wartości ADC ustawiamy zmienną x. Jeśli x > 0 to led świeci. A w przerwaniu od CTC deinkrementujemy x, x--;
Witam, używam do obsługi wyświetlacza LCD HD44780 bibliotek z książki Tomasza Francuza. Program działa, ale mam problem jak go zmusić do odczytywania stringów z flasha. Próbuje stworzyć tablicę etykiet we flashu do zmiany lokalizacji językowej programu, aktualizacja wyświetlania jest...
witam ! tematów dotyczących niedziałającego PCF 8583 w Proteusie było już kilka jednak w internecie krąży przykład napisany w asm,który działa również u mnie. W sumie sam nie wiem co tu wrzucić,bo gdybym wrzucił wszystko to nikt by tego nie przeczytał. Najkrócej więc jak się da: Przekopiowałem...
Ten program jest źle napisany w sensie samych założeń i zrozumienia tematu. U góry w pętli masz warunek że kiedy przyciśnięty przycisk to Call Pwr_off Call powoduje że na stos czyli $Hwstack (u Ciebie pojemność 40B) zostaje odłożony adres powrotu. Call to skok z założeniem że...
Witam !! Napisałem program na sterowanie pilotem. Nie działa mi set Led_2. Przycisk 2 z pilota wykonuje warunek ale nie setuje portb.2 ? Co jest [syntax=c] $regfile = "m8def.dat" 'rejestry mikrokontrolera atmega8 $crystal = 8000000 'częstotliwość taktowania mikrokontrolera $baud = 9600 Config...
Dane USART prądkosc 57600 Trochę szybko jak na AVR, jedno wejście da radę ale więcej? Wątpię? Trzeba by ustawić przerwanie PCINT na wejściu i wysterowywać odpowiednie wyjścia. Aby program był szybki, przerwanie NAKED. Operacje na GPIO nie zmieniają rejestru stanu, więc nie trzeba nic...
Póki co próbuje na Atmega32 bo taki mam zestaw Wymień na Mega324. Jak dla mnie, najważniejsze różnice to: - przerwania od każdego GPIO - przerwania od WDG Jak pamiętam max taktowanie to 20MHz a nie 16. Skoro to zestaw to pewnie procek w DIP a M324 to odpowiednik pip-pin Mega324. Inną...
Witam. Mam problem. Zrobiłem generator jak na rysunku poniżej: Potrzebuje mierzyć w czasie rzeczywistym częstotliwość jego pracy. Chcę zrobić na Atmedze8 którą posiadam. Podłączyłem do niej wyświetlacze siedmiosegmentowe i napisałem w C ich sterowanie. Moja pierwsza próba: Najpierw...