Albo z drugiej strony: wprowadzasz dodatkową zmienną przechowującą wartość aktualnego czasu w minutach (niestety potrzebna będzie zmienna typu word), podobnie czas załączenia - oczywiście przeliczanie to tylko x = Godz * 60 x = x + Min Pozostaje jedynie porównać obie zmienne.
Coś w ten deseń chociaż żeby to przetłumaczyć toczka w toczkę to najlepiej by było użyć Config Base = 0. Wtedy tablice mogą się zaczynać od indeksu zero czyli można by wpisywać do Delays(0) - Delays(Steps-1) a tak tego nie masz. Tutaj może nawet nie jest potrzebny warunek If I > 1 bo to chyba w Arduino jest po to by nie było mnożenia I * 4 + 1 bo...
Uważam, że moderator ... Działania moderatorskie wykonuję na czerwono za pomocą odpowiednich funkcjonalności. Niestety raz się zdarzyło że na czerwono wyciąłeś tekst o "niewygodnym" środowisku programistycznym :D Ale nie o tym będę pisał. Napiszę jak to wyglądało u mnie. Ja zaczynałem od BASCOMa. I to BASCOMa '51. Były artykuły w EdW. Nie miałem jeszcze...
Załóżmy że chcesz uzyskać 100Hz. Procesor kreci się na przykład 8MHz. Timer napędzany jest sygnałem takim jak procesor, ale można ten sygnał podzielić tak żeby, na przykład co 1024 takty procesora do Timera trafiał jeden takt. Taki podział uzyskuje się za pomoca preskalera. Teraz wiadomo że Timer jest już taktowany wolniej bo co 1024 takty z 8MHz, ale...
Przepraszam ale w pierwszej wypowiedzi popełniłem błąd logiczny - oba przerwania powinny być ustawione na te same zbocze a nie różne. Dlaczego, bo tak jak napisałem wcześniej nie będzie można określić kierunku zmian, zawsze bedzie ta sama kolejność wywoływania przerwań. Obojętnie czy kręcimy w lewo czy w prawo. np. ChA narastanie 0->1 a ChB opadanie...
Problemy: 1)Nie wiem czy tak ma być, ale nie ustawiłeś na PortB.1 stanu wysokiego, aby podciągnąć złącze. 2)Źle zagnieżdżone IFy. Powinno być: [syntax=basic4gl]Do If Pinb.1 = 0 Then Waitms 20 L = L + 1 If L = 3 Then Set Portb.2 End If If L = 6 Then Reset Portb.2 L = 0 End If End If Loop [/syntax]
może zrób to na przerwaniach .,Jedno obsługiwało by dodawanie drugie odejmowanie
http://obrazki.elektroda.net/84_11998286... Witam! Kolejnym układem, którym zamierzam się Wam tu "pochwalić" jest miniaturowa stacja meteo.. Kilka projektów, które widziałem na elektrodzie nie były żadnymi stacjami tylko termometrami ;) Moja, choć prosta mierzy jeszcze ciśnienie oraz wilgotność względną powietrza. Układ oparty jest na procesorze...
Czym mniejsze zmienne tym szybciej działa program , jak są 8 bitowe to super bo każde dodawanie , odejmowanie mnożenie to 1clk . tego tyczyła się dygresja "na marginesie" Ahahaha :D Co do tej konwersji to jest ona dokonywana w zarezerwowanej ramce której wielkość jest określana parametrem $framesize. Z ramki korzysta wiele wbudowanych funkcji i dlatego...
Czysto informacyjnie - licznik domyślnie liczy w górę, stad odejmowanie wartości CTC(właściwa wartość do odliczenia przez licznik) od 65535. PS: LordBlick czyli w końcu twierdzisz (nie używam CTC),że powinna być wartość 49910? Nie twierdzę nic w tej kwestii, ponieważ obsługa tego przerwania w Bascom nie jest dokładna i nie nadaje się do odliczania sekund...
z tym się nie zgodzę ustawiam je na 1 a drugim końcem są podłączone do masy jeśli go naciskam wtedy pin zwiera się do 0 o procek widzi to jako zero dopiero wtedy dodawanie i odejmowanie wartości P I tymi przyciskami działa prawidłowo (no czasem potrafi dodać np 5 odrazu, ale to nie problem) więc na początek myślę że nie w tym tkwi problem no chyba że...
W tym subie co jedną sekundę masz odejmowanie od jedności sekund ale żadnego wiecej warunku wiec.. masz sec 0 i potem 255. Zobacz co się stanie jak trochę pomodzisz :P [syntax=basic4gl] Dim 1sec As Byte Do If 1sec = 1 Then 1sec = 0 Jesli liczymy w dół Then Gosub Zmniejsz Else Gosub Zwieksz End If Jesli End if 'end if 1sec Loop End Co1s: Counter1 = Counter1...
Witam, potrzebuję 2 funkcje w 1 przycisku. Długie przytrzymanie (5sekund) Sw powoduje zmianę dla D1 i D2 oraz działanie krótkich impulsów Sw, które wywołują miganie D3 (klik Sw - 1 mignięcie, klik Sw - 2 mignięcia, klik Sw - 3 mignięcia, klik Sw - 4 mignięcia, klik Sw - 5 mignięć i od nowa) długie przytrzymanie (5sekund) powoduje wyjście z krótkich...
Deklarujesz zmienną czas jako integer i wszędzie dajesz waitms czas. Teraz deklarujesz np. zmienną poz_czas - będzie ona posiadała wartości np. 1-10. Piszesz obslugę tych przycisków (tak jak dla góra/dół), tylko umieś je w odpowiednim miejscu kodu (my go całego nie widzimy). W instrukcjach warunkowych dla przycisków obsługujących czas daj Incr poc_czas...
Piszę tutaj, bo jestem już zdesperowany. Jak patrzę na układ podpięty do programatora, to aż mi już się niemiło robi. Ale do rzeczy i od początku. Znalazłem w sieci taki kod: [syntax=basic4gl] Dim Pll As Single Dim Fset As Word Dim Dane As Byte Dim A As Single [...] Nastaw: Pll = A I2cinit I2cstart I2cwbyte &HC0 Pll = Pll * 100000 Pll = Pll + 225000...
Dzień dobry, Popełniłem prosty programik na ATtiny2313. Przy naciśnięciu któregoś z guzików (Pind.0 lub Pind.1), zmienia się wartość rejestru Pwm1a - porównywanie ze stanem timera1. Dzięki temu uzyskujemy efekt rampy i rosnącą częstotliwość na wyjściu. Niestety program działa o tyle dziwnie, że czasami się zacina - tzn czasami zmiana częstotliwości...
Witam. Przeszukałem dokładnie internet i nie znalazłem podobnego przykładu stąd zapytanie. Czy może ktoś podpowiedziec jak napisać obliczenia na zmiennych ? Mam zadanie napisać listing i zaprogramować procka , który będzie mierzył ile impulsów z timer1 mieści się w przerwaniu INT1 , tzn. kiedy INT1 =1 wtedy ile w tym czasie impulsów zliczy Timer1. Licznik...
Witam. Jeśli można to bym prosił kolegę asembler o jeszcze trochę dokładniejsze opisanie tego sposobu pomiaru napięcia bo bardzo mnie to zaciekawiło. 1.22 V to stałe napięcie odniesienia wytwarzane przez procesor , na jego podstawie przez wbudowane wzmacniacze operacyjne wytwarza on napięcie 2,56 V . To rozumiem. Jeśli napięcie zasilania podamy również...
Jeśli chcesz to możesz zmienić program na pc choć to odejmowanie 32 jakoś dużo czasu nie zabiera.
Np. W helpie do Bascoma.
Czyli masz już w systemie przerwania zgłaszane ze stałą częstotliwością, zapewne na poziomie przynajmniej kilkuset Hz. Oznaczamy tę częstotliwość jako f. Mamy zmienną a - długą i całkowitą. Inicjujemy ją na 0. W każdym przerwaniu timera: - Dodajesz do tej zmiennej liczbę kroków na 10 s (czyli od 1 do 99) - Jeśli wartość tej zmiennej przekroczy 10*f,...
1 - doprowadź sygnały z czujników do trzech wejść jednego z portów 2- każdy z tych sygnałów doprowadź do wejścia przerwania INT0 ( odseparowane diodami lub przez transoptory np. CNY-17 ) Każde pojawienie się impulsu na jednym z wejść wyzwoli przerwanie INT0 W obsłudze przerwania sprawdzasz stan wejść i porównujesz z poprzednim stanem W zależności od...
Dzieląc (w zasadzie to mnożąc bo mniej zajmuje pamięci niż dzielenie) przez odpowiednią wielokrotność 10 i odejmując. Na kartce sobie rozpisz co od czego odjąć i co przez co pomnożyć i będziesz wiedział co i jak. Musisz z liczby wydobyć jednosci,dziesiatki,setki,tysiace..itd.
Nie opanowałeś nawet poprawnego podłączenia diodek LED do procesora :D Jak myślisz, jak często do wartości PWM'a będzie dodawane 10 lub odejmowane 10?
Wszystko gra tylko co zrobic żeby przyciskiem S2 odejmowac?
Na naciśniecie przycisku robisz żeby jakiejś zmiennej przypisał (w momencie jego naciśnięcia) odczytaną wartość z przetwornika a później za każdym razem od aktualnego odczytu odejmujesz wartość tej zmiennej. Poza tym nie ma raczej sensu w przerwaniu od przycisku (czy w jakimkolwiek innym sposobie odczytu stanu przycisku) robić ponownego odczytu przetwornika....
Kłania się po prostu - najprostsza matematyka ;) masz np liczbę 123 i chcesz wyodrębnić poszczególne cyfry żeby je po kolei wrzucić na wyświetlacz LED 1. dzielisz liczbę 123 przez 100 - resztę z dzielenia odrzucasz i pozostanie ci cyfra odpowiedzialna za setki czyli 1 - prawda ? ;) 2. odejmujesz od liczby 123 liczbę 100 - bo wyżej już wykonywałeś dzielenie...
Ldi R30, 28 Ldi R31, 78 Rcall _lcd_delay ; 20 ms delay at 4 MHz Witam, przedstawiony kod asemblerowy jest niezmiernie prosty w edytowaniu i zmienianiu parametrów instrukcji. Ldi - jak każdy wie, to ładowanie odpowiedniej wartości do rejestru Rcall - wywołanie programu. _lcd_delay: Sbiw R30,1 ;2 cycles Brne _lcd_delay ;2 cycles Ret Sbiw - instrukcja...
A i B są poprawne :) Odnośnie jeszcze punku B. Powinieneś mierzyć szerokość impuslu, czyli czas od zbocza narastającego do opadającego. Ponieważ ATMega tego nie potrafi robić całkowicie sprzętowo, więc zostaje punkt A. Szerokość sprzętowo może mierzyć dopiero XMEGA. Można też czasy pomiędzy kolejnymi zboczami opadającymi, ale wtedy trzeba zadbać o to,...
Pytałeś o różnicę między Reset a "= 0" więc.. Co do Timera to w Bascom jest komenda ułatwiająca jego ładowanie. Nie trzeba odejmować na piechotę. Przy Presc=8 wpisujesz Load Timer1 , 1500 Przy Presc=1 Load Timer1 , 12000 i powinno być 1kHz bo z 12000_000Hz zostają trzy zera i można to policzyć w głowie, albo na palcach :D Kompilator sam to sobie odejmie...
Nie mowie o Twoim wpisie, tylko ogólnie - jak postrzegam rozwiązywanie problemów na tym forum. Ktoś o coś zapytał? Ok, więc zajmujemy się wszystkim innym, byle nie tym o co autor pyta. 3, 2, 1 start! :) Wracając do ukladu: Jest to stan zastany i próba dorobienia do tego płynnego migania Led (rozjazsnianie/ściemnianie, ale nie 1/-1 tylko np kiedy jedna...
Nie wiem czy odbierasz tam jakieś komendy. Wywal te Wait`y. Tutaj po zmianie stanu do zmiennej Blokada zostanie wpisana wartość do odliczenia w dół. Jeśli nastąpi następne przerwanie to w zależności od tego czy minął już czas blokady, to albo zostanie przedłużony jej czas bo ktoś trzyma przycisk dłużej albo.. :D [syntax=basic4gl]Dim Blokada As Word...
Tak, będziesz mógł. Jeśli chcesz liczyć w czasie (a nie chcesz) to mierzony przebieg doprowadzasz do wejścia zegarowego timera, w efekcie każdy impuls powoduje zwiększenie wartości licznika o jeden. Skoro chcesz mierzyć szerokość impulsu to wykorzystujesz wejście ICP timera - timer taktujesz z maksymalną częstotliwością, z kolei impulsy z obrotomierza...
Nie ma gotowej komendy w Bascomie i zaczynają się schody:) Na forum wiele razy był poruszany temat konwersji do BCD. Metody są dwie. Cykliczne odejmowanie, albo dzielenie. Poszukaj dobrze:)
Może kiedyś zaczniesz myśleć "inaczej" :D Jak zrobisz tak to program utknie tutaj na 128ms aż petla się wykona co nie? [syntax=vbnet]Do If Audio = 1 Then For R = 255 To 0 Step -2 Waitms 1 Next R R = 0 End If Loop End[/syntax] Teraz zobacz ciut inne podejście do tematu [syntax=vbnet]Do If Audio = 1 Then If R = 0 Then R = 254 'wartosc zostanie nadana...
"attiny13.dat" $hwstack = 32 $swstack = 18 $framesize = 8 ' tiny13 Dlaczego na samym wstępie wyrzuca mi błąd w liniach: Pwm1a = 0 Pwm1a = 0 Pwm1a = 255 czy nie można przypisać stałej wartości dla Pwm1a? Kolejne błędy są również powiązane z pwm1a. Oczywiście że możne jeżeli taka funkcja jest dostępna. ATtiny13 takowej nie posiada bo nie ma Timera1,...
Adres juz mam, ale nie chce sie dać wysterowac, chodzi mi o sterowanie jednym potencjometrem albo następnym, dokładnie chciałbym się dowiedzieć jak wygląda kawałek kodu który wybiera potencjometr i dodaje wartość lub odejmuje.
Opis magistrali 1Wire masz w helpie. Poniżej kod na obsługę dallasa DS18B20. Config 1wire = P1.0 'konfiguracja magistrali 1wire Config Lcd = 16 * 1a 'konfiguracja wyswietlacza Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 'znak stopnia Dim T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte Dim Tmp As String * 6 Dim Znak As String...
Dzięki kolego ale mnie zaćmiło że polecenie nest niekompletne program działa. I jest w zakresie 1-255 Muszę tylko jeszcze zrobić że: Np I min=1 i jak odejmuje to aby nie wskakiwało na 255 możesz mnie naprowadzić???
Ok, no powiedzmy, że dociera. Jedno pytanie jeszcze: Masz użyte zmienne Wlacz_zima i Wylacz zima, które trzeba zadeklarować osobno, a czy nie lepiej zadeklarować je w podprogramie, bo zdaje się, że nie są potrzebne poza tym podprogramem? A "zwracana-odliczana" jest wartość zmiennej Zima_lato na podstawie której dodajemy lub odejmujemy godziny np z GPS...
Użyj wejścia ICP - wtedy zbocze zgłasza przerwanie i jednocześnie zatrzaskiwana jest zawartość timera. Odejmując dwie takie wartości masz długość impulsu, musisz jedynie zmieniać zbocze, na które reaguje ICP.
Witam. W jaki sposób można w kompilatorze Bascom zapisywać w jednej linii więcej niż 2 operacje matematyczne - tj. dodawanie, odejmowanie, iloczyn 2 zmiennych itp.. Bo mam złożone działania, a dzielenie tego na poszczególne kroki mające za każdym razem tylko 2 zmienne które przykładowo mnożę jest bardzo uciążliwe i muszę stosować dodatkowe zmienne pomocnicze......
http://www.nalanda.nitc.ac.in/industry/a... http://class.ece.iastate.edu/vlsi2/docs/... http://www.freepatentsonline.com/4447803... Oversampling poprawia rozdzielczosc ze wzgledu na szum (wszechobecny) ktory dziala jak dither - jednak potrzebne sa duze wspolczynniki oversamplingu by zobaczyc...
(zmieniłeś post zanim odpisałem więc mój może być trochę nieaktualny) Hahaha z jednej strony racja i czasem się najprostszych spraw nie widzi Tak naprawdę to ASC odejmuje tylko od reprezentacji znaku 48 W sumie wiec można by odejmować od razu 48 i 32 :D Chciałbym jedynie dopisać że te wyliczenia Const robi komputer/kompilator i sa one już jako gotowe...
Dobrze nawet zrozumiales z tym znakiem. ale jesli temperatura jest ujemna to negujesz calosc i odejmujesz 1 zeby miec poprawna temperature (potem dzielisz na 16). i tyle filozofii.. a swoją drogą nie masz zamrazalnika? wez kostke lodu i sprawdz.... ;]
Licznik taki można też zrealizować tanim kosztem na module ze starego tunera sat - kwestia napisania programu, np. w C lub Bascom (dla początkujących i niezbyt wymagających zajmujących się programowaniem okazjonalnie to dobry prosty język). Zobacz przykład wykorzystania https://www.elektroda.pl/rtvforum/topic3...
Początkową wartość Timera1 liczymy: Częstotliwość / preskaler i wynik odejmujemy od 65536 (bo timer1 liczy do tylu) czyli 16000000 / 1024 daje 15625 65536 - 15625 = 49911 I tą wartość ładujemy do timera1
Pomysł jest straszny. Poczytaj o timerach. :D No dobra, ale w tym przypadku timer ma zliczać impulsy i ilość tych impulsów dodawać lub odejmować od zmiennej? I czy do tego wystarczy jeden timer, czy dwa (do dodawania jeden i do odejmowania jeden)?
Witam wszystkich Dzięki za szybką odpowiedź Faktycznie teraz dodaje i odejmuje mi 0,1, ale razem z jednościami Czyli teraz mam np. 12.0; 13.1; 14.2; 15.3 :cry: Co z tym zrobić ?
Witam wszystkich i mam pytanie czy ktoś zajmował się licznikiem do CNC . Chodzi mi o zliczanie kroków jakie wykonuje silnik krokowy sterowany sygnałami STEP/DIR . chciałbym aby licznik liczył w obie strony czyli dodając lub odejmując . Ważna była by możliwość wprowadzania przelicznika przekładni silnik/śruba napędowa . Oczywiście proszę o pomoc w napisaniu...
excel odejmowanie odejmowanie godzin liczby odejmowanie
rozlać widoczny wężyk ekspresu bosch magnesy grubość tarczy
telewizor manta telewizor manta
Growatt 6000 hybrydowy – błąd 300, wyłączanie przy napięciu poniżej 253 V, histereza załączania ASUS DRW-24D5MT Windows 7 SP1 – Nero 6, ImgBurn, CDBurnerXP nie widzą nagrywarki, tylko odczyt i formatowanie CD-RW