Ta linia oznacza że jak w rejestrze ten bit jest ustawiony to wtedy zapal Led. Ponieważ jednak ta flaga jest gaszona podczas wchodzenia do procedury przerwania to w tym miejscu ten warunek nigdy nie będzie spełniony, tak więc Led się nigdy nie zapali
Zawsze obsługa przerwania powoduje skasowanie flagi I, aby pod koniec obsługi flaga została ponownie ustawiona przez instrukcję reti. Jeśli program się przerywa po kilku linijkach, to znaczy posiadasz nie obsłużone wektory przerwań, a to jest błąd w kodzie. Albo wyłącz przerwanie od danego źródła, albo wyłącz przerwania, jeśli z nich nie korzystasz.
Co do programu na megę328: 1. Niepotrzebnie dołączasz sfr_defs.h 2. O F_CPU w kodzie było już miliony razy na forum. 3. Dla ułatwienia obliczeń prędkości polecam util/setbaud.h 4. W rejestrze UCSR0C ustawiasz bity, które po resecie są ustawione. 5. W UCSR0B nie włączasz przerwania od odbioru (bit RXCIE)! Dodatkowo niepotrzebnie stosujesz sumę bitową...
Gdy procesor jest w trakcie wykonywania procedury przerwania, następne przerwanie nie będzie przyjęte , gdyż procesor (nie kompilator!) zeruję flagę globalnego zezwolenia na przerwania. Tak samo flaga bieżącego przerwania (tego, którego procedura obsługi jest wykonywana) zostaje automatycznie wyzerowana. Po zakończeniu przerwania flaga globalnego zezwolenia...
Niby wiem,ale nie wiem co miałbym zrobić. Bo w momencie ruchu enkodera od razu jest zapalana flaga INTF0, więc natychmiast (prawie) przechodzimy do instrukcji przerwania, w której de fakto nie powieniem robić opóźnień oraz pętli, więc w funkcji przerwania nie zapobiegnę drganiom styków. Mogę jedynie wyzerować flagę przerwania jeśli drgania wystąpią...
http://obrazki.elektroda.pl/7995180000_1... Witam! Jakiś czas temu rozpocząłem naukę pisania programów na mikrokontrolery AVR w języku C++. Przeczytałem wiele tutoriali, poradników, itp., aż w końcu doszedłem do pisania własnych, prostych programów. Po kilku takich „pseudoprogramach” zdecydowałem, że teraz czas napisać coś...
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). http://obrazki.elektroda.net/21_12497604... http://obrazki.elektroda.net/58_12497606... http://obrazki.elektroda.net/95_12497605...
niezależnie kiedy odczyta powinno wyzwolić w jednym i tym samym momencie czyli na sygnał pochodządy z int Pod warunkiem, że flaga przerwania od Int0 nie jest ustawiona, w przeciwnym przypadku wykona się natychmiast. Nie wiem czy taka konstrukcja: disable int1 --->wyłącz przerwanie end if Return ---> rzeczywiście wykonuje się RETI, które kasuje flagę...
Witam Utknąłem z moim kodem i plątam sie w koło ciągle, dlatego proszę o pomoc. W podprogramie "przyciski" przerwania od timer0 mam zrealizowany odczyt przycisków i zrobiłem sobie "flagi czasowe" przyciski: 'przerwanie co 26ms . kod sprawdzania przycisków . incr licz if licz=19 then ' flaga co ok 0,5 s flaga_500ms=0 ' w warunkach początkowych flaga_500ms...
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...
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)...
Witajcie Napotkałem następujący problem - Mam układ komunikujący się szeregowo z procesorem w sposób następujący: 1. Układ wywołuje przerwanie 2. Odbieram dane statusu od układu 3. Wychodzę z przerwania i to działa. Problem zaczyna się jeżeli odebrane dane statusu wymuszają w procesorze kolejne operacje z użyciem układu. Ponieważ idzie to tak: 1.Układ...
Witam wszystkich bardzo serdecznie. Chcę zaprogramować uC ATmega8 w taki sposób aby mierzył mi długości sygnałów podawanych na wejście. Oczywiście przy użyciu przerwań. Nie wiem dlaczego program nie reaguje przerwaniem na zboczu opadającym sygnału. Poniżej zamieszczam kod programu. Jeśli mógłbyś zobaczyć i podpowiedzieć w czym tkwi problem byłbym dozgonnie...
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 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...
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, Zmagam się z problemem przerwania w Atmega 8. Bez zagłębiania się w szczegóły mojego projektu, dajcie mi prosze znac czy to normalne zachowanie: 1. Przycisk S1 oraz Impulsator z przyciskiem S2. Impulsatorem "chodzę" sobie po menu i klikam przycisk impulsatora S2, który akurat w tej pętli nic nie robi, przerwania sa wyłączone cli(); ale uruchomione...
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. Temat wątku wziął się stąd, że na forum znalazłem już kilka o podobnej tematyce jednak żaden nie pomógł mi z tym zagadnieniem. Programuję na Linuksie na AtMega8. Napisałem sobie proste biblioteki do obsługi USART oraz TWI jednakże chciałbym teraz spróbować popracować z przerwaniami i tutaj jest problem. Mam taki oto kod: [syntax=c] ISR(USART_RXC_vect)...
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 przerwania (funkcje do LCD są w pełni sprawne, nawet gdy ISR jest...
Po pierwsze - witam na forum (mój pierwszy post tutaj). Włączam obsługę przerwań na początku programu: sei(); GICR =0x40; MCUCR =0x02; zbocze opadające ... ... Na nogę INT0 podpiąłem zwykły przycisk monostabilny (zwiera do masy) z pull-up`em 1KΩ. Jego naciśnięcie powoduje zaświecenie diody na innym wyjściu. (może trywialne, ale dopiero się uczę)...
Witam , Zaczynam z AS6, dotąd używałem 4.18 głownie z asemblerem Pytanie dotyczy możliwego błędu symulacji prostego kodu w AS6, do potrzeb zapytania sprowadzonego do wersji jak niżej : http://obrazki.elektroda.pl/4044092400_1... również wygenerowany kod obsługi jest poprawny http://obrazki.elektroda.pl/7240738500_1...
prosze oto kod mam problem z ogarnięciem dlaczego nie zlicza mi sygnałów z int0 #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h> // funkcje sei(), cli() #include <avr/signal.h> // definicje SIGNAL, INTERRUPT #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include...
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).
Witam. Proszę o sprawdzenie poprawności kodu.Chciałem zastosować zewnętrzne przerwanie INT0.Po podaniu niskiego poziomu na INT0 chciałbym uzyskać negacje bitów portu C0 i C1, przy czym zawsze mają one mieć wartości przeciwne. ISR(INT0_vect) { if( !(PINC & 0x02))//negacja PC0 i PC1 { PORTC |= _BV(PC1); PORTC...
Witam :D Mam problem z obsługą przerwań. Otóż poniżej zamieszczony program w przypadku normalnej pracy wyświetla na wyświetlaczu "1" w przypadku wykrycia stanu niskiego na porcie INT1 wyświetla "0". Niestety program wykonuje 2 - 3 przejścia pomiedzy stanem niskim --> wysokim --> niskim -->... i następnie przestaje reagować na zmianę stanu portu...
Może mi ktoś powiedzieć co jest nie tak z tym kodem. Próbuje obsłużyć przerwanie przepełnienia timera 0. Licznik działa ale obsługi przerwania brak. #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h> // funkcje sei(), cli() #include <avr/signal.h> // definicje SIGNAL, INTERRUPT volatile int time,overflow=0; SIGNAL...
Sorry że tak późno, ale komuś może się przyda. [syntax=csharp]#include <stdio.h> #include <avr/io.h> #include <avr/interrupt.h> #include "hd44780.h" volatile char dziesiatka = 0; volatile int sekunda = 0; volatile int flaga = 0; char tekst[10] = "Gotowy"; int main (void) { TCCR1A = ((0 << WGM11) | (0 << WGM10)); // ustawienie...
Będzie czekał. AVR po wejściu w proc przerwania blokuje globalne przerwania. Jak robisz RETI (wyjście z proc. przerwania) to włącza się flaga I w SREG. Ale jak takie coś napiszesz, to program pójdzie w maliny :D Bo... po wyjściu z proc. przerwania wykona się ona natychmiast ponownie:)
właśnie nie mam,nie mam żadnego przerwania włączonego wedle książki powinna się pokazać gdy uart poradzi sobie z wysłaniem znaku tak jak to robi przy odbiorze
Jeśli w procedurze obsługi przerwania jest sprawdzany warunek: ... if (! (PIND & 0x04)) ... to chyba ma znaczenie, na jakie zbocze przerwanie reaguje? Dodano po 31 Jeszcze jedna uwaga, która mi się nasuwa. Skoro styki mają drgania, to po wejściu do procedury obsługi przerwania jego flaga zostanie ustawiona ponownie. Jak skończy się...
SIGNAL(vector) { asm volatile(""::)... } jak i twoja wersja wykorzystująca ISR(vector) ISR(vector) { asm volatile(""::)... } generuje dokładnie ten sam kod: __vector_X: /* tu prolog */ /* kod */ /* tu epilog */ reti Tak utworzona funkcja przerwania blokuje pozostałe...
Napisałem więcej punktów więc może pomieszałem. W tej strukturze będą znajdować się bufory w formie tablicy 100 bajtów, oraz spora ilość flag pomiędzy wątkiem głównym a przerwaniami i różne zmienne pomocnicze. Taki sposób jak zaprezentowałem ma pewną zaletę: łatwo debagować, bo w dowolnym momencie mogę podejrzeć całą strukturę, wszystkie bufory itd....
Dwie istotne informacje z helpa AVR. Gdy procesor jest w trakcie wykonywania procedury przerwania, następne przerwanie nie będzie przyjęte, gdyż procesor (nie kompilator!) zeruję flagę globalnego zezwolenia na przerwania. Tak samo flaga bieżącego przerwania (tego, którego procedura obsługi jest wykonywana) zostaje automatycznie wyzerowana. Po zakończeniu...
Co pewien wybrany przez Ciebie czas Timer generuje przerwanie. Co jaki czas- mniej ważne, ważne żeby to był najmniejszy czas jakiego potrzebujesz. W programie osługi przerwania umieszczasz jakieś zmienne- powinny one być zdeklarowane jako volatile przed main()- będą wtedy globalne i volatile. Ja to robię tak- volatile uint8_t (albo uint_32_t) flaga1,...
Sprawdziłem i program w ogóle nie wchodzi do warunku if(Flaga==1). W przerwaniu Flaga jest ustawiana bez problemu, jednak mimo to program nie wykonuje instrukcji w if(Flaga==1). Ma ktoś jakiś pomysł dlaczego?? Dodano po 5 Hmm. Miałeś racje z tym volatile. Dałem volatile int Flaga i teraz jest OK. Dzięki Dodano po 1 Witam ponownie. Przetestowałem wszystkie...
Witam Mam płytkę sterującą dwoma kanałami PWM - przez ULN oraz MOSFETY. Płytka ma dwa wejścia oraz wejście czujnika PIR - INT1. Ma przede wszystkim sterować włączaniem taśmy LED 12V z czujnika PIR ( oprócz tego z drugiego wejścia ). LED włączona przez PIR ma docelowo świecić określoną ilość czasu ( zależną od natężenia światła ) i się wyłączyć. Żeby...
Alternatywą jest pomysł asemblera czyli przerwania. Można by wykorzystać tak zwane "software'owe przerwania". Czyli wybierasz sobie dowolne nieużywane przerwanie, w jego obsłudze umeszczasz pętle opuźniąjącą powiedzmy na 1s i przed RETI ustawiasz flagę przerwania (tego samego w którego obsłudze jesteś). Procek wyjdzie z przerwania i zobaczy że znowu...
Jak przerwanie pierwsze jest wykonywane i w tym czasie wystapi drugie, to flaga drugiego bedzie ustawiona dopoki nie skonczy sie pierwsze, czyli jak sie pierwsze skonczy to zacznie sie drugie. A w AVRach jest wektor przerwan, ale ustala on kolejnosc tylko wtedy, jak wystapia przerwania w jednym cyklu zegarowym.
Nie wiem, nie jestem specjalistą, ale trudno mi się zgodzić z tym, że Twój kod przerwania jest bardziej optymalny (jeśli już na optymalność wkraczamy, a w przerwaniach ona jest priorytetowa). 1. Instrukcja switch działa trochę szybciej od if. Chociaż nie wiem czy instrukcja switch sprawdza warunek tyle razy ile jest case'ów (oczywiście do napotkania...
Spróbowałem własnych sił i oczywiście z pomocą forum, stworzyłem taki kod: int flaga=0; // flaga czy INT0 jest "0" czy "1" int a=0; // zmienna zwiększana przy każdym przepełnieniu licznika 0 int main(void) { //ustawienia wejścia INT0 DDRD&= ~(1<<DDD2); // konfiguracja - WEJSCIE ustawianie zera PORTD|=1<<PIND2;...
Tak się zastanawiam, czy to nie powinno działać?: [syntax=basic4gl]Rc5: Disable Int0 ' wyłącz przerwanie INT0 Gifr.intf0 = 1 ' skasuj żądanie przerwania z INT0, UWAGA!!! to nie jest błąd, żeby zgasić ten bit należy wpisać 1 Enable Interrupts ' SEI Getrc5(adres , Kod) If Adres = 0 Then Kod = Kod And &B01111111 End If Set Flaga Disable Interrupts ' CLI...
Witam Wiadomo, że trzeba przygotować dane dla wyświetlacza i zmusić DSa do odczytu. Z DSem jest tak, że układ potrzebuje niecałej sekundy (0.7-0.8s), żeby przetworzyć temperaturę na postać cyfrową. Jednak sam odczyt z układu trwa znacznie krócej. W związku z tym proponuję w obsłudze przerwania wyświetlaczy (na początku) wysłać komendę do DSa aby zaczął...
Musisz opracować własny protokół wymiany danych. Jeśli rozkaz wraz z jakimiś dodatkowymi bajtami ma np. 5 bajtów, to warto odbierać je do jakiegoś bufora i dopiero po odebraniu wszystkich rozpoznać jaką paczkę danych odebrano. Z reguły o tym co dana paczka zawiera decyduje co najmniej pierwszy bajt lub kilka jego bitów. Równie dobrze może to być aż...
Możesz zastosować ten sam algorytm, który napisałem wcześniej. Nie napiszę za Ciebie programu, ponieważ było by to dla Ciebie szkodliwe. Spróbuj wykorzystać ten pseudo kod: 1.1. Na etapie inicjalizacji układu: - konfigurujesz wejścia !INT0 oraz !INT1 jako wejścia generujące przerwania w reakcji na zbocze opadające, - timer T1 konfigurujesz do trybu...
Już kiedyś pisałem o błędach bascoma w obsłudze przerwań (raz wywołane jest potem cyklicznie generowane pomimo, że czynnik wywołujący przerwanie już zanikł, bo bascom zapomina przy kompilacji kodu o fladze w rejestrze przerwań). Ale tu Bascom nie ma nic do rzeczy, flaga wystąpienia przerwania jest kasowana automatycznie przez procesor gdy włączona...
Witam Mam płytkę z Atmega8 połączoną z czujnikiem PIR ( wejście INT1 przez transoptor ), do tego pomiar ADC ( od wartości adc zależy czas po jakim PWM będzie zmniejszone, opcjonalnie chcę też pod INT0 podpiąć przycisk, coby włączyć światło, gdybym nie znalazł się w zasięgu czujnika. Dodatkowym "bajerem" jest to, że światło ( listwa LED ) powoli się...
Na podstawie informacji zawartych tutaj: http://diycenter.acid19.linuxpl.com/read... oraz zgodnie z sugestiami w poprzednich wypowiedziach zrobiłem sobie w celu przetestowania taki oto program: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> int time=0, flaga=0; int main (void) { DDRB |= (1 << 0); //...
Trochę hmmm mało szczęśliwa ta obsługa RC5. Zwykle robi albo powiem inaczej warto robić na przerwaniach zamiast wszystko w pętli głównej bo działa to zdecydowanie wtedy lepiej. Już samą tą procedurę można byłoby mocno uprościć, żeby nawet nie korzystać w ogóle z procedury obsługi przerwania, bo po co? skoro tam jest ustawiana tylko flaga na 1. Pomijam...
No tak bo pomiar jednak troche trwa czasu a Ty nie sprawdzasz czy juz sie zakonczyl. Wlaczasz przerwanie od ADC ale nie wlaczasz przerwan globalnych ani nie ma obslugi tego przerwania. Moja propozycja nie wlaczaj przerwania od ADC ale po procedurze StartADC() daj petle sprawdzajaca flage zakonczenia pomiaru przez przetwornik (ADIF) . Gdy flaga nie ustawiona...
SIGNAL ( SIG_OVERFLOW0 ) { TCNT0 = T0_INIT; counter++; if ( overflow > 0 ) overflow--; } Jeżeli zapisujesz cos do EEPROMu to napewno nie rob tego w przerwaniu wywolywanym tak czesto (0,125us), ani w petli glownej programu. Pamiec EEPROM ma okresloną maksymalną ilość cykli zapisu i wymazywania. W ATmega 8 wynosi ona 100...
szczeze powiedziawszy nie za bardzo rozumie jak dziala wyzej podany kod ... To jasne , jak słońce (bo moje ;) ) //Flagai KOMENDA_OK i DANE_OK "sterują" procedurą przerwania. //ustawienie flagi KOMENDA_OK "mówi" nam o "wykryciu" znaku komendy //i zapisaniu tego znaku w tab[0] czyli 1-szym //elementem tab[]...
Witam, Mam nadzieję, że piszesz programy z wcięciami a tutaj tylko przypadkowo wkleił ci się kod bez wcięć - bo masakrycznie się to czyta - nie tylko komuś ale i samemu można się pogubić na maxa, ale do rzeczy .... widzę, że odczyt robisz sobie w jakiejś tam procedurze i ok - skaczesz do tej procedury gdy twoja zmienna Byt = 0 . I jak się patrzy na...
Witam. Chciałem w celach edukacyjnych zrobić częstotliwościomierz. Ponieważ nie mam za bardzo skąd wziąć zewnętrznych impulsów postanowiłem, że jeden pin procka będzie je generował, a przerwanie int0 będzie liczyć ile tych impulsów było. Do odmierzenia czasu posłużył timer1, który ma odliczyć sekundę (więc wynik od razu w Hz). Po upływie sekundy ma...
Chciałbym zapytać zatem na jakiej podstawie twierdzisz że tylko reset powoduje ustawienie wartości domyślnych portów I/O. To że reset to pewne ale może coś jeszcze... ? Chyba jednak będę musiał wykonać test... W dokumentacji w każdym rejestrze są podane wartości inicjujące "Init value" dla poszczególnych bitów. Wartości inicjujące oznaczają wartości...
A dynamika jazdy się liczy. Dynamika by była gdyby miał co robić, ale jeżeli procek się nudzi ... Jak pisałem wcześniej autor sam musi zdecydować. Dodano po 3 Jeżeli przerwania by się gubiły yo nie można by zrobic zegaraka na procesorze a takąmożliwośc daje producent. Producent daje, Ty programujesz. Efekt końcowy zależy od Ciebie. A przerwania mogą...
[syntax=c]#include <avr/io.h> #include <util/delay.h> #include "pcd8544.h" #include <avr/interrupt.h> void i2c_start() { //twint- flaga jest wyzerowana, gdy jest na niej 1, jest ustawiona gdy jest na niej 0 TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTA); //twcr-rejestr ustawień modułu twi, twint-twi interrupt flag, twen-twi...
Właśnie z takowego korzystam, zatem: Dodano po 4 TAK możesz , ale wcale nie musisz . Pisanie "docelowo jako zwyczajne wyjście" jest sprzeczne z założeniem "do sterowania slave", ponieważ w tym przypadku jest to specyficzny sposób komunikacji SPI tzn. MULTIMASTER. Mogę, nie muszę - tyle wiem. ; ) Czy na pewno multimaster? A gdy mamy na SPI podpięte wiele...
A może zrobić to z innej strony - wykorzystać Timer/Counter1 z odszumiaczem (Noise Canceler). Licznik może zliczać impulsy z kontaktronu, a przerwanie w stałych odstępach może sprawdzać stan licznika. Tak sie niestety nie da zrobic poniewaz pomiar nie bedzie dokladny - bedziemy mieli czas ale nie z dokladnoscia do jednego obrotu , poniewaz nie mamy...
Poszukuję wsadu do AtMega8 umożliwiającego stworzenie zegarka z datą na wyświetlaczu 2x16. Znalazłem kilka ale była też tam obsługa czujników temperatury (bądź pod wyświetlacz led), a ja odczytywać temperatury nie chcę. Czy któryś z forumowiczów dysponuje takim plikiem, lub potrafiłby zmienić ten, tak aby nie było obsługi czujników temperatury: '[syntax=basic4gl]Program...
Napisałem programik do wagi, obsługuje przetwornik ac w AtMega8 : $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.2 , Db6 = Portd.1 , Db7 = Portd.0 , E = Portd.4 , Rs = Portd.5 Dim I As Byte Config Adc = Single , Prescaler = Auto , Reference = Avcc 'ustawianie przetwornika AC...
Heh wierz mi, czy nie... napisałem to... i byłoby wszystko ok, gdyby nie to, że nadpisywałem przykład z "Samples" w program files... i już było napisane klikam save i co...? Bascom zdechł a wraz z nim plik zniknął... (Zapomniałem, że vista nie pozwala szarakom na dotykanie P.Files...)... Także sorry nie mam siły drugi raz tego pisać... Dodano po 8 No...
Witam... Zabrałem się za uarta i wydaje się, że nie jest to takie tragiczne ale mam pewien problem... Chciałby odbiór zrobić na przerwaniu... Tzn żeby dopiero kiedy ustawiona jest flaga RXC (odbiór zakończony) zostało wywolane przerwanie i nastąpiło "odebranie" danych z UDR... Znalazłem uchwyt do tego przerwania, według dokumentacji USART_RXC... I teraz...
Witam. CZy jest ktos kto jest dobrze obeznany w obsludze przerwan z poziomu BASCOMA. Procek Atmega8 Otoz moj problem polega na konflikcie tych dwoch przerwan. Timer1 obsluguje mi odliczanie czasu np 100ms. tzn po nastawionym czasie zalacza sie przekaznik poprzez podanie syg wysokiego na tranzystor.i ustawiana jest flaga zalczenia Timer0 sluzy do podawania...
Cześć, chciałem przeportować kod do odbioru RC5 autorstwa Dondu za ATMega8 na ATTiny13 - http://obrazki.elektroda.pl/8294459100_1... REzystory diod 470Ω, nie zmieniłem na schemacie. Pilot samoróbka, ale 100% pewniak. No więc w czym problem? Uruchomiłem przykład na ATMega8, wszystko pięknie śmiga. Program kompiluje się dla Tiny13...
Witam zrobiłem sobie prosty odmierzacz czasu na atmedze8 i wyświetlaczu hd44780 i wszystko jest prawie ok, tylko że jak sekundy są mniejsze niż 10 to wtedy wyświetlać np. 0:58:09 to wyświetla 0:58:90, nie mam pojęcia jak to naprawić, ma ktoś jakiś pomysł? [syntax=cpp] #include <stdio.h> #include <avr/io.h> #include <avr/interrupt.h>...
Witam wszystkich, Tak jak w temacie: Poszukuje sprawnego programu aby zrobić zegar LCD na ATMEGA8. Program musi być w języku bascom. Znalazłem coś takiego ale nie działa :/ Opoźnienie sekundy wynois jakies 4s 'Program zegara wykorzystującego przerwania od Timer1 'Przerwanie przepełnienia Timer1 jest generowane co 1 s '8 MHz/256/31250 = 1 s 'Przycisk...
Witam, na wstępie dodam że jestem bardzo początkujący w programowaniu. Staram się stworzyć program który by włączał i wyłączał funkcję RGB, poprzez pilot RC5. Staram się to zrobić po kolei i najpierw próbuję gasić i zapalać pilotem diodę. Problemem jest to, że program reaguje na każdy przycisk a nie na konkretny - zaprogramowany. Chce sterować klawiszem...
Sorry, Wiesz ja to sie z tym bawie tylko i program pisze w bascomie metoda prob i bledow. Za bardzo sie na tym nie znam tylko sobie przerabiam inne projekty na moje potrzeby. Chodzi mi tylko o to czy dobrze rozumiem te taktowanie procesora. no ale jak co to tu masz caly kod: $regfile = "m8def.dat" $crystal = 12000000 Config Lcd = 16 * 2 Config...
flaga przerwania xmega flaga przerwania stm32 flaga przerwania
grzewcze systemy zegar assembler altusy małe imprezy
montaz automatow tablica rozdzielcza
Punkty masy w BMW X5 E53 4.4 przedlift - lokalizacja i konserwacja Bosch Siemens WTN86201PL – lokalizacja czujników NTC wlot/wylot, opis działania, diagnostyka