Czy RTC (zegar czasu rzeczywistego) używający Timera 2 w trybie asunchronicznym , działa nawet wtedy gdy wyłączone sa przerwania globalne ? ... kwarc, preskaler oraz Timer2 nie potrzebuje przerwań ale to nie wystarcza do zrobienia całego RTC to wystarcza do zrobienia przerwania co 1 sekundę a reszta zegara musisz zrobić programowo i to właśnie na przerwaniu...
http://obrazki.elektroda.pl/5579748400_1... Dendy Keyboard Transformer - podłącz klawiaturę i magnetofon do Pegasusa! Artykuł powstał jako opis zmagań z próbą zrobienia reprodukcji kardridża Keyboard Transformer - rosyjskiego wynalazku, który umożliwia pisanie programów w BASICU. Kardridż udostępnia gniazdo klawiatury i magnetofonu...
http://obrazki.elektroda.pl/9589280700_1... HPS 2014 Hybrydowy laboratoryjny zasilacz sieciowy. Parametry użytkowe zasilacza w skrócie: 1. Wykorzystanie tanich i łatwo dostępnych elementów. 2. Wydajność prądowa min 3A (dla niskich napięć może dochodzić do 5A). 3. Rozdzielczość DAC 12bit. (filtrowany PWM 4.9kHz) 4. Rozdzielczość ADC...
1. idealnie to analizujesz, dokładnie tak zapis 16bit może być podzielony przez przerwanie 2. leczy się to przez rzeczywiście wyłączenie przerwań ORAZ jako baza zadeklarowanie zmiennej jako volatile (wielu wierzy tylko magiczna moc volatile - błąd). Przywrócenie przerwań jest IMHO ładniejsze, jak ma charakter "push stan przerwań / disable / algorytm...
Po kilku godzinach program odpaliłem ..... podświetlanie się załącza dopiero po naciśnięciu kilka razy klawisza, monitor pokazuje start i numery naciśnietych klawiszy i to nie za każdym naciśnięciem. nie wiem jak "zatrzymać" dany ekran menu żeby zrealizować inna funkcje np; zmiana stanu wyjścia /* * sterownik który wykończy mnie i innych ..............
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, W programie przedstawionym poniżej nie zostaje wywołana obsługa przerwania. Próbowałem na innych timerach tez bez skutku. AvrStudio 6, Atmega8a, optymalizacja O2. [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include "utils.h" #include "display.h" int main(void) { LEDInit( ); Display(0); //Init Timer 0 TCNT0 = 6; TCCR0...
Potrzebuje dwa przyciski i postanowilem wykorzystać w tym celu przerwania zewnętrzne int0 i int1. Napisalem programik ale chyba coś poplątałem bo zwarcie do masy (przez przycisk) portu int0 nie powoduje uruchmienia podprogramu przerwania. Program wygląda następująco, jeśli ktoś ma chwilkę to proszę o podpowiedzenie czy procedura obsługi int0 jest poprawna....
Witam. Mam pewien problem z programem. Generalnie układ posiada 3 przyciski. Kontaktron - generuje przerwania (nie sugerować się nazwą, testuję to na zwykłym switchu) P_zeruj - Przycisk od zerowania wyniku P_mierz - Jeśli jest w stanie 1 to przerwania są włączone jeśli nie to wyłączone. I tu pojawia się problem. Jeśli P_mierz ustawię w stan 0, to przy...
Witam. Mam problem z przerwaniem zewnętrznym Int0 w Atmega8. Chodzi o to, żeby po naciśnięciu przycisku podłączonego do końcówki Int0 wykonała się procedura obsługi przerwania. Napisałem wręcz helpowy program i nie działa. Jest takie coś, że od razu po włączeniu procka wykonywane jest przerwanie (na dodatek przez cały czas). Próbowałem też wyłączyć...
Witam. Projekt, który realizuje wymaga minimalizacji poboru energii. Stąd tez chcę usypiać procek i w razie potrzeby budzić zewnętrznym przerwaniem INT1. Układ się usypia, po wybudzeniu (przerwanie stanem niskim) wykonuje raz pętlę while(1), a następnie łapie zwiechę. jakby było ciągle wyowływane przerwanie. Próbowałem, bezskutecznie, ręcznie ustawiać...
Próbuję zrozumieć działanie przerwań i coś mi to nie wychodzi, chciałem uzyskać efekt że po naciśnięciu przycisku program który jest w pętli nieskonczonej obsługuje przerywanie ale mi to nie wychodzi, o to fragmenty kodu: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> ENABLE_INT0_FLAGING; waitms(unsigned...
Mam kawałek prostego kodziku. Gdy sei jest zakomentowane, diody mrugają (na porcie D), gdy włącze przerwania, na porcie D jest cały czas 0. Wygląda jak by proc sie zawieszał. Zapewne problem jest błachy i oczywisty, ale patrze w to już 2 dzień i nie moge znaleźć. Może ktoś powiedzieć co jest nie tak ? #define __AVR_ATmega8__ #include "avr/io.h"...
Witam. Próbuję uczyć się C na Atmedze 8 i mam problem z obsługą przerwania. Kod wygląda następująco (z resztą pisany na podstawie kursu z EdW): #include <c:\WinAVR-20090313\avr\include\a... #include <c:\WinAVR-20090313\avr\include\a... #define F_CPU = 1000000 int volatile wyjscia; int indeks; int main (void)...
Przeszukałem elektrode i dokumentacje ale chyba dalej źle coś robie :/ Próbuję obsłużyć przerwanie na opadającym zoboczu zwewnętrznego przerwania INT0 (PD2): int main (void) { DDRD = 0xFA; // 1111 1010 PORTD= 0x05; // 0000 0101 MCUCR=0x02; MCUCSR=0x00; GIFR=0x40; GICR|=0x40; sei(); while (1) {...} return 0; }...
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 ,\za zadnego nie moge zmusic by zareagowal na przerwanie... listing programu ponizej .... jest to przyklad. bardzo prosze o pomoc. p.s. wylaczony JTAG listing: $regfile = "m16def.dat" $crystal = 8000000 Config Pind.3 = Input Set Portd.3 Config Portd.5 = Output Config Portd.6 = Output Led Alias Portd.5 Led2 Alias Portd.6 Enable Int1 Config...
Jest sobie układ na ATMEGA8 na defaultowym zegarze, z LCD, MAX232, i przekaźnikiem podłączonym do portu B. MAX232 jest połączony poprawnie z prockiem, bez przerwań jestem w stanie odbierać dane z RS232, nic się nie wiesza, ogólnie działa. Jednak żeby nie było mi zbyt dobrze, to wymyśliłem sobie że umieszczę obsługę RS232 na przerwaniu, po to by oczekiwanie...
Jak po przyjęciu int0 ,zablokować go na czas (500 ms), odblokowując int1, po tym czasie ponownie odblokować int0, blokując int1 itd.? czas dowolny (rcall czas).
Od razu mówię że kasowanie bitu nr 6 w rejestrze GICR nic nie daje, bo jedynie ukrywa przerwanie przed procesorem do czasu włączenia przerwania. Bit ten jedynie ukrywa przed procesorem ustawienie flagi. Flaga jednak i tak zostanie ustawiona przy zmianie stanu pinu PortD.2, nawet jeżeli wyłączy się przerwanie. I jeżeli włączy się przerwanie to procesor...
Witam, Tak jak w tytule mam dość dziwny problem. Napisałem sobie bardzo prosty program w którym chciałem zobaczyć jak działa ADC + sterowanie serwem modelarskim. Doświadczenia robię na płytce stykowej. Wygląda to tak że jeśli odczytuję rejestr ADCH w nieskończonej pętli programu (mam ustawiony tryb free running) to wszystko działa ok. Natomiast jeśli...
Witam Piszę program, który ma mierzyć długość impulsu podawanego z zew. źródła jakim jest odbiornik RC, częstotliwość impulsów to 50Hz, a ich długość mieści sie w przedziale 1ms-2ms. To mój pierwszy program na AVR w którym obsługuje przerwania zew. i mam pewien problem, program już napisałem, sprawdziłem go na symulatorze i wydaje się działać poprawnie,...
Witam! Czy jeżeli wyłącze ADC przez rejestr PRR to będę musiał przed tym wyzerować bit ADEN w ADCSRA?
Witam Mam pytanie jak obudzić procesor w przerwaniu. Jak usypiam w głównej pętli while usypianie i budzenie działa jak powinno. Ale chciałem usypiać na INT1 a na INT0 budzić lub na INT0 budzić i usypiać (co chyba jest bardzo trudne). [syntax=c] void sleepNow() { MCUCR|=(1<<SM1); MCUCR|=(1<<SE); asm volatile ("sleep"::); } int main(){ serialInit(9600);...
(at)R-MIK Dałem ci link do product selector, nawet ci ustawiłęm parametry zgodnie z tym co napisałeś - min taktowanie 20 MHz, 64 piny. Kolejna sprawa - jak pisałem timer nie jest na ATMega optymalny do generowania pojedynczych, krótkich impulsów. Do tego służy inny, dostępny na ATMega układ peryferyjny. Zupełnie pomijasz też fakt, że w C prolog i epilog...
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...
Przerobiłem program na Atmega328. Teraz ma tylko odbierać dane z master na Atega1284p i wysyłać do Domoticz. [syntax=vbnet] $regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 100 ' rozmiar stosu sprzętowego $swstack = 100 ' rozmiar stosu programowego $framesize = 128 $baud = 19200 '************ Uart 0 Config Serialin0 = Buffered , Size = 150 ,...
Atmega jest taktowana zewnętrznym kwarcem 12MHz, żeby jeden tick timera trwał ~1us. 1. Czy timer 8-bitowy przyjmujący zewnętrzne impulsy, może je przyjmować w takich samych odstępach czasowych jak 16-bitowy? Niestety na etapie projektowania nie zauważyłem, że żeby użyć 16-bit timera do przyjmowania impulsów zewnętrznych należy użyć nóżki T1, a nie T0,...
Sprawdzałem dlatego i Enable i Start. I nadal brak skoku do przerwania. Wiem co jest przyczyną. W moim działającym programie mam przed inicjacją karty dodane miałem wyłączenie przerwań: CLI I odtwarzanie pracuje poprawnie. Usunięcie tej linii powoduje brak odtwarzanie w pętli głównej i tym samym ciszę ale następują skoki do przerwania od timera1. Tak...
Witam Poniższy program mierzy długość trwania impulsu / stanu niskiego podanego na INT1. Pomiar jest wyzwalany przerwaniem, zboczem opadającym, następnie następuje włączenie timera i przestawienie przerwania na zbocze narastające. Gdy ono nastąpi jest wyzwalane kolejne przerwanie, które zeruje zatrzymuje timer. Odczyt timera (rejestr TCNT1) następuje...
Wysyłanie: // wcześniej musi być: // UCSRB &= (~(1<<TXCIE)); // UCSRB |= ((1<<UDRIE)); // UCSRB |= ((1<<TXEN)); ISR(USART_UDRE_vect) { UDR = ZmiennaDoWyslania; // wyłączenie przerwań od możliwości załadowania bufora UCSRB &= (~(1<<UDRIE));...
Wykonałem syntezę do radia ze strony http://sq1ftb.prothost.pl/articles.php?a... http://obrazki.elektroda.pl/2235817300_1... Generator i separator działa, scalak syntezy LM7001 pracuje z kwarcem 7,2MHz, po wyjęciu jego Atmega prawidłowo "milczy" tzn. brak wtedy wyświetlania częstotliwości zmian na enkoderze itd. Ta część programu...
Witam Szanownych Forumowiczów, w aktualnym projekcie muszę wygenerować trzy interwały czasowe z regulowaną długością. Poglądowy rysunek dołączony jest jako załącznik. T1ON powinien mieć regulację 1-100us, T2OFF (możliwie krótko - 5us), T3ON (możliwie krótko - 5us). Wykorzystywana przeze mnie Atmega taktowana jest zewnętrznym zegarem 20MHz. Wynika z...
Zaleca sie uzywanie ISR() zamiast SIGNAL(). Makro SIGNAL() będzie w przyszłości usunięte, ISR() robi dokładnie to samo. W zasadzie jako argumentów tych makr powinno się używać SIG_OVERFLOW2 zamiast TIMER2_OVF_vect, ale to akurat nie powinno być przyczyną niedziałania, bo obie te konstrukcje znaczą dokładnie to samo. TIMSK =((1<<TOIE2));...
Witam Kod jak poniżej służy do zliczania czasu trwania jednego impulsu (ta funkcja działa prawidłowo) oraz do zliczania czasu (w celu zliczania ilości impulsów na jednostkę czasu). volatile unsigned char pomiar = 0; volatile uint32_t cw_impuls,impuls = 0; unsigned char sreg; float tc1; char czas[8]; void Inicjalizacja(void) { LCD_init();...
Witam, zmontowałem sobie prosty układ do komunikacji z PC. Komunikacja następuje przez przejściówkę USB <>UART opartą o FT232R. Wszystko pięknie działa do momentu, kiedy zmieniam baud rate na <190 - mikrokontroler sygnalizuje, że taki baud rate jest możliwy do ustawienia, natomiast po zmianie w Real term komunikacja nie następuje. Poniżej wklejam...
Nie mam zielonego pojęcia jak Wy to widzicie na unii. Ja zrobiłem to mniej więcej tak: Mile widziane jakieś poprawki, wskazówki, itp ;-) Z góry dzięki za pomoc. pozdrawiam #define RDYPB4 #define TIMER_CLOCK 2 //#include <avr/interrupt.h> // dolaczenie standardowych bibliotek obslugi przerwan bez blokady (obsluguje signal.h) #include <avr/signal.h>...
Proponował bym Ci na początek zrobienie komunikacji między PC a jednym z tych ATMEL-i. Wtedy będziesz wiedział o co chodzi. Mój program dla ATMEGA16 w BASCOM-ie wygląda tak: $crystal = 16000000 ' mam kwarc 16 Mhz $baud = 9600 ' prędkość na RS-ie Config Com1 = Dummy , Parity = None , Stopbits = 1 , Databits = 8 ' konfiguracja portu Echo Off ' nie chcę...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Program bez przetwornika ADC. Program działa prawidłowo Dodano po 42 Od kiedy praca dyplomowa jest tajna? Pytam z ciekawości- kiedyś była jawna na całym etapie pisania. Dlaczego w pętli głównej blokujesz przerwania- potem wykonujesz sporo obliczeń- a potem odblokowujesz? A co będzie jak w tym czasie pojawią się dwa przerwania? Jedno pójdzie się kochać....
Witam , mam nadzieję iż nie zanudziłem bez reszty.. W zestawieniu z moimi "dokonaniami asm." kolega michalko12, jest najbliższy temu co ja kiedyś robiłem . Oto wersja asm z przełącznikiem kompilacji aby kompilować jako samodzielny plik - kto chce ->ten może :D ( ta wersja to 16-timerów, 16-nasto bitowych, każdy cztery tryby konfiguracji, oczywiście...
Jeszcze jedno. Na czas wyświetlania grafik wyłącz wszystkie przerwania.
Chodzi mi o to że w bascomie żeby przerwania działały musisz włączyć globalną obsługę przerwań, i dopiero konkretne przerwanie. Do tego widzę że nie ma jak się wykonać podprogram "readir" bo masz wyłączoną globalną obsługę przerwań. Proponuję : [syntax=basic4gl] Config Rc5 = Pine.4 On Int4 Readir Config Int4 = Low Level Enable Interrupts Enable Int4...
1. ok, z 1 się wycofuję bo masz zrobione zewnętrzne pull-upy ale niepotrzebnie mnożysz rezystory, gdyż takowe są wewnątrz procesora - wystarczy tylko włączyć je z poziomu programu. 2. to teoretycznie może powodować problem - najlepiej sprawdzaj przerwania w jakiś inny sposób - np. w każdym tylko zapalać lub gasić diodę 3. Rozumiem istotę Twojego problemu,...
to specyficzny program i nie musze wracac z przerwania brakuje mi tych 2 cykli
Tak. Tylko mniej świadomość że procek będzie odrywany od pracy wieloma nieprzydatnymi impulsami. Ewentualnie po pierwszym impulsie na INT, wyłącz przerwania na czas drgań. Jak teraz masz podłączony kontrakton ? INT podciągnięty pod +5V ? Jak INT wyzwalasz ? W docelowym projekcie koniecznie czujnik kontraktonowy zamień na jakiś halotron albo transoptor...
W przerwaniu USART_RXC musisz odczytać UDR niezależnie od warunków umieszczonych w kodzie, najlepiej, kopiując wartość tego rejestru do lokalnej zmiennej, tuż na początku funkcji. Jeżeli tego nie zrobisz, procesor zakolejkuje kolejne przerwanie. Piszę to na podstawie dokumentacji AVR8. W Twoim przypadku, gdy bufor odbiorczy się zapełni i nadejdzie kolejny...
Po co podajesz PWM na wejście sterownika silnika - na jego wejściu powinien być przebieg, którego ilość zboczy (opadających lub narastających w zależności od sterownika) odpowiada ilości kroków do wykonania w zadanym innymi wejściami kierunku. Zatem nie generuj tych przebiegów za pomocą PWM, ale za pomocą timera. Częstotliwość przerwań będzie wtedy...
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 nieczytelny. 4. Rejestr UDR odczytujesz wielokrotnie w przerwaniu....
Przerwania są wyłączone i trzeba zezwolić na konkretne przerwanie i w ogóle na jakiekolwiek przerwania.
Najdłużej tam pewnie trwa oczekiwanie na wynik pomiaru ADC który jest dodatkowo podwójny. Bascom robi dwa odczyty jeden za drugim. Można to wyłączyć, ale pomyśl o samym oczekiwaniu na konwersję. Gdyby to było poza przerwaniem to inne przerwanie spokojnie mogłoby to oczekiwanie przerwać tak jak można przerwać każde Waitms. Spróbowałbym w przerwaniu ustawić...
Czekaj, czekaj. Jeden czujnik odpali przerwanie INT0 a w tym przerwaniu sie uruchomi timer. Drugi czujnik po INT1 ma go wyłączyć. Raczej o tym myślałem. Lepiej tak: czy ktoś by mi dokładnie wytłumaczył jak wywoływać timery, zbierać z nich czas, do czego służą poszczególne rejestry. Noty katalogowej tego procka po polsku nie znalazłem, a dobrego poradnika...
Z tego co napisałeś to problem jest banalny, tylko chyba źle się za to zabrałeś. Nie bardzo rozumiem to: ...wyświetla je na diodach bit po bicie. Czy mam to rozumieć tak, że diod jest 8 i każda odpowiada jednemu bitowi bajtu? Czy jak już bit został ustawiony na porcie, to ma tam pozostać do zakończenia wyświetlenia całego bajtu? Czy przez te 50ms pomiędzy...
Odbiór znaków rób w przerwaniu i zapisuj je kolejno do bufora. W przerwaniu tym włączaj lub resetuj przerwanie timera tak, aby przerwanie timera było wyzwolone dokładnie 3,5 znaku później. Jeśli w tym czasie przyjdzie jakiś znak resetuj timer i cykl będzie mógł powtórzyć się, jesli jednak znak nie zostanie odebrany w tym czasie przerwanie timera wyzwoli...
Jesli dobrze masz ustawiony zegar (domyślnie 1MHz czyli w bascomie wpisujesz 1000000) wyłącz przerwania bo z nimi masz problem.
Natomiast drążąc dalej temat jak wyjaśnić to, że na atmedze16 przy identycznej kofiguracji fuse'ów wszystko działało elegancko? Na procku ATmega162 ale podobnie na ATmega88 itp ... też działa elegancko. Tyle, że trzeba doczytać w nocie i pamiętać, że domyślnie Watchdog jest włączony. I wcale nie trzeba go zaraz fusami wyłączać bo po co? Może się często...
Nie podoba mi się twoje rozwiązanie. Ja bym to zrobił tak - timer odmierzający takty w rytm podstawowego okresu PWM (czyli przerwania np. 1kHz). Teraz zamiast tych porównań z licznikami, wrzuć wartość licznika do rejestru compare register. Dzięki temu masz przerwanie po przepełnieniu timera (nowy okres) - w tym przerwaniu inicjujesz wysyłkę danych po...
Idzmy głównym wątkiem bez cofania sie. Tak, uaktywnia ale już wiem, ze było ono przechowywane w SREG. To jest wyjaśnione. W SREG przechowywana jest informacja o fladze I, czyli fakt włączenia lub wyłączenia przerwań globalnych. Nie ma to nic wspólnego z "przechowywaniem" informacji o przerwaniach INTx. Instrukcjami operującymi na fladze I w SREG są:...
Jakoś najbardziej wygląda to na problem sprzętowy. Sugerowałbym sprawdzić czy nóżki 2 i 3 nie są ze sobą zwarte, lub czy zwarcie nie występuje za konwerterem napięć (jeśli jest stosowany). Jeśli nóżka RXD nie jest wykorzystywana, warto podciągnąć ją do stałego potencjału - bo może pływać "w rytm" pinu TXD. Generalnie, żadna ATMEGA nie robiła mi podobnych...
Myślę, że mikro-kontroler będzie idealny. ATmega 8 będzie ok choć moim zdaniem trochę nadmiarowa. Ale jak jest w szufladzie ...jak najbardziej. Co do programu..wydaje mi się, że to raczej dość łatwa sprawa. Np. wejścia układu po obniżeniu napięcia do akceptowalnych przez AVR'a można podać na wejścia INT0 i INT1. Zmiana stanu na wejściu INT0 niech spowoduje...
Witam, myślę że można zrobić to dużo łatwiej. Potrzebny Ci będzie jeden pin z przerwaniem (może być puste) i pomysł na opóźnione przejście w tryb uśpienia.[syntax=c]void sleep_button(int is_pressed) { enum sbstate {SBSTATE_IDLE, SBSTATE_SLEEP, SBSTATE_WAKEUP}; static enum sbstate state = SBSTATE_IDLE; static unsigned int tp; switch (state) { case SBSTATE_IDLE:...
witam, napisałem dwa kody na obsługę i2c master(atmega644p): /* * main.c * * Created on: 16 lut 2018 * Author: Mirosław Kardaś * web: www.atnel.pl */ #include <avr/io.h> #include <avr/interrupt.h> #include <string.h> #include <util/delay.h> #include <avr/wdt.h> #include <avr/pgmspace.h> #include <avr/eeprom.h>...
Witam może pytanie nie w temacie ale nie chcę zakładać nowego tematu bo mam pytanie tylko do jednej linii kodu zapisującego do EEPROM w przerwaniach [syntax=c] ISR(EE_READY_vect ) { eeprom_write_byte(EEPROMPtr, *SRAMPtr); EECR|=_BV(EERIE); //Włącz przerwania EEPROM EEPROMPtr++; SRAMPtr++; EEPROMWrBytes--; if(EEPROMWrBytes) EECR|=_BV(EERIE); //Włącz...
Musisz dawać nam więcej info o tym co zaobserwowałeś. Tak na szybko: - zwiększ na próbę preskaler, by zobaczyć, czy przyczyną nie jest czasem zbyt długie wykonywanie funkcji przerwania. - rozumiem, że zasilanie podłączyłeś prawidłowo? - JTAG wyłączony?
Halogeny też będą zabronione ?? a co do projektu, właśnie zakończyłem projekt na uczelnie gdzie wykorzystuję sterowanie halogenem. jest to zrealizowane w ten sposób, że mam 100 poziomów jasności (0-100%). Sterowanie fazowe oczywiście i triak załączany impulsem. Logicznie, program działa tak: 1) system detekcji zera (transoptor) wykrywa moment w którym...
Czy wiesz co to jest prolog i epilog w assemblerze? Czy wiesz co to jest stos? Z tego co wiem w obsłudze przerwania powinno stosować się krótki i prosty kod, natomiast w moim przypadku potrzebuję po wystąpieniu przerwania przejść do wykonywania programu w pętli. Od takich spraw są flagi (czyli np. zmienne globalne), którym w przerwaniu ustawiasz jakąś...
Chłopaki dajcie na luz. Odbiegamy od tematu. Właśnie wyszła nowa wersja Bascoma 2.0.2 w której dodano : mcs bootloader new reset option. you can send a string for reset. To send special ascii use {}. {027} will send ascii 27. To send { you have to use the ascii value as well since { is used to send special characters. - mcs bootloader can use DTR or...
Wyłącz przerwanie (to od ślimaka) na czas diagnozowania i testowania. Wyłącz wszystkie inne przerwania. Zostaw kod odpowiedzialny za obsługę wyświetlacza, resztę zakomentuj, skompiluj i wgraj taki okrojony program do testowania.
Tak karta SD na sprzetowym SPI a RFM12b na wolne piny wdg deklaracji : Config Rf_sck = Output Config Rf_sdo = Input Config Rf_nirq = Input Config Rf_sdi = Output Config Rf_nsel = Output Ale najpierw spróbuj uśpić RFM12 i wtedy zapisuj na SD może na wspólnej szynie będą chodzić bez zakłóceń Przy nadawaniu i odbieraniu z RFM12B koniecznie należy wyłączyć...
wyłączenie przerwania wyłączenie przerwania przerwaniu przerwania pcint atmega
zapala żółta kontrolka wykrzyknikiem skanowanie komputera wyłączenie formatowanie seagate expansion
triak z0109mn vaillant nagrzewnica
USB-C Headphone Jack Wiring: Identifying M+, M–, R, L Positive and Negative Connections Klimatyzacja Renault Kangoo 1.2 16V 2006 – schemat, czynniki, typowe usterki, Sanden, Denso