Zrób jakiś mały zrzut ekranu jak to wygląda dokładnie (ALT + PrtSC) i pokaż. Na wszelki wypadek, jakbyś jeszcze nie czytał: http://wiki.mcselec.com/bavr/STK500_Prog... Sprawdź też prywatną wiadomość ;)
poki co to tylko bascoma cos kumam
Nie wiem, jak dokładnie masz zbudowaną detekcję przejścia przez zero, ale jeśli w programie reagujesz na niewłaściwe zbocze sygnału detekcji, to SWIATLO_OFF może następować za późno. Jeśli nie próbowałeś jeszcze na drugim zboczu, to proponuję spróbować.
to rozumiem , ale w jakich dwóch (chyba) rejestrach umieścić dwa liczniki
Niestety symulacja programowa liczników w trybie FastPWM jest nieadekwatna do tego co rzeczywiście robi procesor. Trzeba uruchomić w docelowym układzie lub przez JTAG ICE (ale to są koszta).
Cześć, jest możliwość odczytywania liczników gazu Apator UNISMART (AT-WMBus-G-01) i licznika wody AT-WMBus-08? Na Twoim przykładzie "woszu". Szczerze, to by było rozwiązanie idealne. Denerwuje mnie już ten RTL433 :P . Pozdrawiam.
W zał. Nie wiem czy to AT czy MT
Witam, Ogolnie zawilgocone so obydwa micro wlaczniki w Bridge unit ( zakladam ze masz finisher) . Niektorzy bawia sie w wymiane, a wystarczy rozebrac wyczyscic i idzie, Uwazaj przy rozbieraniu zeby ci sprezynka nie uciekla. Jak rozbierzesz zobaczysz ze styki sa "zalane" . Dodatkowo jak wyczyscisz to powinienes takze update firmwaru zrobic bo tam tez...
Hej, Mój kryształ podpięty do ATTiny ma częstotliwość 8MHz, częstotliwość dzielę za pomocą CKDIV8. W tym ustawieniu wszystko chodzi dobrze, gdy testuję to licznik liczy oraz PWM działa. Jednak gdy wyłączę flagę CKDIV8 licznik i PWM przestaje chodzić. Czy testował ktoś maksymalną częstotliwość (obstawiam, że w częstotliwości leży mój problem)?
Tylko na procku to zrobisz w tak szerokim zakresie, wystarczy attiny z dwoma licznikami 16 bit np 261 lub jakieś arduino, mierzysz szerokość okresu na wejściu ICMPx w jednym timerze i po przeliczeniu uruchamiasz drugi timer gdzie w przerwaniu 'machasz' nogą wyjściową.
Musisz zmodyfikować program tak, żeby zliczał czas jednego i drugiego stanu. Tak mniej więcej: [syntax=vbnet] If Wejscie_1 = 0 Then 'jesli pojawil sie impuls na wejsciu 1 Licznik_1 = 0 'zeruj licznik bezczynnosci danego kola If Licznik_2 < Limit Then Incr Licznik_2 Else 'jesli nie ma impulsu, to... Licznik_2 = 0 If Licznik_1 < Limit Then Incr...
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 do tego licznika, który już masz. Jak zliczysz 6 wyłączeń...
heh w moim pliku nagłówkowym io dla tego uC (iotn2313.h) nie ma deklaracji rejestru TCCR0, jest deklaracja rejestrów TCCR0A oraz TCCR0B. Zapewne to ich należy użyć, ustawiając odpowiednie bity w A i B. W twoim wypadku, spróbuj TCCR0 zastąpić przez TCCR0B EDIT, i wywal linijke: int TCCR0 Sprawdziłem w jednym z moich projektów, wprowadzając timer1 w tryb...
Wydaje mi się, że kompilator nie ma problemu z funkcją "mod" (dlatego też dwie ostatnie cyfry się zgadzają), tylko przy dzieleniu zmiennej typu word, dającej zmienną typu byte jako wynik.
Zestawiłem układ testowy składający się z Atmegi8A z zewnętrznym osc. 8Mhz i drugi układ z ATtiny 2313 i zewnętrzny osc. 4MHz. Oba układy połączone RS232 z prędkością 9600. Odpowiednie programy załadowane do obu uC. ATmega wysyła po RS co sekundę wartość licznika. ATtiny odbiera ta wartość i zapala wyświetlacz 7 segmentowy (tylko wizualizacja odbioru...
TE liczniki oparte są głównie na diodach (fotodiodach) ich pomiar jest na ogół tyle wart co cena tego urządzenia czyli NIC. Dokładnie. I koszt 40 dolarów. W tej cenie rozumiałbym malutką tubę Geigera (z dokładnie określonymi parametrami), niewielką przetwornicę WN i najmniejsze ATtiny. Wtedy można to nazwać "licznikiem Geigera".
Witam. W przerwaniu wpisałeś : Timer1 = 131 do zliczenia zostało 65536 - 131 = 65405 Przy wpisaniu do Timer0 tej samej wartości do zliczenia pozostaje : 256 - 131 = 125 impulsów. Myślę, że dobrze zrozumiałem Twój post.
Witam , potrzebuję wsadu licznika JOHNSON CONTROLS na 95640 V3, dizel w wersji od automatu, auto po spaleniu , uruchomione , potrzebuje licznik przeprogramować do wersji z AT bo mam od manuala
Witam. STM8L steruje bezpośrednio wyświetlaczem LCD i również ma mały pobór prądu. I kosztuje tyle samo co Attiny.
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 moją słabo działającą szklaną kulę jestem w stanie...
Nie znam tego procesora ale nikt ci nie gwarantuje że po włączeniu zasilania pamięć RAM będzie miała same wartości 0. To ty masz za zadanie tą pamięć wyzerować. Nie znam assemblera dla tego procka ale w procedurze reset dopisz ręcznie wpisanie wartości 0 do tych liczników.
... albo liczyć na 8 znakach (4 bajtach) BCD. Albo na 8 znakach w 8 bajtach - jak w zeszycie :D Piotrek
(at)airman, bój się Ty Boga... Weź na warsztat i przeanalizuj jeden z moich bardzo prostych programików to może nieco Ci się rozjaśni na temat przerwań, liczników, klawiszy, itp... : [url=http://www.elektroda.pl/rtvforum/to... na Attiny 13
Nota aplikacyjna AVR410 Atmela, ale tam chyba jest użyty ten licznik. W każdym razie u mnie śmiga na ATtiny 2313.
Spróbuj zrobić tak Co4ms: 'procedura obsługi przerwania od Timera T/C0 wykonywana co 4ms Timer0 = 6 'załaduj do Timera0, żeby zliczył 250 (=256-6) impulsów Incr Licznik If Licznik = 6 Then 'zmienna Licznik liczy do 6 aby Licznik = 0 'sprawdzanie stanu przycisku następowało If Pind.0 = 0 Then 'co ok.24ms If Pomoc = 1 Then 'jeśli zmienna Pomoc...
Wielopoziomowe menu to nie problem. 1) Masz główną pętlę do-loop. W niej piszesz 'menu główne' - korzystając z if-ów i jakiegos licznika który będziesz mógł zwiększać lub zmiejszać za pomocą przycisków góra/dół 2) Znając swój licznik, wiesz dokladnie która opcja menu jest wybrana, więc dopisujesz if-a - zeby skoczył do podprogramu który ma obsługiwać...
No jeśli chodzi tylko o generowanie zegara o takich parametrach to istotnie 555 jest najlepszy. Pod warunkiem że nie jest wymagana zbyt duża dokładność i stabilność. Nie napisałem tego ale w rzeczywistości chcę zbudować generator dwufazowego sygnału zegarowego przy czym wypełnienia obu faz są różne i oczywiście przesunięte względem siebie. To może...
Konfiguracja timera '51 jest inna : [syntax=basic4gl]Składnia: CONFIG TIMERx = COUNTER | TIMER , GATE = INTERNAL | EXTERNAL , MODE = 0 | 1 | 2 | 3 gdzie: x0 – TIMER0, 1 – TIMER1, Opis: TIMER0 i TIMER1 mogą pracować jako liczniki impulsów zewnętrznych gdy pierwszy parametr jest ustawiony jako COUNTER. Impulsy zliczane muszą być dostarczane...
Można wywołać przerwanie TIMERA, w trybie PWM, w momencie przeładowania licznika, a więc gdy licznik przekroczy ustawioną dla danej rozdzielczości wartość maksymalną. Musisz tylko włączyć przerwania dla danego Timera. Oczywiście częstotliwość wywoływania tego przerwania jest ściśle powiązana z ustawieniami PWM (jest równa częstotliwości działania PWM)....
' Na początku kodu Index_tab=0 ...... ...... If Licznik = 1200 Then IF Index_tab=3 Then ' przesuniecie w tył jeżeli pozyskano co najmniej 3 pomiary Pomiar(1)=Pomiar(2) Pomiar(2)=Pomiar(3) Else ' Fragment kodu wykonywany dla Index_tab=0,1 i 2 Incr Index_tab IF Index_tab>3 Then Index_tab=3 End If Pomiar(index_tab)...
No toż pewnie, że możesz używać tzn odczytywać wartości z latającego licznika. Ale jeśli zaczynasz się już nim bawić w ten sposób, że chcesz go resetować w locie (czyli zapisywać), że chcesz zmieniać preskaler na inne wartości niż ustawiony został za pomocą polecenia ConfigRC5 (a został tylko ty tego nie widzisz) to nie dziw się, że potem coś ci nie...
Dwa pytania: Co rozumiesz żeby układ był jak najbardziej uproszczony? Czy jak najmniejsza ilość elementów? Bo jeżeli tak to najlepiej zrobić to na jakimś procku attiny. Wtedy odpadają dwa scalaki z dekoderami. Jeżeli będzie to na 'zwykłych' elementach to będzie: 1 licznik, dwa dekodery (najlepiej OC), kilka elementów pasywnych do eliminacji drgań zestyków....
Właśnie próbuje się "przebic" przez datasheet. Co do przewodów to gdzieś w necie przemknął mi rysunek połączenia obu lini razem (możliwe że był to jakiś poglądowy) ,a clk osobno Procki nie będą miały połączenia z PC Multiprocesing to jeden z trybów komunikacji attiny Powodzenia Kolejne założenia: Liczy jeden licznik . W momencie rozpoczęcia zliczania...
Witam! Możesz wykorzystać popularny licznik typu 4017 sterowany generatorem impulsów pracującym na częstotliwości 0,2Hz(5s) lub mikroprocesor(nawet prosty ATtiny 13), który będzie odpowiednio sterował diodami. Mikroprocesor daje większe możliwości, bo łatwo go przeprogramować na inny efekt. Pozdrawiam, BTomasz92
[syntax=basic4gl] $crystal = 4000000 Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111100 Portd = &B1111111 Config Timer0 = Timer , Prescale = 64 Enable Timer0 Enable Interrupts On Timer0 Co1ms Dim Liczba As Single Dim Ktorywysw As Bit Dim Lol As Byte Dim Jednostki As Byte Dim Dziesiatki As Byte Dim Pomoc As Bit Dim Aaa As Word Dim...
Ja bym nie zerował licznika tylko puscił go wolno a w przerwaniu odczytywał tylko wartosc tego licznika. Teraz wystarczy odjac obie wartosci i masz czas od zbocza do zbocza. Sumujac oba czasy otrzymujesz obroty oczywiscie po przeliczeniu odpowiednim. Ten sposób zapewnie że do pomiarów obrotów i czasu wtrysku używasz tylko jednego licznika. Dodatkowo...
Czyli szlifierka działa od punktu do punktu i kończy swoją pracę? Jeśli tak to jest to banalne do zrealizowania na amtedze czy nawet attiny.
Witam. Po pierwsze poza zadeklarowaniem zmiennej eedr trzeba dopisać linijkę oczekiwania na zmianę stanu pinu wejścia liczącego na wysoki. Bez tego program po wykryciu stanu niskiego skoczy do podprogramu liczenia, zwiększy eedr o jeden wróci do sprawdzenia pinu wejściowego, stwierdzi że jest nadal w stanie niskim a wszystko to zrobi tak szybko że wyświetlacz...
Chyba żartujesz? No dobra. Zlituję się. T = 1/f f = 8MHz = 8000000Hz T = 1/8000000Hz =0.000000125s = 0.125us = 125ns.
Chyba złoże to z licznika 8 bitowego 74hc590 Może jakiś mały Atmel ATTINY? Nie wiem jak cenowo to wychodzi.
Będę robił płytkę z wykorzystaniem ATTINY-2313. Czy gdy ustawie w Fusebitach a konkretniej FUSEBIT A987 i zmienię w nim na Internal RC Oscilator 4mhz to oznacza że nie musze już podpinać rezonatora zewnętrznego? A jeżeli tak to czy taka zmiana może w jakiś sposób zakłócić działanie prostego licznika [INCR]?
Do tego projektu zegara na TTL nie ma płytki w formacie programu do projektowania = trzeba zaprojektować od nowa. Jak się programuje Atmegi/Attiny napisano już wszystko, hasło "programator ISP, programator STK200/300"
taki sposób deklaracji jest jak najbardziej poprawny, jest nawet pod pewnymi względami lepszy, bo nie deklarujesz adresu każdej zmienej z osobna, więc pomiędzy już zadeklarowane zmienne możesz "wcisnąć" następne bez potrzeby zmiany reszty. W pamięci rozkłada się to tak, że DSEG AT 01H ustawia Ci licznik adresu zmiennych (a właściwie to symboli, bo widzę,...
Zobacz co się dzieje: TCNT1 ma wartość 65535 i za chwilę nastąpi przerwanie, wykonywana jest instrukcja timer1_=TCNT1 i w tym momencie następuje przerwanie. TCNT1 po powrocie ma mniejszą wartość ale jest już po herbacie - licznik==1 warunek po if jest spełniony PORTB=0 i czekamy na następne przerwanie. Dlaczego 20 cykli jest dobrze? Bo przerwanie musi...
1. Ustawienie dzielnika częstotliwości (prescallera) włącza licznik. 2. Po wystąpieniu przepełnienia licznik automatycznie liczy od zera. 3. Tak, przerwania są globalnie wyłączane na czas obsługi któregoś z nich.
Pozmieniałem troche program ale nie działa prawidłowo prędkość strasznie skacze od 0 do 240 km/h -bo nie zerujesz co 1 sec. licznika impulsów (Timer0), ponadto ,masz zbyt duży błąd zaniżając zakrses zmienmnej "Licz" - as byte Porównaj: $regfile = "2313def.dat" $crystal = 8000000 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin ,...
Jak już pisałem, dawno nic nie robiłem w bascomie, ale poniżej daję ogólny zarys opóźnienia dla przycisku przy użyciu licznika Config Timer0 = Timer , Prescale = 1024 Enable Interrupts On Timer0 , Czas Dim Flaga As Bit Main: Do If Pinx.x = 0 and Flaga = 0 Then Load Timer0 , 25 '0,0256s. dla 1MHz Enable Timer0 End If If Flaga = 1 Then Reset Flaga...
Objawy dalej takie same. Zaczynam podejrzewać, że mikrokontrolery mam uszkodzone. I jeszcze taka ciekawostka: gdy wyjmę z podstawki uP, który pełni rolę "generatora" po włączeniu całości na wyświetlaczu pokazuje wynik 50. Skąd to się bierze? Przeciez nie masz konfiguracji portu wejsciowego dla licznika (Timer0), i brak podciagania do Vcc. Korzystasz...
Bascom jeszcze nie obsługuje PWM w Timer0 z poziomu CONFIG. Trzeba skonfigurować "ręcznie" przez bezpośrednią modyfikację rejestrów sterujących licznika. :(
Parę zmian i z 117% zrobiło się 91% :), a można jeszcze niżej zejść. Mam nadzieje że byka nie zrobiłem :): [syntax=basic4gl]$regfile = "attiny2313.dat" $crystal = 8000000 ' dodano wielkości stosów i ramki ----------------- ' jeżeli będzie za mało ramu wartości można zmienić $hwstack = 40 $swstack = 16 $framesize = 32 '---------------------------------------...
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ść licznika Timera0, ale po cholerę. Jeżeli to ma być...
Zdefiniuj zmienną Temp jako Word. Jak ci ma wyświetlić 600 jesli zmiena Byte może przyjąc max wartość 255. Właśnie powyżej tej wartości będą ci sie wyświetlać dziwne rzeczy. No to może wytłumaczę jak to zrobić na zmiennej typu Byte według wyżej wspomnianej ideii. $crystal = 4000000 $regfile "attiny2313.dat" Dim Pomiar As Single Dim Temp As...
Witam Musisz skonfigurować Timer i za jego pomocą odliczyć 4 minuty. $Crystal = 11059200 Config Timer1 = Timer, Prescale = 1024 Load Timer1 , 10800 On Timer1 Sekunda Config Pind.1 = Output : Wy Alias Portd.1 Config Pind.2 = Input : We Alias Portd.2 Dim Licznik_1 As Byte Dim Wsk As Bit Enable Timer1 Enable Interrupts Licznik_1=0 Wsk = 0 Do If...
Dzieki za szczegolowy opis, wczesniej zbyt szybko pospieszylem sie z odpowiedzia :) . Jeszcze raz przyjzalem sie programowi i mam watpliwosc co do odczytu z 16b. rejestru TCNT1. O ile zapis jest zgodny ze specyfikacja atmela (zobacz strona 83 pdf-u Tiny2313) najpierw wpis to bajtu starszego a pozniej mlodszego to odczyt powinien byc w kolejnosci odwrotnej....
Witam zrobiłem projekt licznika rowerowego opierającego się na wyświetlaczu od nokii 5110 wgrałem na arduino wszytko śmigało a jak chiałem przegrać na Attiny 3213A to wykrzaczył mi się problem z kompilacją nie wiem o co chodzi więc proszę o pomoc biblioteki to adafruit_pcd8544.h i adafruit_Gpx.h
problem jest w tym że ten układ 4017 jest wyzwalany zboczem opadającym. Licznik 4017 reaguje na: - zbocze ujemne (opadające) zegara podawanego na CP1 (p.13) przy CP0 (p.14) połączonym z +Uzas, - zbocze dodatnie (narastające) zegara podawanego na CP0 przy CP1 połączonym z masą. Pozdrawiam.
koniecznie zmień kolejność (manual str 88 ) TCNT1L = 0xDC; TCNT1H = 0x0B; na TCNT1H = 0x0B; TCNT1L = 0xDC; albo lepiej w C TCNT1=0x0BDC napisz co wyszło abstrahując od wszystkiego zmieniłbym algorytm tzn: wprowadziłbym dodatkowe zmienne licznika, i umieścił wszystko na jednym przerwaniu. Na pierwszy rzut oka to komplikacja, jednak w rzeczywistości przesuwasz...
Można próbować konfigurować licznik TIMER0 jako PWM zgodnie z tym co napisałem w helpie :arrow: http://zbeegin.republika.pl/bashelp/s_co... Składnia przejdzie, ale nie wiadomo czy wszystko zostanie ustawione dokładnie tak jak chcesz. Jest już późno, więc nie napiszę testu i nie sprawdzę jak to rzeczywiście wygląda "od środka" dla Tinego2313....
Witam. Licznik 4017 "zapalający" kolejno 3 diody LED powinien być tak połączony: http://obrazki.elektroda.net/43_12354806... Diody można sterować bezpośrednio z wyjść 4017 (z rezystorem R3) pod warunkiem, że są to diody "małej mocy" i niewielka jasność świecenia będzie - w tym zastosowaniu - wystarczająca (sam oceń). Przy większych prądach...
To co napisałeś w pierwszym poście jest sednem sprawy. Jeżeli zaczynasz to różnica dla ciebie jest praktycznie żadna. Radzę wybrać attiny, bo at90s2313 już chyba nawet nie jest produkowany, i attiny można chyba więcej razy "nakarmić" kodem bo at90s2313 to tylko :D 1000 razy, a jak zaczniesz się bawić to licznik jakoś tak szybko leci :D
Czas otwarcia wtryskiwaczy mierzysz za pomocą 1 timera, ale nie tak od razu. Są dwie metody: pierwsza to podpięcie (przez transoptor) wtryskiwacza do wejścia timera i wejścia przerwania - po wykryciu przerwania (początek stanu niskiego) startujesz timer, przestawiasz stan aktywacji wejścia INT na przeciwny i procek wraca do pętli głównej, po ponownym...
Masz błędny kod. Jak chcesz by program działał jak trzeba to musisz wiedzieć co robi każda linijka. Włączasz przerwanie od przepełnienia timera0, a nie maż funkcji do jego obsługi. Deklarujesz funkcję do obsługi przerwania zewnętrznego, a nie masz funkcji obsługi i nie zezwalasz na to przerwanie. Na moje oko to po uruchomieniu timera procesor się zresetuje...
GETRC5 używa licznika TIMER0. Albo TIMER2 jeśli go układ posiada i tak go skonfigurujesz w CONFIG RC5. Aby ustrzec się dziwnych błędów (z adresami linii poza programem) nie zapomnij o wpisaniu nazwy pinu w CONFIG RC5. Sam kod bazuje na dokumentach ATMELa: http://www.atmel.com/dyn/resources/prod_... I tam można całą procedurę prześledzić....
Takie programy to się całe pisze w przerwaniu bez zbędnych kombinacji. Przy okazji można dodać funkcję płynnego przechodzenia pomiędzy jasnościami PWM żeby to jakiś bajer miało. Przycisk sprawdza się dwuetapowo, że został wciśnięty i że został puszczony. ale nie można tego robić za szybko bo zakłócenia wchodzą. Efekty świetlne trzymaj w DATA, tak łatwiej...
Zamiast robić tam opóźnienie można policzyć ile taktów zajmie uartowi wysłanie ostatniej ramki i robić sobie inne potrzebne operacje ,które zajmują czas a po odpowiedniej ich liczbie zmienić stan porty i tyle . Asembler daje wiele możliwości wykorzystania czegoś co się nazywa opóźnieniem . A jak masz wolny licznik to można na nim zrealizować opóźnienie...
Co do magnesu i kontaktrona. Wystarczy magnes zamocować na jednej ze szprych, a kontaktron na widelcu. Tak jak jest to zrobione w licznikach rowerowych.
Najprościej będzie chyba zrobić programowego pwm-a, bo po pierwsze attiny nie ma 3 niezależnych kanałów pwm, a po drugie, jeśli wykorzystamy liczniki do pwm-a to będzie problem, żeby sterować zmianą kolorów np. co jakiś czas...
Musisz zaznaczyć cały tekst który chcesz pokazać jako kod, a następnie zaznaczyć napis Code $regfile = "attiny2313.dat" $crystal = 8000000 'kwarc 1MHz $prog &HFC , &HE4 , &H9F , &H00 ' generated. Take care that the chip supports all fuse bytes. Config Timer1 = Timer , Prescale = 64 'timer1 jako licznik 15536 Config Int0 = Rising 'detetor zera...
Witam. Napisałem program do migania diodami i mam trzy pytania: 1.Czy da się ustawić cały port w stan spoczynku (coś w stylu PORTD = 0)? 2.Czy po każdej komendzie IF trzeba pisać END IF, czy da się to jakoś ominąć? 3.Czy poniższy kod jest poprawny, czy będzie działał? 1. Tak, możesz tak pozostawic. Bascom akceptuje kilka form ustawienia poziomu pinów...
Witaj, Brakuje jeszcze paru informacji: 1. deklaracji zmiennej licznik 2. gdzie definiujesz zegar ? 3. czy prawidłowo masz ustawione fusebity?
"Początkowo program działa poprawnie" to nie dziwne, że na początku działa ci poprawnie a potem leci w przysłowiowe "maliny" nie potrafisz kolego jeszcze dobrze się posługiwać przerwaniami i samą konstrukcją programu - masz tak namieszane że szok w zasadzie czytając sam program to nie wiadomo dokładnie co chciałeś uzyskać pierwsza wskazówka - najpierw...
Rozumiem że zaczynasz licznik timera od 0 Dokładnie //tryb CTC, zmień stan OC0B (czyli PD5) po każdym przepełnieniu TCCR0A = (1<<COM0B0) | (1<<WGM01); Tu niestety nic nie rozumiem. :( CTC znaczy Count To Capture. W tym trybie timer liczy w górę aż osiągnie pewną ustaloną wartość. W tej konfiguracji, wartość ta jest przechowywana w rejestrze...
To wywal przed while lub do init() , nie ma sensu aby procesor to ustawiał milion razy na sekundę : Natomiast kod w przerwaniu zmień na : PORTB = (0<<PB1); jest równoważny PORTB = 0; , więc zeruje również PB0 . Operatory logiczne proszę się zaprzyjaźnić... ;) Ostatecznie proponuję takie kodzio:[syntax=C]#include <avr/io.h> #include <avr/interrupt.h>...
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" ;***************************************... ; Definicje ;***************************************... .def czas1...
Najważniejsze, wskazanie bieżące na liczniku pokrywało się z ostatnią fakturą? Sprawdziłeś? Nie. Po co napisałeś post # 59
Witam. Jestem bardzo początkującym "programistą". Na płytce AVT3500 stawiam pierwsze kroki przy programowaniu ATTINY2313. Postanowiłem spróbować zrobić program pracujący w następujący sposób: dwa wyświetlacze LED wyświetlają multipleksowo stan dwóch niezależnych liczników dziesiętnych ( 0..9 ) np. L1 i L2. Licznik L1 zlicza przyciśnięcia przycisku S1...
Hello ! Either here pen state with that instrument building,, doesn't go me feeder tension on UC 2843B excitor semiconductor triode. It'll be cell problem yet I'm did not come at it from where there is taking tension on best IC 2843B.So that doesn't go at all change unit.
Na zakończenie powiem, że wiem, jak nierozsądne jest budowanie takiej ‘maszyny czasu’ na właściwie już przedpotopowym ukontrolerze, Wystarczy nowsza atmega z serii AVRxxEAxx czy AVRxxDyxx, czy nawet nowsze attiny. One mają system zdarzeń gdzie sprzętowo można łączyć liczniki w 32 bity i więcej, więc niepotrzebna jest taka ekwilibrystyka programowa....
Jest ten tryb w ATmega48-328 i w ATtiny 2313 dla liczników 8-bitowych. I może w innych procesorach. Czy jest to spowodowane tym że OCR jest "double buffered" w trybie PWM a ICR nie? I czy OCR w innych trybach nie jest podwójnie buforowany? Trzeba sprawdzić- jak pisza że jest- to jest a jak nic nie piszą- to nie jest. Tylko sie chwalą- a nie napiszą...
Z jaką znowu biblioteką? RC5SEND jest w kompilatorze jako code template a nie w bibliotece i zmienić się jej nie da. RC5SEND korzysta z 16-bitowego licznika TIMER1, którego to ATtiny45 nie posiada . Ma tylko dwa 8 bitowe liczniki. Rozwiązanie jest i to na forum MCS Electronics. Poszukaj!
Zacznij od wyboru właścwego mikrokontrolera, który ma wszystko, co trzeba. Wrzuć przynajmniej rezystory szeregowe. Pomyśl o zabezpieczeniach ESD. W obecnej wersji jest to raczej karykatura tego, co ma być. Potencjalny użytkownik zapewne potrzebuje informacji, co jest błędnie zwarte lub rozwarte. No i w jaki sposób sprowadzisz ten licznik do znanego...
Ale odpowiedzi dla nouki? W Bascomie można wstawić wartości do rejestrów, niekoniecznie w asemlerze. Ja to robiłem tak: Set Tccr1b.cs10 'start timer1 Else 'a jak nie Czas = Timer1 'odczytaj czas (liczbę zliczonych impulsów) z timer1 Reset Tccr1b.cs10 'zatrzymaj licznik Timer1 = 0 'wyzeruj licznik(żeby po następnej zmianie wyjścia komparatora mógł liczyć...
ja bym to na liczniku up/down zrobił.. na moje łatwiej niż na attiny bo nie trzeba programować..
Nijak z żadnego kodu nie mogę się doczytać na chłopski rozum kiedy on mierzy czas od Rising do Rising. Nie używaj więc chłopskiego rozumu - użyj własny! Wyjaśnienie powinno być zbędne bo jest bardzo trywialne; - obracając wiatrakiem, w pewnym momencie wbudowany tam hall switch daje impuls na INT0, co wtedy robisz w programie? - odsyłasz go do etykiety...
Hej! Mam wodomierz Apator JS 4, chciałbym zczytywać z niego użycie wody w sposób kablowy (obecnie stosuję nakładkę radiową AT-WMBUS-16-2 i nie jestem zadowolony - odczyty często gubione a odbiornik 30 cm od licznika). Moduł impulsowy AT-MBUS-NE-02 jest ciężki do dostania (i dość drogi). Zastanawiam się, jak samemu sklecić jego odpowiednik. Czy ten wodomierz...
Witam. Zaczynam własnie swoją przygode z mikrokontrolerami . Posiadam już programator ISP STK 200/ 300 i program PONY PROG . jako pierwszy układ do zrobienia wymyśliłem sobie licznik na Attiny 2313 http://www.elektroda.pl/rtvforum/topic74... mój pierwszy problem polega na tym ze niewiem jak zgrać program do mikrokontrolera . ja narazie próbuje...
Witam. Muszę wymienić diody w liczniku audi A4 B5 2000rok, lift. Nie wiem jakie zakupić. Będę wdzięczny za pomoc.
Trochę to trwało za nim coś skleciłem Za mało czytałem bo mi coś nie wyszło kod wygląda tak Dziwne rzeczy robisz z klamrami przy IF NIe wiem co na to kompliator czytelna składnia [syntax=arduino] if (wyrażenie) { jeśli wyrażenie jest prawdziwe robimy to co tu wpiszemy; } else { jeśli fałszywe robimy to co tu wpiszemy; } [/syntax] tym czasem u Ciebie...
Zapraszam do zakupu, sterownik Bridge działa i był testowany przeze mnie i (at)valeklubomir, mogę pomóc w konfiguracji
Można trochę bajtów zaoszczędzić :) Dodaj bibliotekę obsługującą hardwarowe TWI: [syntax=basic4gl]$lib "I2C_TWI.LBX" ...... I2cinit Config Twi = 100000[/syntax] Odczyt danych z EEPROMU, zamiast: [syntax=basic4gl] Dim Mz1 As Byte Dim Gz1 As Byte Dim Mz2 As Byte Dim Gz2 As Byte Dim Mz3 As Byte Dim Gz3 As Byte Dim Mw1 As Byte Dim Gw1 As Byte Dim Mw2 As...
Czyli tak: 1.)Wodomierz # Nakładka radiowa AT-WMBUS -16-2 Moduł komunikacyjny – optyczny (stany licznika) 2.)Nakładka radiowa AT-WMBUS -16-2 # konwerter APT-VERTI Tranmisja radiowa 868,95 MHz >>>> Wireless M-Bus 3.)Konwerter APT-VERTI # program odczytowy Metis-(aplikacja Tablet) Wysyłane są ramki radiowe z info odczytu Moduł komunikacyjny –...
Zastanów się co się stanie, gdy zwiększasz wartość zapisaną w rejestrze PORTB na początku pętli nieskończonej: PORTB = 0b00001000 - mamy włączone podciąganie W czasie przyciskania: PORTB = 0b00001000 PORTB = 0b00001001 PORTB = 0b00001010 PORTB = 0b00001011 PORTB = 0b00001100 PORTB = 0b00001101 PORTB = 0b00001110 PORTB = 0b00001111 PORTB = 0b00010000...
Ciąg "Timer0" faktycznie nie zmienia koloru, ale jest to tylko błąd kosmetyczny. Po kompilacji nie ma żadnych błędów, zaktualizuj sobie program do jakiejś nowszej wersji. A jeśli będą jakieś problemy, to polecam ręczny wpis do rejestrów licznika, z takimi "rzadziej spotykanymi" prockami zwykle są jakieś kwiatki :)
a nie piekielnie szybka liczarka monet :) No to rzeczywiście musiała by być piekielnie szybka, żeby być szybsza niż attiny dodający do dowolnej długości integera.
W ATMEGA808 (zapewne w innych nowych też występujący) wychwyciłem błąd związany z zachowaniem się RTC po wybudzeniu z uśpienia STANDBY. Mam kod, który w przerwaniu od pinu odczytuje zawartość RTC_CNT. RTC oczywiście ustawiony w trybie RUNSTDBY. Odczyt CNT odbywa się zaraz na początku obsługi przerwania. Okazuje się, że raz na kilkanaście odczytów wartość...
Możesz spróbować mniej więcej tak: // deklaracja zmiennych globalnych volatile uint8_t prev_tcnt, T; // w funkcji 'main' // skonfiguruj przerwanie INT0 tak, by reagowało na obydwa zbocza MCUCR |= (1<<ISC00); // używaj raczej makra ISR ISR(INT0_vect) { // sprawdzasz które zbocze wywołało przerwanie // jeżeli zbocze narastające,...
No ale co z ceną - 3 CMOSY i ten kawałek wiekszy laminat to grosze, a za ATTiny wołają u mnie w miescie 15zł...
Witam. Chciałem zrobić sobie podświetlenie deski rozdzielczej zmieniane w zależności od obrotów silnika. Teraz pytanie czy Attiny da radę ? I czy lepiej sczytać sygnał prędkości obrotowej silnika bezpośrednio z czujnika halla czy lepiej z tego co wychodzi do licznika z ECU (jednostki sterującej) ? Jeśli chodzi o język wolałbym w Bascomie - szybciej...
Programator do pamieci ATtiny AT90S ATmega ATtiny12 AT90S1200 ATmega8 ATtiny15 AT90S2313 ATmega16 ATtiny26 AT90S2323 ATmega32 AT90S2343 ATmega103 AT90S4433 ATmega128 AT90S8515 ATmega161 AT90S8535 ATmega163 ATmega603 ATmega8515
Witam Mam mały problem z programem, potrzebuję zrobić na ATtiny 24 generator prostokątny i coś mi nie idzie. Wiem że do tego służy tryb CTC licznika. Oto co napisałem licznik: ldi Rtemp, 0x10 out TCCR1A,Rtemp ldi Rtemp, 0x09 out TCCR1B,Rtemp ldi Rtemp, 0x40 ;out TCCR1C,Rtemp ldi Rtemp, 0 out OCR1AH,Rtemp ldi Rtemp,100 out OCR1AL, Rtemp Próbuję symulować...
licznik attiny licznik impuls attiny attiny licznik impulsów
pomiar prąd rozrusznik pozby farba farba zimny silnik gaśnie hamowania
samsung renaissance samsung renaissance
Mitsubishi Canter 3S13 4P10 – kiedy wymienić łańcuch rozrządu, objawy zużycia, interwały Błąd F01 w płycie indukcyjnej Teka - co oznacza?