gdyby tak poczytac dokumentacje Hm... Nie do końca tak to wygląda ze mną. Naprawdę staram się zaznajamiać z tematem, ale jak wspomniałem, stawiam pierwsze kroki w elektronice, uC w szczególności, czasem po prostu nie wiem gdzie czego szukać... Dobra, do rzeczy: PROBLEM ROZWIĄZANY! :) Spenetrowałem...
Witam! Przepatrzyłem już chyba pół forum ale dalej nie znalazłem odpowiedzi na moje pytanie. Otóż chciałbym w C zaprogramować przerwanie np PCINT0 dla Attiny2313 i wywala mi błąd, że nie rozpoznaje sygnału PCINT0_vect. W nocie katalogowej to przerwanie tyczy się do pinu PB0 i tak go ustawiłem. Szukałem...
Mam prośbę o pomoc w ukończeniu programu, otórz założeniem programu jest aby zaświecić dioda1 po określonej ilości mrugnięć dioda2 i w odpowiednim momencie wciśnięciu SW1. Program działa bezbłędnie jeśli ręcznie określę mu zmienne A i B, natomiast zaczynają się schody jeśli chcę dodać możliwość programowania...
Witam. Próbuję uporać się aktualnie z usypianiem procesora oraz modułu radiowego. Korzystam ze schematu . Do układu podłączona jest też klawiatura matrycowa, wciśnięcie któregoś klawisza wybudza procesor przez INT0, wysyłana jest paczka, i układ idzie spać. Z odłączonym modułem radiowym wszystko działa...
Witam, używam procka ATTiny2313, wszystko działa niby super ale... mam kłopoty z pamięcią EEPROM, tzn nie z zapisem czy odczytem. Procedury zapisu i odczytu też działają dobrze. Ustawiałem też fusebit EESAVE. Ale pomimo to po kilku nagłych wyłączeniach i włączeniach zasilania dwa zapamiętane bajty...
Witam, Mam pewien problem powiazany z UARTem pod atmega8l... Otoz mam pewnien program ktory pieknie dziala pod attiny2313(UART sprawny, komunikacja rs232<=>pc tez dziala dobrze). Problem narodzil sie, gdy chcialem przeniesc ten program na atmege8l... Podejrzewam, ze problem lezy we flagach... Nie...
Program Trawiarki PCB przerobiony nie działa nie daje się kompilować Schemat Wejścia przełączników podłączony do portd.3 i portd.4 oraz wolny portd.5 chcę wykorzystać do załączenia pompki do napowietrzania po osiągnięciu temperatury 35 stopni oraz załączania oświetlenia miejsca trawienia. [syntax=vbnet]'***********...
Witajcie! W sieci znalazłem projekt lampki RGB sterowanej z pilota, projekt pochodzi z tej strony. Postanowiłem jednak z budować do tego swój pilot, a wybór padł na SAA3010: (na schemacie zamiast rezonatora jest kondensator, proszę się tym nie sugerować.) Pilot jest raczej sprawny i...
Witam, Męczę właśnie kod do sterownika serw. Na chwilę obecną jest to coś takiego: (wartościami zmiennych stan i zegar się nie przejmujcie, ostatecznie będę inne. Procek ATTiny2313, taktowany wewnętrznym zegarem 8MHz) #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h>...
Mam problem dotyczący ATTiny2313 jeżeli napisze program obsługujący przerwania i określe czas po jakim przychodzą przerwania od timera to przerwania przychodza po znacznie dłuższym czasie miż się spodziewano z obliczeń. Jestem początkujacym a więc proszę o pomoc. wcześniej ćwiczenia wykonywałem na AT90S2313...
Witam. Próbuję złożyć obrotomierz samochodowy na mikrokontrolerze Attiny2313. Wykorzystuję do tego kit z AVT2711. Chciałem wykorzystać program z tego układu. Różnica jest w mukrokontrolerach, a artukule jest 89C2051 a ja chcaiłem to zrobić na attiny i wynik pokazywać na wyświetlaczu alfa numerycznym....
Witam! Nie mogę pozbyć się problemu żarzenia diodek w matrycy led. Przesówam na matrycy jakiś tekst w lewo, na kolumnie poprzedzającą aktywną kloumne, zaczynają się żarzyć te diody które świecą na aktywnej kolumnie. Co daje taki bardzo głupi efekt smużenia do przodu:cry: Kod programu opieram w większości...
$regfile = "attiny2313.dat".dat ? tu coś nie tak ;-) Ale to chyba nie powód błędów... Hmm, jak tak patrzę to trochę zastanawiają mnie komendy: Disable Timer1 Enable Timer1 w przerwaniach... Nie analizuję tu całej zasady działania, ale czy nie powinieneś tu używać raczej komend...
Witam po raz kolejny pojawił się problem z moim programem otóż chcę aby kiedy wzrośnie temperatura i będzie wyższa lub równa zadanej to serwo obraca się w prawo poczym się zatrzymuje następnie kiedy temperatura będzie niższa od zadanej wtedy serwo obraca się w lewo i zatrzymuje się. [syntax=basic4gl]...
Witam, Na wstępie chciałbym powiedzieć, że zanim zdecydowałem się napisać ten post, używałem szukajki na tym forum i wujka google ale bez pozytywnych rezultatów (przeczytałem bardzo wiele tematów i skopiowałem wiele kodów). Przejrzałem także plik Help w Bascom. Problem polega na tym, że funkcja getrc5...
Z dokumentacji wynika że zbocze narastające i opadajace maja miec max 500ns dla 5V 2000ns dla 2V Nie "mają mieć" tylko "mogą mieć". To, jakie będą zbocza narastające i opadające nie zależy od programu, tylko od sprzętu (schemat, projekt PCB, długości przewodów itd.). Czas narastania i opadania...
Mam pewien problem z wsadem. Przerabiam kurs języka C z EdW ( AVT 3505) i korzystam z płytki ewaluacyjnej ZL11AVR Używam środowiska AVRStudia 5. Kłopot polega na tym,że gdy ładuję bezpośrednio wsad z listingu z kursu ( ładuje plik .hex który autor skompilował w WinAVR), na wyświetlaczach 7-mio...
Witam Napisałem program i mam z nim problem. Po skompilowaniu zajmuje mi prawie całą pamięć 1724bytes (84,2%). Przyczyną jest zmienna opuzgrzew w _delay_us( ). Gdy zamiast tej zmiennej wstawię wartość stałą, program zajmuje mi tylko 400bytes (19,5 %). Czy ktoś ma pomysł jak zmniejszyć objętość...
Wklejam kod. [syntax=basic4gl]'ATtiny2313 mruga dioda ustawienie portów. $regfile = "ATtiny2313.dat" $crystal = 10000000 Config Lcd = 16 * 1a Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , Rs = Portd.4 , E = Portd.5 Config Portd.6 = Output ...
Mam problem z rozumieniem języka ASM. Niby wszystko działa OK ale jest pewien fakt dla mnie niezrozumiały i aż zjadam zęby. Krótki opis działania programu: w podprogramie ustawiany jest 7 bit w zmiennej bajt który następnie jest sprawdzany w głównej pętli i jeśli jest ustawiony to zmienia się na 0 logiczne,...
Witam! Mam dziwny problem i od paru godzin nie mogę znaleźć jego przyczyny. Mianowicie nie wiem dlaczego kontroler nie reaguje na zmianę stanu na wejściu PD2. Mam tam podpięty przycisk który ma włączać diodę podpiętą do PD6. Układ działa na 100% pod względem technicznym, ponieważ sprawdziłem go innym...
Dosyć odważnie sobie poczynasz na mikrokontrolerze mającym 2kB Flash i 128B SRAM :D ale do odważnych świat należy. Odchudziłem Ci trochę kodzik. Obsługa przerwania timera została stuningowana moim programem NoSave Tool. Teraz mikrokontroler nie odkłada na stos większości rejestrów a tylko te potrzebne...
Mruga bo zrobiłeś totalny groch z kapustą w tym kodzie. Dobre - bo takiego pomysłu to jeszcze nie widziałem - żeby procedura obsługi przerwania była jednocześnie ciałem jakiegoś podporogramu z którego na dodatek wywoływane są inne podprogramy a jak do tego dodać jeszcze polecenia Waitms w przerwaniu...
Witam ,napisałem program który ma odmierzyć czas lotu helikoptera (do wyczerpania bateryjki) ,niestety po 2 tygodniach utknąłem na czymś takim: $regfile = "attiny2313.dat" 'wybór procesora attiny2313 $crystal = 8000000 Config Pinb.0 = Output ...
Witam. [syntax=basic4gl]Ustaw F_CPU na 8000000 Hz 'Declarujemy zmienną np.Licz Dim Licz As Byte Config timer0 = Timer , Prescale = 256 Enable Interrupts Load Timer0 , 250 '--przerwanie będzie co 8ms On Timer0 Przerwanie 'W przerwaniu: Przerwanie: Load Timer0 , 250 Incr Licz If...
Witam Próbuję wychwycić jakąkolwiek reakcję na przerwanie od ICP, ale mi się nie udaje. Oto kod: [syntax=c]void iniPOMIAR() { TIMSK &= ~(1<<OCIE1A); // TCCR1B |= (1<<WGM12) | (1<<WGM13); TCCR1B |= (1<<CS10); //preskaler 1 TCCR1B &= ~(1<<CS12); //preskaler...
Witam. Dotychczas programowalem 89c5x w asm, byc moze walnalem jakiegos buraka w bascomie, ale przyklad z katalogu samples rowniez nie dziala. Po zaladowaniu takiego kodu: $regfile = "attiny2313.dat" $crystal = 4000000 $baud = 19200 Config Pind.2 = Input Config Rc5 = Pind.2 Dim...
piszesz, że masz zewn kwarc 12MHz - a skąd wziąłeś albo jak sobie ustaliłeś wartość którą zapisujesz do UBRRx - od której zależy prędkość transmisji RS232 i dokładnie jaką prędkość ustawiłeś? po drugie odblokowujesz przerwania a w miejscu gdzie są wektory obsługi przerwań masz "pustkę" zamiast chociażby...
Oto kod programu: '************* Konfiguracja uC ***************** '********************... = "attiny2313.dat" $crystal = 16000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B00000000 : Portd = &B11111111 Config...
No więc Timer chodzi na 1MHz. Kwarc masz 8MHz ale preskaler to 8 więc wychodzi 1MHz. Przerwanie od Timera następuje co 5000 cykli (mniej więcej bo trochę zajmuje zdjęcie rejestrów ze stosu). Czyli 1000000Hz / 5000 = 200Hz Tablica ma 64B ale z tego co widzę to siedzą w niej dwa okresy. Czyli tak praktycznie...
Przecież wszystko jak na dłoni masz podane (źródło datasheet Attiny2313): SPITransfer: out USIDR, r16 ;wpisz bajt do wysłania ldi r16, (1<<USIOIF) ;wyzeruj flagę za przerwanie przepełnienie licznika USICNT out USISR, r16 ldi r16, (1<<USIWM0)|(1<<...
Witam Przyszedł czas wolny więc zabrałem się za zgłębienie nauki Bascoma, celem było nauczenie się Tablic. Jako przykładowe i zarazem przydatne mi urządzenie chciałem złożyć regulator fazy z podwójnym wyświetlaczem siedmiosegmentowym LED. Schemat jako taki na razie nie powstał, wszystko jest na płytce...
Witam, Na własne potrzeby chciałem zbudować monitor temperatury z 4 dallasami 18B20. Dane są odczytywane z czujników po RS485 i wysyłane do mastera. Kiedy odpytuję czujniki po kolei, muszę czekać standardowe 750ms na odpowiedź każdego z nich, co nie zadowala mnie. Zależy mi na tym, aby po...
Witam Mam już gotowy schemat i płytkę na Attiny2313, chciałem dołożyć odbiornik podczerwieni TSOP1736. Z helpa Bascoma wynika, że najbardziej praktycznie podpiąć pod przerwanie, ale mam wolne tylko INT1. Czy coś stoi na przeszkodzie, aby odbiornik TSOP działał prawidłowo na przerwaniu INT1 ? INT0 mam...
Owszem w konfiguracji Timera głupi błąd, ale ku mojemu zdziwieniu przerwanie działało. W liczeniu czasu chyba się koledze przecinek przestawił. Przerwanie w teorii kompilatora bascom trwa ok 0,16ms. W praktyce: po dodaniu w przerwaniu " toggle portb.0" częstotliwość generowanego przebiegu prostokątnego...
Witam Piszę program pod sterownik na attiny2313. Na chwilę obecną jest obsługa wyświetlacza LED 3 cyfry multipleksowanego przerwaniami z timer0. Chciałem wprowadzić attiny w tryb power down. Jak doczytałem tryb powerdown powinien ustawić wszystkie porty w tryb wysokiej impedancji więc spodziewałem...
Witam Wszystkich Forumowiczów :) Prosze o pomoc w rozwiązaniu problemu z programowym PWM na Attiny2313. Chciałem zrobić program że jak jest na nóżce PIND.4 stan niski to zawsze ma się świecić jedna dioda natomiast jak wystąpi stan wysoki to ma zgasną ta dioda a zaświecić się druga dioda z płynnym...
Pierwszy schemat bez mikroprocesora (wieczna świeczka.pdf). Tutaj masz przykład z mikroprocesorem: (projekt konkursowy) Widzisz jak ja zrobiłem sztuczne ognisko i pochodnie, masz kod programu (używaj do woli). Cytuję swoją wypowiedź z tamtego tematu: <<Trzy sprzętowe kanały PWM posłużyły...
Oto kod jednego z programów z którym mam problemy: 'C029f.bas Generator impulsów prostokątnych ' UWAGA! Wejsciem EN(able) modułu LCD steruje końcówka PB.1 ' do wyjscia PB.3 dołączona przez rezystor 1k anoda diody LED (katoda do masy) Dim Impuls As Word , Przerwa As Word...
np. Nie da się. TImer0 może zliczać tylko z pinu PD4. I to z PinD.4 a nie PortD.4 ;) Można i z PinD.0, ale nawet przerwania żadnego do tego nie ma więc trzeba by programowo. A nawet jak przerwanie by było (mowa o przerwaniach INTx) to Timer tego nie zliczy. Trzeba by programowo zwiększać zawartość...
prosze bardzo pobawilem sie troche i poprawilem troche kod nadal jest tam duzo zle, ale nie napisze go calego za ciebie $regfile = "attiny2313.dat" $crystal = 1000000 Dim Sekundy As Byte , Sekundydzies As Byte , Minuty As Byte , Setnesekundy As Byte Dim 1s As Byte , Wyborled As...
Witam! Mam problem z jednoczesnym użyciem Timera1 i funkcji RC5 która jak wiadomo dziął na Timerze0 (kod napisany na ATTINY2313) Jeśli rozdzielę kod na dwa czyli: 1. Wykorzystuje timer1 do sterowania serwem - wszystko działa (bez funkcji pilota na RC5) 2. Jeśli zaprogramuje attiny2313 aby używało...
Czego oczekuje NAZE Ci niestety nie powiem. Poszukaj informacji w manualu. Po wyłączeniu nadajnika dioda przy attiny powinna zgasnąć, bo brak PWM to brak PCINT, a tam jest załączana. Możesz dopisać symulację dodatkowych kanałów i sprawdzić, czy coś to pomoże. Dodaj sobie np. drugi output compare...
jeśli czytałeś uważnie jakiegoś helpa i tam napisano, że np ATmega8 a raczej jej przerwania INT0 i INT1 nie mogą być wyzwalane zboczami to masz rację - jest to błąd ;) dokładny opis na 100% znajdziesz w nocie pdf ;) danego procka i na tym zawsze się opieraj jako najważniejszym źródle informacji. ......
K_o_n_r_a_d , rozumiem. Nie potrzebuję aż tak dużej dokładności na zakres obrotu serwa jaką przypuszczałem. Problem tkwi w uzyskaniu tych 50Hz z zegara 4MHz. Sam preskaler nie jest w stanie tego uzyskać. W jaki sposób to zrealizować? (w tym przykładowym programie opóźnienie "Waitms 5" dałem jako przykładowe...
-Konfigurujesz Timer na stałą, krótką wartość czasową. -Tworzysz tablicę do której wpisujesz czasy poszczególnych sygnałów. -W procedurze przerwania dekrementujesz pobraną zmienną z Tablicy (w tej procedurze nie rób pętli tylko dec). Gdy zostanie wyzerowana pobierasz następną zmienną. inny sposób: -Konfigurujesz...
MatiZ --> no ok - w takim razie takie dokładne pomiary oscylem cyfrowym to już coś. Rzeczywiście pilot - dziwoląg ale ..... skoro masz dokładną częstotliwość i nawet współczynnik wypełnienia udaje się dokładnie określić to: 1. trzeba w procku zrobić procedurę odbioru powiedzmy .. np 64 bitów. Jeden...
Musisz przemyśleć algorytm działania programu. Po pierwsze te mrugające diody zrób na przerwaniach z jakiegoś timera. Ustaw przerwanie tak żeby występowało kilka razy na sekundę i zliczaj ilość przerwań do 2 sekund i raz zapalaj raz gaś to bardzo proste do zrobienia. Co do pozostałych to attiny ma 4...
Mam do odebrania co ok. 2 sekundy do 20 bajtów danych. Długość ramki jest różna, określona w drugim bajcie wysyłanej ramki. Po odebraniu ramki trzeba wyliczyć sumę kontrolną, a następnie odczytać z niej pewne dane, na podstawie których uP ma podejmować dalsze działania. Jak narazie zrobiłem odbiór...
Witam. To mój pierwszy projekt jeśli chodzi o avr, prosiłbym o przegląd kodu i ewentualne poprawki, chętnie dowiem się jak można było zrobić to inaczej. Opis : generator impulsów prostokątnych z regulowanym współczynnikiem wypełnienia (1-99%), oraz częstotliwością regulowaną w zakresie od ok.100 Hz...
A więc zaczynamy: Napisałem programy przykładowe i wszystko pięknie chodzi diodki się zapalają gasną - po prostu jest dobrze. Napisałem program w AVR Studio 4 i symulacja pokazuje że wszystko powinno działać no ale nie działa. Tu jest przycięty kod programu który też nie działa mi. ...
Drobiazg miszczo997 :D Odnośnie Twojego zapytania - musiał byś zastosować dla każdej z diod sterowanie PWM (modulacja szerokości impulsów). Ten procesor nie posiada aż 8 kanałów PWM, dlatego będziesz musiał zaimplementować to programowo. Ogólnie działa to na tej zasadzie, że masz stałą częstotliwość...
Czy możliwe jest zrealizowanie wybudzania procesora poprzez UART? Wiadomo, że procesor ten wybudzić z tego trybu można jedynie przerwaniami zewnętrznymi 1 i 2 oraz sygnałem startu dla USI. Jednak ja chciałbym wybudzać go sygnałem otrzymanym przez UART. I teraz pytanie czy jeśli RX zewrę z INT0. Włączę...
Tym razem próbuję się uporać z klawiaturą PC i oczywiście nie mogę sobie z tym poradzić, więc proszę Was o pomoc, oto kod: #define F_CPU 1000000L #define KCBIT PIND&_BV(6) #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> volatile unsigned char...
Nie wiem, czy nie mąci wszystkiego sprawa taka, że ten warunek sprawdzany jest podczas realizacji przerwania - ale jak zaczynam obsługę przerwania, to je wyłączam (cli). Obsługa ISR automatycznie na czas jego wykonania blokuje przerwania więc nie ma potrzeby blokować ich po raz drugi. ...
Witam ponownie, Mam nadzieję, że tym razem mój program wygląda nieco lepiej. A oto kod: $crystal = 4000000 $regfile = "2313def.dat" Config Lcd = 16 * 1 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.6 , Rs = Portb.7 Dim P As Bit ...
Koledzy potrzebuję pomocy, siedzę cały dzień nad programem i nie mogę sobie poradzić. Chodzi o to aby program działał tak jak ten który napisałem, tylko potrzebuję dopisać do niego procedurę kodowania zmiennych A i B. Konkretnie chodzi mi o to aby np po wciśnięciu przycisku SW i SW1 przez około 5 sekund,...
Wiem, że macie już powyżej uszu lampek RGB, ale mimo wszystko może mi dacie jakieś wskazówki ? Napisałem taki program, do obsługi lampki z jednym przyciskiem, którego wciśnięcie ma zmieniać tryb z pracy płynnej na skokową. To jest w zasadzie dopiero szkielet programu, ale już zajmuje więcej niż procesor...
Dawno nie zajmowałem się AVRami, ale z tego co pamiętam, przed każdą operacją transmisji znaku poprzez USART należy skasować bit TXC z rejestru UCSRA. W przypadku, gdy używasz przerwań bit ten jest kasowany automatycznie w trakcie wywoływania obsługi przerwania od zakończonej transmisji. W Twoim przypadku,...
Jeśli przerwania nie są wykorzystywane w programie to od bidy te WAIT jest w miarę dokładnie (na tyle na ile zegar trzyma) ale zdecydowanie lepszym rozwiązaniem jest używanie timerów do odmierzania czasu. W momencie włączenia przerwań dokładność WAIT drastycznie spada. Najlepiej zapomnij o WAIT i naucz...
Bo bez tego bym siedzieł przed tranzystorami i nie wiedział co z nimi zrobić. I błąd! W procesorze są miliony tranzystorów i nigdy nie zrozumiesz działania i zachowania procesora, jeśli nie znasz podstaw elektroniki. Prosty, wręcz szkolny przykład - bramka NAND i jej budowa wewnętrzna. Jaką funkcję...
Dzień dobry, mam problem z programowym PWM. Sprzętowy działa ok ale potrzebuję mieć 8-10 odbiorników więc muszę to zrobić programowo. Problem polega na tym że na wyjściach (PB0, PB1) pomimo ustawionego takiego samego poziomu są różne napięcia. Dla PB0 na wyjciu 0,1V a dla PB1 2,4V Oto kod w...
Najprostszym sposobem jest skorzystanie z języka wyższego poziomu np.C. Wtedy sytuacja się znacznie upraszcza. Nie mniej jednak tak w asemblerze jak i w C całość należy zrealizować dość podobnie. Pierwszą metodą która sprawdza się gdy nie mamy nic więcej do zrobienia a tylko odmierzenie czasu i nie używamy...
Witam, taki kod ja kiedyś używałem, spróbuj go sobie zaadaptować. [syntax=basic4gl]Dim Rled As Byte , Gled As Byte , Bled As Byte Dim Licznik As Byte Dim Flaga As Bit , Ctrled As Bit Dim N As Byte , Pomoc As Byte , Prz1 As Byte , Prz2 As Byte Dim Dziel As Word , Dziel2 As Word , Szybkosc As Word ...
Przede wszystkim PCINT wymaga większego nakładu programowego. Przy włączonych wielu źródłach danego przerwania PCINT trzeba analizować, który pin zgłosił przerwanie i w jaki sposób się to odbyło (które zbocze). PCINT jest niżej w hierarchii przerwań, zatem na obsługę tego przerwania trzeba czasem dłużej...
kolego - świat idzie do przodu, technologia jest coraz nowsza więc nie dziw się, że ktoś będzie produkował Stareńki już układ AT90S2313 skoro ATtiny2313 ma wszystko to co jego poprzednik plus kilka dodatkowych fajnych rzeczy. hmmm chyba, że ty cały czas przyjmujesz to, że jeśli wspominam tutaj, iż ATtiny...
Witam Ostatnio chciałem zbudować inteligentny wyłącznik na ATTiny2313 zrobiłem układ podłączyłem procesor do niego sprawdziłem wszystkie obwody wejść i wyjść i gdy upewniłem się że wszystko dział sprawnie zabrałem się za pisanie właściwego programu, jednak już przy pierwszych testach okazało się ze...
Przyznam się bez bicia, że dodałem kilka elementów do tablicy i to mogło zaważyć na nie działaniu. Zwiększenie tablicy raczej nie powinno wiele zmienić, co najwyżej nie byłby generowany cały przebieg. Gorzej, gdybyś zmniejszył. WAŻNE, żeby w przypadku zmiany rozmiaru tablicy zmienić w linijce: ...
witam zbudowałem termostat na attiny2313 i czujniku ds18b20, ale po włożeniu czujnika do wrzątku stan logiczny na pd.6 i pb.0 się nie zmienia.Ścieżki nigdzie nie są przerwane, podłączone w 100% dobrze.Znam podstawy bascoma, a procedurę odczytu temperatury wziąłem z internetu. Schemat i kod w bascomie:...
chcialem zrobic budzenie procesora za pomoca ktoregos z 4 przyciskow. schemat jest podobny do tego (tylko tutaj jest wykorzystany attiny2313 ja chce atmega32): Przed wejsciem w tryb powerdown chcialem wystawic na przyciski stan niski, wtedy bym mial mozliwosc wychodzenia z powerdown za pomoca...
Witam. Po raz kolejny potrzebuje waszej pomocy. Problem przedstawia się następująco: Mam uC ATTiny2313 a w nim pewną procedurkę wyzwalaną przerwaniem. Pin INT0 jest podciągnięty do VCC rezystorkiem 4k7. Wyzwalaniem przerwania zajmuje się tranzystor BC547 który po otrzymaniu impulsu zwiera pin...
Witam, zastanawia mnie dlaczego nie mogę używac rcall gdy jestem w procedurze obsługi jakiegoś przerwania (procesor to attiny2313). Podczas symulacji w AVR Studio strzałka jakby zatrzymuje się na tej instrukcji ale program nie wykonuje żadnego skoku. .include "tn2313def.inc" .def acc =...
Potrzebuje pomocy w napisaniu wsadu do mikrokontrolera w c++. AtTiny2313 po odebraniu 2 znaków typu char z portu RS232 (16 bitów) ma wysłać je do podłączonego generatora AD9833. Schemat jest w dołączonym pliku. Głównie chodzi mi o to, żeby na wyjściu PB1 mikrokontrolera był stan wysoki lub niski,...
Pierwsze co przychodzi mi na myśl to obsługa przerwań: cli, sei oczywiście nie potrzebne, natomiast nie odkładasz i nie przywracasz SREG. Daj na początek przerwań in <rejestr>, SREG push <rejestr> i na koniec przerwań pop <rejestr> i out SREG, <rejestr>
Muszę zbudować urządzenie stosując dwa ATtiny2313 (zbyt częste przerwania, na jednym nie działa..) i tu miałbym pytanie: czy wystarczy dla nich jeden kwarc? Czy muszą być dwa? Jeśli będą na jednej płytce, czy wystarczy jedna para kondensatorów 10u i 100n do zasilania, czy trzeba dwie (układ zasilany...
Mam pytanie do wszystkich doświadczonych kolegów. Chciałbym zbudować urządzenie na bazie ATTiny2313 współpracujące z nadajnikiem/odbiornikiem radiowym i komputerem po RS232 jednocześnie (w sensie układowym oczywiście). Z mojej wiedzy (a na razie nie ma jej zbyt wiele) nie jestem w stanie zdeterminować,...
no jak się szybko pisze to tak jest, ale ważne że działa. Po 2 chciałem żeby jak najmniej ingerowac w program tegoż Pana. Mozna dać w przerwaniu od Timera żeby zwiększało sekundy, minuty i godziny. Tak sie powinno dać ale zrobiłem to na szybko. Mniej więcej tak by to wyglądało: $regfile = "attiny2313.dat" $crystal...
Poniższy licznik został początkowo stworzony do obsługi naświetlarki. Czas może być ustawiony w zakresie od 1 do 90 minut poprzez przyciski góra/dół. Przyciskiem on/off rozpoczyna odliczanie. naciśnięcie go ponownie powoduje przerwanie procesu w dowolnym momencie. Po przekroczeniu czasu odliczania...
Witam ! Mam następujący problem... głowie się już nad nim od kilku dni i nic... Chciałem zbudować robota podążającego za światłem, do budowy użyłem attiny2313, komparatora LM339N+2 fototranzystory(czujniki). Całość połączona jak na schemacie. uC ma na zadanie skanować porty(przerwanie od Timera0...
Wielkie dzięki :) oczywiście pomogło tylko jak odbieram kod to wyświetlacz miga ale widac kod czy da sie to usunac? Probowalem usunac cls ale wtedy oprocz konkretnych wartosci pozostaja stare. Oto kod: $regfile = "m32def.dat" 'atmega32 $crystal = 8000000...
'$sim 'to jest programik do sterowania silniczkiem w obu kierunkach 'za pomocą sygnału do sterowania serwa w odbiorniku zdalnego sterowania. 'sygał odbierany przez wejście odwracające komparatora analogowego z progiem 1.1V 'Sterowniki do silników modeli samolotów,chociaż są lekkie, nie mają zwykle...
Jako, że od niedawna sam uczę się dopiero C, to proszę bardzo poniżej, najpierw kod do odbiornika RC5. Sprawdzony, krótki i odporny na zakłócenia oraz kody z innych pilotów - działa wyśmienicie i w ciekawy sposób wykorzystuje bit TOGGLE: // zmienne do obsługi kodów IR w standardzie RC5 volatile...
Programik dla AVT3500 z ATTiny2313: ; Henryk Więsyk ; 16.10.2007 ; wersja 1.0 - przerobiona na ATTiny2313 ; Dioda do masy z OC0A ; Wewnętrzny oscylator ustawiony na 1MHz (RC(at)8MHZ + CLKDIV8) .include "tn2313def.inc" ;**********...
Mam nadzieję że to nie pójdzie do kosza: $crystal = 4000000 '4MHz $regfile = "attiny2313.dat" Config 1wire = Portd.5 Config Timer0 = Timer , Prescale = 64 On Timer0 Przerwanie0 Enable Interrupts Enable Timer0 Start Timer0 Porta...
no wszyściutko podłączone jest jak należy miernikiem nawet sprawdziłem przewodność, w razie przerwania, wszystko jest ok :) A z tymi rezystorkami to tak tylko pytam ponieważ widziałem sygnały że pod LPT-ka podłączane były 330R, poza tym wiem że jest różnica pomiędzy STK500 a STK200/300, a nigdy nie...
Nie do WSZYSTKICH, tylko do tych które są używane w przerwaniach i "głównym wątku" jednocześnie (czas) jeśli chcesz, żeby Timer wywoływał przerwanie, to warto zainteresować się rejestrem TIMSK (albo jakaś podobna nazwa), w którym można je włączyć, bo na razie nie ma takiej opcji, żeby program wszedł...
Prosiłbym kogoś znającego temat o sprawdzenie moich wyliczeń. Do Attiny2313 podpinam kwarc 8Mhz dla timera daję preskaler 4, czyli ck/256, czyli timer jest naliczany co 32us 1s / 0.000032s = 31250 - czyli 31250 naliczeń timera to dokładnie sekunda timer1 jest 16 bitowy więc liczy od 0 do 65535,...
Witajcie. Mam do Was kolejne pytanie. Chcę zrobić układ do zliczania impulsów pochodzących z impulsatora. Całość na atmega8, kwarc 8MHZ. I tu jest pierwsze pytanie: czy wiecie jak podłączyć taki impulsator?? Posiada on 3 nóżki, 24 impulsy na obrót. Zakładam, że nóżka środkowa do nóżka wspólna, a te z...
Witam. Mając trochę wolnego czasu postanowiłem wrócić do zmagań z PIDem. W sieci znalazłem program PIDa w Bascomie na Atmegę8 (maluszek Attiny2313 okazał się niestety za mały). W programie wyłączyłem różniczkowanie - aby było łatwiej. Program działa dość dobrze tzn. obroty utrzymują się na żądanym...
Witam, 8. Wszystkie rezystory na schemacie masz pozwierane. Pousuwaj kawałki przewodu, które przesłaniają symbole rezystorów. Jak znikną węzły, to znaczy że jest ok. 9. Mógłbyś podłączyć do wolnych portów przynajmniej jakieś LEDy, względnie buzzer (dla kontroli działania programu, dla informacji...
Witam chodzi o ten projekt: chodzi mi o zbudowanie takiego urządzenia, ale żeby można było mierzyć temperaturę w dwóch miejscach (w środku i na zewnątrz). Rozważałem budowę dwóch takich urządzeń w jednej obudowie, ale to nie ekonomiczne. Czy mógłby mi ktoś pomóc w przerobieniu programu? przełączanie...
...Spróbowałem własnymi siłami zmienić ten kod, ale nie dałem rady(błędy kompilacji)... Aby to zrobić bezbłędnie, należy znać oba proce na "tip-top" :D Ja zrobiłbym to tak: 'Termometr Domowy' $regfile = "attiny2313.dat" $crystal = 8000000 'Config Timer0 = Timer , Gate = Internal...
Dodałem w Attiny2313 linię $baud = 9600 - Ustaw tryb slave w ATmega (I tak jest tylko odbiornikiem), będzie prościej, inaczej linie MOSI i SCK będą walczyć na Vcc i GND... ;) A czasem nie jest on już ustawiony ? tzn w MSTR w rejestrze SPCR domyślnie jest ustawiony na 0 czyli tryb slave....
OK Przepisałem cały program od nowa. 73% po kompilacji. Teoretycznie wszystko powinno działać ale nie mogę dostać się do menu "termostat" tzn.po naciśnięciu przycisku "menu" program powinien przejść do podprogramu termostat i na wyświetlaczu powinna pojawić się ustawiana temperatura ale tak nie jest....
Witam. Próbuje nawiązać komunikacje z [url=]PCF8591 na magistrali I2C. W ATtiny mogę wykorzystać tylko USI. Przeglądałem notę USI ale nie mogę sobie tego posklejać w jedną całość. Master ma być mikrokontroler a Slave PCF8591. Jak narazie interesuje mnie tylko odczyt. Wiem na pewno jak ma wyglądać bajt...
Proszę kogoś doświadczonego czy mógł by sprawdzić czy ten program będzie działać z tym schematem.
Attiny2313 ma możliwość sprzętowej generacji PWM a jeżeli nie chcesz używać sprzętowej generacji to pozostaje ci przerwanie od timera i zmiana stanu wyjść w odpowiednich cyklach. Generacja PWM w pętli głównej to nie jest dobre rozwiązanie bo wypełnienie będzie ci pływać w zależności od tego co będzie...
Zrób Sobie prosty filtr RC, gdzie będziesz podawał sygnał PWM o znanym wypełnieniu (widzę tam timer z funkcją PWM w ATtiny2313). Z kondensatora filtru RC podaj na jedną nóżkę komparatora, a na drugą napięcie które ma być mierzone. Następnie zmieniaj tak wypełnienie PWM, aż napotkasz zmianę 0 -> 1 lub...
Witajcie mam taki oto kod : [syntax=text] $regfile = "attiny2313.dat" $crystal = 400000 Config Lcdpin = Pin , Db7 = Pb.7 , Db6 = Pb.6 , Db5 = Pb.5 , Db4 = Pb.4 , E = Pd.0 , Rs = Pd.1 'Config Lcd = 16 * 1a Config Lcd = 16 * 2 Config Rc5 = Pind.3 'wejscie...
Witam. Lata temu stworzyłem płytkę PCB, a na niej Attiny2313 wraz z gniazdkiem do programowania i jakimiś bzdurami (dioda IR i odbiornik IR, zresztą zgodnie ze schematem z helpa bascoma). Myślałem, że moje problemy które miałem budując na pająka się skończą. Niestety tak się nie stało. Komunikat który...
Witam, skończyłem właśnie robić termometr autorstwa Mirleya na mikroprocku attiny2313. Chciałbym przerobić program, aby minus wyświetlał na wyświetlaczu ( mam o jeden segment więcej) oraz kilka innych przeróbek. Mirley udostępnił zmieniony kod jednego z użytkowników w komentarzu, jednak za nic nie umiem...
Witam, proszę o pomoc w zmianie programu: [syntax=bascom] '*********... 'Konfiguracja '************************... = "attiny2313.dat" $crystal = 8000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111111 : Portd = &B11111111 Config...
Dobry układ edukacyjny :) zamiast łączyć dwa tranzystory termokurczakiem lepiej wziąć od razu dwa tranzystory w jednej obudowie - jest to o tyle lepsze, że oba są na tej samej płytce krzemowej. Kosztuje grosze a działa zdecydowanie lepiej. Z całą pewnością taki element jest bardziej pro i user...
Witam wykonałem termometr z tej strony mirley niestety po wgraniu programu na attine2313, na wyświetlaczu migają tylko środkowe poziome kreski , wszystkie elementy i luty sprawdziłem więc musi to być program, a aż takich umiejętności nie mam żeby napisać program ,na razie się tego uczę , chodzę do...
No nie do końca bo przeniesienie całej obsługi do klawiatury powoduje robienie długich procedur w przerwaniu, czyli jeszcze gorzej niż jak je zrobisz w poprogramie głównym. Ja bym to rozwiązał nieco inaczej, tzn zamiast expandera IIC dałbym uC jakiś mały (ATtiny2313, 89C2051 itp.) i znaki bym wysylał...
A więc tak : - na przyszłość podawaj pełne nazwy, łatwiej bedziesz rozumiany. ;) - zajrzałem do pdf-ów od AT90S2313 i ATtiny2313 (trudno zgadnać którego miałeś na myśli) i tak - AT90S2313 (s.18 DOC0839.pdf) ma 11 wektorów przerwania wliczając RESET, a ATtiny2313 ma ich 19 (s.43 - doc2543.pdf). Wyciągając...
mirekk36 . Na razie nie wiemy jakie kolega ma długieee te transmisje danych. RAM nie jest z gumy, a powinno jeszcze starczyć na całą masę zmiennych i trzy stosy, a zwłaszcza na HWStack, który by tu mocno puchnął. Jeśli to jest ATtiny2313 to pewnie, że nie ma o czym w ogóle mówić ale jeśli już...
Priorytety przerwań w AVR nie istnieją. Teraz kolego otwórz notę ATTiny2313 strona 43 i sobie popatrz na tabelkę... RESET ma najwyższy priorytet, potem INT0, potem INT1 itd. Czyli rozumiem, że jak jednocześnie nastąpią przerwania INT0 i INT1 to du*a ?
Witam Potrzebuję programik na attiny2313 napisany w bascom. Mam ten procek , oscyloskop i trochę ogarniam bascoma a potrzebuje to dopasować do zepsutego urzadzenia. Podane czasy są orientacyjne , wyliczone na kartce. Te czasy będę musiał dopasować , stąd potrzebuję to w bascom , opóźnienia związane...
(at)Piotrus_999 Te popularne uC typu atmega8/32 czy attiny2313 czyli te które gównie programuje są jakoś tak bardziej głupoto odporne no i to że od nie dawna siedzę w C wcześniej Bascom AVR
Ja też miałem takie cyrki z przerwaniem. napisałem więc program w ten sposób: '/////////////////////////////////////... TERMOSTAT /////////////// '//////////////////////...
Tylko tak dla ścisłości... Wektory przerwań używają rozkazu jmp (nigdy rjmp)... The most typical and general program setup for the Reset and Interrupt Vector Addresses in ATtiny2313 is: ..... 0x0000 rjmp RESET ; Reset Handler 0x0001 rjmp INT0 ; External Interrupt0 Handler 0x0002 rjmp...
Mam problem i nigdzie nie mogę znaleźć odpowiedzi. Mianowicie, chce, żeby mój program odbierał kod w przerwaniu, tak, aby nie miało to wpływu na pracę programu. Mam taki kod: $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 19200 Dim Kod As Bit Dim Command As Byte , Subaddress...
Osobiście gdybym musiał wykonać taki projekt Attiny2313, i wybudzać go za pomocą zewnętrznego przerwania, to zamiast 555 dałbym Attiny13A. Przykładowo możesz go uśpić na 8 sekund, wybudzenie watchdogiem żeby zwiększył stan zmiennej i znów poszedł spać, w przypadku odpowiedniej jej wartości wygenerował...
Witam Chciałem do kuchni wstawić czujnik PIR, ale z dodatkową zaletą, czyli stopniowym zwiększaniem i zmniejszaniem PWM, dodatkowo jeśli podczas zmniejszania PWM nadejdzie przerwanie INT1 od czujnika PIR, to program ma przestać zmniejszać, tylko zacząć zwiększać i to nie od zera, ale od wartości na...
Witam, właśnie budują pewien układ, ale napotkałem problem, z którym nie mogę sobie poradzić. Układ poprawnie wysyła wszystko do komputera przez USART, ale nic nie chce odebrać, nie wiem co jest grane, co robię źle. tak inicjuję usart: ldi temp, 0x00 out UBRRH, temp ldi temp, 12 out UBRRL,...
Witam wszystkich :!: , Do tej pory programowałem na procku 90s2313. Teraz przy "przerzucaniu się" na ATtiny2313 wystąpiły pewne problemy. Może ktoś z was będzie umiał je rozwiązac. Programuje w BASCOM AVR, przy użyciu płytki testowej AVT992. 1. Pytanie podstawowe i może banalne: co to są fusebity...
rejestry OCR0A i OCR0B to rejestry sterujące PWM'em (jego wartością). TCNT0 to wartość licznika. w trybie pwm on cie nie interesuje. TCCR0A, TCCR0B - rejestr kontrolny tinera0. poczytaj w nocie jakie ustawienia PWM'a są ci potrzebne i takie wartości tu wpisz. TIMSK- rejestr do konfigórwania przerwań...
... Przypuszczam że dla portów przełączonych jako wejście czas ten może być nieco dłuższy ze względu na duże wartości wewnętrznych oporników podciągających. Teraz już nie sprawdzę jak dokładnie wyglądał wtedy kod, bo tamtej wersji już nie mam, ale generalnie był prosty - inicjalizował stos,...
Może spróbuj w ten sposób : $crystal = 4000000 Config Pind.5 = Output 'ustawienie wyjścia na pinie który standardowo sygnalizuje przepełnienie timer-a Config Timer0 = Timer , Prescale = 1 'ustawienie timer1 dzielnik 1 On Timer0 Przerwanie_timer1 'wywołanie przerwania po przepełnieniu timera Timer0...
OK już chyba wszytko wiem ale straciłęm kontakt z procekiem! Wczesniej normalnie się wgrywało a teraz nie chce... Wypisuje mi co chwila "could not identify chip with ID:xFFFFFF" czyli łacznośc jest przerwana i nie moge dojść czemu...
Jeżeli przechodzisz z tym samym programem to zwróć uwagę na konfiguracje portu rs. W starym był tylko mozliwość wybrania baudrate (i tylko 8 bit więc nie wszytskie mozliwe). W tiny2313 są dwa rrejestry (ubrl i ubrh) co daje wiecej baud rate do wygenerowania. DO tego mozna konfigurować ramki (5,6,7,8...
Dałeś koledze rybę, a chyba wystarczyła wędka - sam poczytałby w dokumentacji :D . Licznik liczy do 250 wywołane jest przerwanie ale on dalej liczy do 255... To ja też poproszę o wyjaśnienie - dlaczego miałby liczyć aż do przepełnienia, skoro w obsłudze przerwania jest TCNT0=0 :?:
... mam pieknie dzialajacy kod, wykorzystujacy 2 przerwania i obslugujący cykliczny bufor we i wy. Dzięki temu trzeba się tylko zajmować wpisywaniem do bufora przy nadawaniu i ew odczytywaniem przy odbiorze. Dzięki przerwaniom uC wogóle nie jest obciążony operacjami na UART ;) .... ale niestety tylko...
To napewno wynika z nowej konstrukcji tego procka jest to prawie nowy układ na rynku. Układ ten wyparł AT90S2313. Ja Też mam problem z min dobrze napisamy program błędnie działa na tym nowym. Czyli przerwania od timera przychodzą znacznie póżniej niż mają przychodzic Na AT90S2313 działał poprawnie....
ldi r16,0b00100000 out mcucr,r16 ;SE = sleep sleep ldi r16,0b00000000 out mcucr,r16 ;wylacz SE Działa zgodnie z instrukcją: Ustawiamy odpowiednia konfigurację do funkcji oszczedzania i wydajemy komendę uśpienia. Następna linijka jest bo tak napisali w datasheet - żeby zmienić rejestr zaraz...
Nie wiem jak w 2313, ale np atmega169 ma możliwość ustawienia przerwania na każde z wejść. Sposób działania banalny, wciskasz guzik, procek się budzi ze snu, pare razy coś tam nada, albo nadaje do póki trzymasz guzik, po chwili idzie spać. Te procki w stanie uśpienia ciągną bardzo mały prąd i na bateriach...
Po pierwsze, możesz jak najbardziej korzystać z timera (a właściwie to powinieneś, jeżeli chcesz pomniejszyć koszta o zakup zewnętrznego RTC). Po drugie - możesz kalibrować, możesz to robić długo i bezskutecznie. Po drugie i ćwierć - Wewnętrzny oscylator nie za bardzo nadaje się do tego celu. "Nieco"...
Witam. Wiem że ten temat wałkowany z 100razy, jednak nie mogę się doszukać jakiś konkretnych informacji. Jedyna co znalazłem, to help bascoma. Nie wiem czy dobrze kombinuję ale w helpie podane jest coś takiego: '---------------------------------------... ...
Dzięki za zainteresowanie. Chciałem wykorzystać przerwanie od USART'a. Na jednym attiny nie da się tego zrobić z powodu czasu -> kilka ms dla każdej cyfry (5cyfr x 4 + spacje) Powodzenia Przyznam że o SPI nie pomyślałem :?:
Witam Na wstępie zaznaczam, że AVR-ami zajmuje się dopiero od tygodnia :). Mam problem jak w temacie. Potrzebuję aby timer 1 (16 bitowy) liczył od ustalonej wartości początkowej, a po wystąpieniu przepełnienia wygenerował przerwanie i się zatrzymał. Potrzebuję odliczyć 25ms. Attiny taktowany jest...
Ale jak bardzo mniejsza? Przestawiłeś "fusy" na zewnętrzny kwarc? Jeżeli różnica jest niewielka, to może wynikać z opóźnienia w obsłudze przerwań (jeżeli gdzieś w programie masz przerwania zablokowane na dłuższy okres czasu).
Jeśli chcesz oto mój program. Miałem przy nim problemy gdy używałem realterm. U mnie problemy się skończyły po zainstalowaniu hyper terminala. //////////////////////////////////////...
Witam. Zmontowałem prosty zegar na procku attiny2313. Użylem softu ze strony: (kod ponizej). uC jest taktowany kwarcem 4Mhz. Okazuje się jednak , że dokładność odmierzania czsu jest bardzo mała, zegar spóźnia sie co godzinę o kilka minut. Wydaje mi się że problem tkwi w opóźnieniu wpisania wartości...
do avr sprzedają takie specjalne kwarce (np 4.194304MHz). prescale 1024 i tajmer 1 8 bitowy generuje ci idealnie 16 przerwań na sekundę. W przerwaniu ovf timer0 inkrementujesz sobie zmienną (albo jeden wybrany rejestr tylko do tego) i jak większy to zero i zwiększasz sobie zmienną sekundową. Nie potrzeba...
Odepnij kwarca i zobacz czy dalej działa jeśli tak procesor dziala na wewnętrznym oscylatorze rc , jeśli nie to ustaw pułapki w symulatorze i sprawdz czy przerwania występują dokładnie co określiny czas .
posłuchaj odłożenie na stos i zdjęcie w makrach to normalna sprawa, powiem więcej, wrzuciłem sobie ten kod jak go napisałeś powyżej też do symulatora w AVrStudio4 i po zasymulowaniu wystąpienia przerwania działa wszystko tak jak sądziłem i jak pisałem tzn po reti wraca ponownie do Main a nie tak jak...
Czytałeś notę AVR303 i podobne ze strony Atmela? Gotowe procedury w C. Nadawanie jest łatwe, zwłaszcza bez odczytu potwierdzenia. Pamiętaj o rezystorach do +5V. Licznik USI taktujesz do 16, czekasz na przepełnienie a ostatni 9 bit ładujesz do 14 i też czekasz na przepełnienie lub przerwanie. Na początek...
witam. W internecie jest takich przykładów mnóstwo, wystarczy poszukać, ale napewno skup się na tym, aby kożystać z przerwań wywołanych zliczaniem taktów generatora kwarcowego. pozdrawiam.
zgadza sie. da sie to wszystko upchnac w 2 portach. oprocz tego trzeba poprawic kilka instrukcji tych nie obslugiwanych przez 2313 jak CALL i JMP. caly czas mam jakies bledy w stosach i przerwaniach przy kompilacji
Fusy swoją drogą. Brakuje tam jednej linii ENABLE INTERRUPTS Trzeba ja wpisać zaraz po konfigu przerwania. Przysłał bym ci zgrany z procka HEX ale chyba załatwiłem LPT
gdy była pętla nieskończona, to sie nie zawieszał poprostu szedł od początku. Czyli ja mam zrobić coś na zasadzie watchdoga, że gdy nacisnę przycisk, timer np 8 bit sie włącza, i po 80ms generuje przerwanie, ale od timera nie od INT1/0. Ale skoro funkcja od INTERRUPT1 i 0 mi nie działa, to jak mam włączyć...
...Nie wyświetla mi dziesiątych liczb. Wyświetlacz sprawny na 100% No przecież sam napisałeś w kodzie warunek , żeby nie wyświetlał dziesiątek jeśli nie są równe 0 , a dokładnie rzecz ujmując , to napisałeś , żeby wyświetlał dziesiątki , kiedy ich wartość jest równa ZERO :!: Wyswietlanie: Gosub...
Nie bawiłem się ATtiny2313, ale jeśli ma PWM to da się zrobić jakieś odtwarzanie dźwięku z próbek. Robiłem takie coś na ATmega128. Puszczasz generator PWM na najwyższej częstotliwości i jakiś timer do generowania przerwania okresowo. Timer determinuje częstotliwość prókowania. Podczas każdego przerwania...
Zrobić obsługę wyświetlaczy w przerwaniu?:> PS coś krótki ten byte od config portuD:]
Wersja poprawiona ale bez skutku czy ktoś widzi błąd którego Ja nie widzę Jak nie ma czujnika wyświetla 0 a jak podpinam czujnik wyświetla -6(kreska6) #include<avr/io.h> #include<inttypes.h> #include<util/delay.h> #include<avr/interrupt.h> #define F_CPU 8000000 #define...
Użyj timera1 w trybie CTC (zobacz w dokumentacji). W tym trybie timer1 liczy od zera do wyznaczonej wartości, generuje przerwanie (SIG_COMPA1), a następnie jest automatycznie zerowany. W ten sposób unika się rozbieżności związanej z opóźnieniem pomiędzy generacją przerwania a wpisaniem nowej wartości...
Witam Zrób to jak za starych tranzystorowych czasów, 100K na bazę tranzystora, emiter na masę a kolektor na przerwania w procesorze, można dać jeszcze diodę z bazy na masę by w drugiej połówce nie płynął prąd przez tranzystor. Detekcja jednego zera wystarczy, częstotliwość sieci jest w miarę stabilna...
Witam, Niestety ostatnio od kilku miesięcy mam bardzo mało czasu na swoje hobby i zabawę z prockami więc teraz tak z marszu ciężko mi sobie przypomnieć jak dokładnie działałem z tym PowerDown w swoim pilocie ale wkleję poniżej swój kod taki jaki działa do dzisiaj w tym moim pilociku i to bardzo dobrze...
Zgadzam się z kolegą wyżej. Ja w przerwaniu robie tak: Getencoder: 'Wywołane przez przerwanie zboczem narastającym (Config Int0 = Rising) Waitus 100 If Pind.1 = 1 Then Decr Steps If Steps > 999 Then Steps = 0 ...