Na razie patrzyłem tylko w dokumentację Bascoma... dokumentacje tego procka ma coś koło 250 stron :/ Jeśli już wiesz ogólnie jak działają avr-y , to wtedy dokumentację czytaj wybiórczo , czyli tę część która Cie interesuje ;) Z dokumentacji Bascoma wynika, że stosując polecenie config timer nie da się ustawić prescalera dla trybu PWM... Między innymi...
Witam, niestety ale chyba coś jest nie tak? Na wstępie należałoby wyjaśnić że nie ma czegoś takiego jak "automatyczne przeładowanie timera" (reload/load timer1 powiedzmy). Termin ten jest związany z procedurą konfiguracji timerów występującą tylko w trybie "Normal", gdzie każdorazowo początkowa wartość timera musi być wpisana przez processor. Taka...
Mimo że port ma 7 wyprowadzeń to zawsze ustawiaj 8 bitów, bo to wciąż port 8-bitowy tylko że z obciętymi nóżkami. Regulację szybkości robi sie łatwo. Dodajesz jakąś zmienną np LICZ i teraz co każde wejście do przerwania timera to zwiększasz tą zmienną o 1. Teraz porównujesz ją z drugą zmienną np SZYBKOSC. Jeśli LICZ > SZYBKOSC to wykonujesz zawartość...
O układ DS3231 lekko zahaczyłem (...) Cenę sprawdziłeś? Dodano po 1 W pętli głównej procesor nie robi nic. ************************************* Do Loop End ************************************* Oznacza to, że czas odmierzasz w przerwaniach. Mam nadzieję, z timer pracuje w trybie CTC. W takiej sytuacji w pętli głównej usypiaj procka. Bascom ma odpowiedni...
Witam. Ostatnio zacząłem bawić się w obsługę RC5, ponieważ jest mi ona potrzebna w pewnym projekcie. Po uruchomieniu odbiornika na M8 przyszedł czas na nadajnik. Prowizoryczny był na M8 jednak docelowy miał być na attiny45, ale trochę zbyt późno dowiedziałem się, że Attiny nie posiada 16-bitowego timera1, a także Bascom nie potrafi skonfigurować jego...
Witam Wszystkich Pisze kod do zegarka binarnego (zaczynam) jestem na etapie sekund. Licznik działa ale nie włącza poszczególnych diod led. Sterowanie diod jest za pomocą multipleksowania. Skupiłem się na razie tylko na wyświetlaniu sekund jak to ruszy to reszta pójdzie łatwo. Procesor attiny 2313 kwarc 20MHz Bascom. [syntax=basic4gl] $regfile = "attiny2313.dat"...
Witam Stworzyłem urządzenie, które wyłącza przekaźnik po żądanym czasie który wybiera się poprzez naciśnięcie guzika. Do wyboru są trzy czasy 4h, 6h i 8h. Guziki są podłączone do PB0 PB1 i PB2 i do masy a tranzystor do PB3. Problem mam z programem. Myślałem, że wystarczy godziny przeliczyć na sekundy i podać po komendzie Wait Ale jednak to nie działa....
Witam zainteresowanych tematem. Uplynelo juz wiele dni kiedy ostatni raz opisalem swoje dzialania z modulem RFM65W. Teraz zebralem wiele doswiadczen i doszedlem do wniosku, ze ustawienie rejestrow w RFM65W jedynie udalo mi sie za pomoca ARDUINO po wgraniu programu w /w tego opisu. https://forum.arduino.cc/index.php?topic... Ale to jest przejsciowe...
Dzięki zbig_wwl. Pokombinuje z tym stosem. A co do PWM to faktycznie nie używam go bo i po co:) Pilot ma następujące zadanie: Po uruchomieniu włączone zostaje przerwanie int0. Po wciśnięciu przycisku zewnętrznego (dodane obwody eliminujące drgania styków) program wyłącza przerwanie int0, generuje zmienne na podstawie zawartości timera0. Następnie odblokowywane...
Odkopię temat bo mam problem też z Attiny13. Problem jest następujący: po skonfigurowaniu timera0 jaki licznik zaczyna on zliczać kolejne takty procesora z określonym preskalerem. Jeżeli skonfigurujesz którykolwiek Timer (w dowolnym AVR) jako licznik (COUNTER) to przestaje on zliczać takty processora, a oczekuje na taktowanie zewnętrzne na odpowiedni...
Racja. Do tego typu obliczeń są potrzebne większe procki. Wracając do tematu licznika. Stworzyłem już kod, który odlicza czas i zlicza naciśnięcia(maksymalne wychylenia). Nie mogę dojść do sposobu jakim mam obliczyć resztę. Nadal ufam,że jeszcze na ATtiny uda mi się to zrobić :) Wzór G = k * l/T^2 gdzie k tam stały współczynnik 39,44 l - długość, zakładam...
Witam wszystkich wszech wiedzących. Mam taki drobny problem, otóż w zestawie uruchomieniowym zl11avt zaprogramowałem mikrokontroler attiny 2313 żeby na wyświetlaczach led był zegarek z budzikiem. Po zastanowieniu sie zobaczyłem że mam 4 porty wolne i mogę wykorzystać je do czego chce. Chciałbym żeby to był normalny zegarek ale gdy na PD2. (wolnym) pojawi...
Zamieszczony wcześniej kod jest sprawdzony - działa na atmega8 Również po pomyfikacjach portów działa na attiny2313 i zajmuje 65% flash, wiec jest jeszcze miejsce na jakieś "wodotryski". Używam Bascom demo w wersji chyba najnowszej: 1.11.8.7 build 001 MS windows XP SP-2 Program pod attiny2313 na płytce uruchomieniowej ZL11AVR (Płytka ZL2AVR pod megę...
Poza tym twoja ifologia jest porażająca. Nie wiem o co ci chodzi. Przeanalizuj dokładnie program, porób prawidłowe wcięcia. Musi być tyle samo IF'ów co ENDIF'ów. Tam, gdzie masz IF w 1 linii, zapisz w postaci IF-ENDIF. Bascom często pokazuje błędy w linijkach, gdzie ich nie ma, a są gdzieś wyżej. Dzięki za pomoc. W kilku IF`ach zabrakło Endif`ów. Dodano...
Zrobiłem to tak ale BASCOM pokazuje jakieś głupoty. Dim W1 As Word Dim W2 As Word Dim W3 As Word Dim W4 As Word Dim W1_previous As Byte Dim W2_previous As Byte Dim W2_previous As Byte Dim W3_previous As Byte Dim Koncz_liczenie As Byte Config Timer0 = Timer , Prescale = 64 Enable Timer0 Enable Interrupts On Timer0 Timer0_int Do Timer0 = 0 W1 = 0 W2 =...
Witam Jestem początkującym więc wybaczcie jakieś niedociągnięcia. Gdzie jest problem : Kupiłem książkę i płytkę z układem - Mikrokontrolery dla początkujących. Jest to kurs programowania w BASCOMIE. W rozdziale opisującym programowanie EEPROM nie jestem w stanie zaprogramować EEPROMa. Sprzęt : 1) Programator STK500 po USB 2) Procesor jak w temacie Błąd...
Witam, miałem na zaliczenie zrobić jakiś projekt z wykorzystaniem mikrokontrolera AVR, jako ze miałem tak mało czasu jak doświadczenia to zrobiłem działający projekt ze strony '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 16000000 Config Portb = &B11111111...
Nie przesadzaj ;) Jestem programista ale akurat bascom mi nie podchodzi. Do tego slyszalem ze odmierzyc tam cos precyzyjnie nie idzie - stad opinia. Co do kodu to co tu pokazywac? toggle portd.0 .... waitus ... toggle itd? Tak czy siak twoj kod nie dziala odnośnie gotowca od kolegi pixel.... Juz naprawilem kod. Napilem sie kawy a nastepnie jeszce raz...
waitms zdaje się korzysta właśnie z tego timera więc dlatego może masz ten problem. Spróbuj sobie wrzucić obsługę wyświetlacza w timer1 i wtedy waitms będzie może działał dobrze pozdrówka Robię to na Attiny 26L, wg pdfa on ma dwa timery. Być może ten drugi jest jakiś specjalny, póki co w programie po prostu pozmieniałem "timer0" na "timer1" i niestety...
Zrobiłem jakiś czas temu taki układzik na attiny-13 do sterowania dwoma serwami i linijką diodową pokazującą położenie. Niestety do obsługi dwóch serw trzeba po zaprogramowaniu zablokować ISP: '(Program sterownika dwóch serwomechanizmów. Mikrokontroler Attiny 13. Funkcjonalność: Sygnały Ppm 1 - 2 ms: Sygnał Ppm Serwo1 - Port Pb0 - Pin 5...
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.
To po prostu fototranzystor odbiorczy+dodatkowy, i sygnał z takiego "odbiornika" (np. post #29) wrzucasz na Timer skonfigurowany podobnie jak miernik częstotliwości. Ciebie interesuje jedynie, czy jest odbierany sygnał czy nie, czyli z odpowiednim bramkowaniem, jeśli nastąpi przepełnienie Timera to sygnał jest odbierany, jeśli nie nastąpiło to brak...
... choć nie wiem jaka jest różnica między programowy pwm a "sprzętowym" pwm. Taka jak obsługa oddziału banku przez jedną osobę (kierownika) w stosunku do obsługi przez kierownika i kilku pracowników. W pierwszym przypadku może się uda, ale na wiele więcej kierownik czasu mieć nie będzie lub nawet nie wyrobi się z pracą. W drugim przypadku na pewno...
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...
Zawsze możesz wysterować do testu jedną cyfrę bez używania timera . Ustawiając odpowiednie porty w stan wysoki. Jeśli cyfra świeci dobrze a dopiero podczas multipleksowania zaczyna świecić znacznie słabiej oznacza że nie bierzesz pod uwagę średniego prądu segmentów jeśli przełączasz 4 cyfry to każda z nich świeci przez 1/4 czasu więc prąd segmentów...
Co do kwarcu to definiujemy go zawsze, niezależnie od tego czy proc pracuje na zewnętrznym, czy na wewnętrznym, bo to jest informacja dla kompilatora, wg jakiej wartości ma wyliczyć czasy dla różnych instrukcji. Jeżeli to jest "nówka sztuka" to pracuje na wewn. 1MHz. Jak sam zauważyłeś, instrukcja "Loop" powinna znajdować się po ostatnim "Endsub", ale...
Mniej więcej tak: $regfile "Attiny2313.dat" $crystal = 4000000 Config Pind.3 = Output Config Pind.0 = Input Config Pind.1 = Input Config Pinb.3 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 8 Dim I As Byte S1 Alias Pind.0 S2 Alias Pind.1 Set Pind.1 Set Pind.0 Pwm1a = 0 Do If I...
O co mi dokładnie chodzi: W helpie Bascom jest napisane, że w przypadku kości 8535 mam do dyspozycji preskalery 1, 8, 32, 64, 128, 256, 1024, a dla kości M103 1, 8, 32, 64, 256, 1024. Ja zaś posiadam kość M32 i w PDF, który dotyczy tego mikrokontrolera jest tabelka na 127 stronie, która zawiera w sobie jakby wykaz dostepnych częstotliwości, ktorymi...
C czy Bascom? Jeżeli Bascom to konkretną odpowiedź masz tutaj: [url=http://www.elektroda.pl/rtvforum/to... Co do C, konfigurację znajdziesz [url=http://www.elektroda.pl/rtvforum/to... Wystarczy zamienić tylko niektóre rejestry, ctrl+f w datasheet'cie aby zobaczyć który od czego.
Cześć. Po dłuższej przerwie wróciłam do AVR i Bascom. Mam program na Attiny 2313 - działa. Program przepisałam teraz na attiny261, kompiluje sie normalnie, niestety nie mam procesora żeby sprawdzić. Program to proste zależności - "jeśli tu stan niski, to tam i tam też" Żadnych wodotrysków typu ADC czy PWM, nawet z timerów nie korzystam... Czy może mnie...
... Co jest nie tak? Grzech stary jak AVR-y :D Zmień w kodzie Pinb.1 na Portb.1 i pomyśl ;) Piotrek
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...
Przerwania i Timery to rozwiązanie idealne i książkowe, na początek, ale tylko do nauki możesz zrobić na Wait'ach, ale nie polecam tej metody bo prowadzi do złych nawyków...
trochę mały ten preskaler.
Hmm Nie jest to takie proste jak sobie wyobrażasz. Najprostszy zegar jaki ja często stosuję: Oczywiście preskaler i początkowa wartość timera dostosowana jest do 8Mhz Jeśli chcesz zastosować zegar z innym taktowaniem musisz sobie obliczyć początkową wartość i preskaler. $regfile = "m8def.dat" $crystal = 8000000 Dim Sekunda As Byte Dim Minuta...
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...
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 timera wpisujesz nową próbkę do rejestru generatora...
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ć....
Jak użyć timera (tzn. jak wyciągnąć z niego np zmienną dodawaną, lub resetowaną co określony czas?) Boję się jeszcze TIMERów :) Nie ma się czego bać. Oto prosty programik, który na pewno pomoże. 796182 Jednak dziwię się dlaczego nie używasz sprzętowego PWM. Attiny 2313 posiada ich cztery. Na każdym z timerów po dwa. [syntax=vbnet]Dim R As Integer Dim...
Poza zmianą nazwy portów będziesz musiał odpowiednio skonfigurować obsługę timera bo z pewnością on jest wykorzystany do liczenia czasu i obsługi wyświetlacza led .
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...
Dawno Bascoma nie używałem ale to będzie coś takiego: On int0 czas 'przerwanie zewnetrze (wejście impulsów) do czestotliwosc=1/czas 'obliczenie czestotliwosci z czasu pomiedzy impulasmi loop czas: stop timer0 'zatrzymaj timer czas=timer0 'odczyt z timera timer0=0 'wyzerowanie timera start timer0 'ponowne uruchomienie timera return Oczywiście...
Czyli zwykły prosty miernik częstotliwości z jej porównaniem przy pewnej wartości - bez problemu się to na jednym timerze realizuje... Zobacz tu: [youtube]http://www.youtube.com/watch?v=... Złapałem tym nawet 40tys. obr/min :) Co prawda to przykład na attiny44, bo obsługa wyświetlacza i takie tam duperele zabierają jednak piny i pamięć...
Dzisiaj na stronie elportalu znalazłem komentarz na temat bascoma i ATtiny. Bascom nie obsługuje prawidłowo ATtiny. Start Timer0 czy stop Timer0 nie działa (przynajmniej dla ATtiny2313). Trzeba wpisać do odpowiedniego rejestru właściwą wartość żeby timer wystartował itp. Trzeba się zapoznać z dokumentacją. Rejestry sterujące timerami są podzielone na...
9600000Hz/70000Hz=137 takty 9600000Hz/150000Hz=64 takty Z takimi rozdzielczościami się tam musisz liczyć. Dla 37kHz i innych konfig uzyskasz klikając CTRL+SPACE. Bascom sam podpowiada jakie masz możliwe ustawienia. Nie pamiętam tylko czy jest to FastPWM czy PhaseCorrect który jeszcze spowolni sprawę o połowę. W Tiny85 masz Timer który może być taktowany...
Hmm. Nie wiem jak. Bascoma uczę się od dopiero 2 dni. Może kolega podać jakiś przykład? 1. Do rozpoznania naciśniętego przycisku zastosuj "DEBOUNCE" 2. Do pomiaru czasu w multiplexing zastosuj dowolnyTimer (może byc timer1, skoro już zacząłes go używac). Dla ławości rachunków zastosuj podstawowy czas pomiaru 4 mSec. Co 4 mS zrobisz multiplexing cyfr...
Na 100% działa: Dim I As Byte I = 0 Do If PINB.1 = 0 Then If I < 255 Then Incr I Else If I > 0 Then Decr I endif Pwm1a = I Pwm1b = I Waitms 100 Loop Dodano po 2 $crystal = 8000000 Config Pinb.3 = Output Config Pinb.4 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1 Dodano po 3 I oczywiście...
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 '---------------------------------------...
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...
Witam "Podpinam się" pod pytanie. Dotyczy czterech wyjść OCxx w ATTiny2313. ...Tylko tych opisanych jako OCxx ..... Właśnie. OC1A i OC1B "wiszą" na Timer1 . Bez problemu można poprosić Timer1 i oba wyjścia do pracy w PWM. Timer0 w BASCOM nie pozwala się ustawić w Config Timer = PWM , PWM = 8 , .... (co za tym idzie też OC0A oraz OC0B) :( Po Compile...
[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...
bascom timer attiny timer attiny attiny timer
dziać siłownik centralne zamek wymieniłem stacyjki filtr zasilania samochodu
ekspres delonghi napełnij zbiornik kabel brake radio
Myjka ciśnieniowa Kärcher, Nilfisk, MacAllister – jak uruchomić podawanie detergentu z pojemnika? Różnica między błędem oczekującym a potwierdzonym OBD2 – diagnostyka DTC, MIL, ECU