Tak jest możliwe. Skoro otrzymujesz za duży czas to zmniejsz wartość wpisywana do timer0 (nie znam bascom więc nie wiem za co który rejestr odpowiada wartość wpisana do timer0, aczkolwiek 40kHz otrzymasz bez problemu).
I to ja ponoć jestem uszczypliwy:D Zaraz będzie pytanie co tam wpisać, podpowiem wartości wyliczone w/g datasheeta.
Jak można wpisać wartość do zmiennej typu string *7 za mocą numerycznych klawiszy ?
tak - takimi programikami można sprawdzić, i wartość należy zawsze wpisać do rejestru przy starcie każdego programu. To jest rejestr w pamięci RAM a nie EEPROM. Nie jest to też Fusebit. Dodano po 2 ale wiesz co? ja bym na twoim miejscu sprawdził ten procek z kwarcem = 8MHz czy przypadkiem się nie okaże że jednak też nie działają wyższe prędkości. Może...
Zerknij tutaj: http://www.elektroda.pl/rtvforum/topic35... Pozdrawiam...
Dla 4 bajtów kod kolegi manekinen'a będzie działał poprawnie(kol. wowka pisał, że chce zrobić A = &HAABBCCDD) ponieważ zmienne Nazwa i A(1) A(2) A(3) A(4) znajdą się w tym samym miejscu w pamięci więc zapisując do Nazwa &HAABBCCDD otrzymamy tak naprawdę A(1) = &HAA A(2) = &HBB A(3) = &HCC A(4) = &HDD. A tak przy okazji powinno...
$crystal to parametr dla kompilatora informujący o częstotliwości jego pracy. Nie jet to wartość przypadkowa . Możesz jedynie podłączyć kwarc 16MHz ustawić odpowiednio fusy i wpisać $crystal=16000000
Witam W tym rejestrze tylko dwa bity dadzą się zmienić i przy okazji odpowiadają one za rozdzielczość więc wpisanie do rejestru wartości 63 dzisiętnie lub 3F hexadecymalnie załatwia sprawę. -- pozdrawiam
Tryb CTC należy ustawić zgodnie ze stroną 112 PDF. Należy dokładnie przeczytać tę stronę i okoliczne. Potem ustawić odpowiednie bity w odpowiednich rejestrach. W Bascomie robi się to np. tak: set TCCR1B.wgm13 i tak dalej. Bascom nie ma gotowych instrukcji na wszystkie możliwe tryby pracy timerów. Ale pozwala na ustawienie tych trybów "ręcznie"- przez...
mam pytanko czemu jeżeli pisze tak jak kolega tłumaczy portd.0 = portd.0 * 2 to kompilator w tym widzi błąd? chyba że to źle interpretuje Bo musisz mnożyć zawartość całego portu. Jednego bitu nie możesz pomnożyć przez 2. Poprawne więc będzie portd=portd*2 A i jeszcze na początku wpisz do portd wartość 1 :P
Tak, tyle mam. Gdybym mniał mniejszy, to bym mniejszą wartość wpisał :)
Na początku programu wpisz z jaką częstotliwością jest taktowany mikrokontroler. np. "$crystal=8000000" lub inną z jaką jest taktowany uC. Niestety nic to nie dało wpisywałem różne wartości . Masz wpisać rzeczywistą wartość taktowania uC.
A jakie wartości proponujesz wpisać? Pozdrawiam
1. Zmienna jest typu word bo żeby przy aktualnych ustawieniach zmierzyć ~750ms trzeba zliczyć 2900 przerwań. Poza tym obsługa tej zmiennej jest poza obszarem wyłączenia przerwań i i tak zajmuje parę taktów uC. 2. Nie po to używamy timera żeby jego zadania wlepiać do pętli głównej 3. Load Timer0 może mieć sens z wartością bliską 0, np. 5, bo wtedy do...
Już z wypowiedzi z pierwszego postu wnioskowałem sobie coś o Twojej osobie. To jednak zostawię. Żeby procesor odliczył poprawnie 500ms za pomocą funkcji Waitms to trzeba mu podać rzeczywiste taktowanie uC a nie takie jak Ty myślisz że masz albo chciałbyś mieć. To z tego powodu że przy taktowaniu 1MHz zegar musi tyknąć 500 000 razy a dla taktowania 8MHz...
Witam Jestem początkujący w bascom i mam pewien problem:cry:.Nie wiem jak wpisać w procedurze bascom wartość napięcia przy jakiej ma reagować mikrokontroler:?:. Pytania dot. programowania mikrokontrolerów proszę zadawać na forum Mikrokontrolery. Poprawiłem temat.
Nie znam Bascoma, ale jeśli wartoscią początkową licznika jest 4096 dziesiętne czyli 1000 szestnastkowo, to bardzo dobrze! Nie musisz zmieniac wartości TL0, ponieważ w chwili przerwania przyjmuje odpowiednią wartość (00h). Trzeba tylko w ciągu najbliższych 256 cyklach wpisać do TH0 wartość 10h (16): MOV TH0,#10h. Ale nie wiem jak się robi "wstawki"...
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. Uważam, iż wartość Timer1=64700 wpisana w sub programie Cols powinna być najpierw wpisana w programie głównym. Skąd taka wartość ?
wpisanie 0xFF (=$FF) do DDRA ustawia wszystkie piny portu A jako wyjścia. Pierwsza linijka wczytuje do r24 wartość $FF, druga zapisuje wartość r24 do DDRA.
W każdej wersji da się zmienić prędkość przecież to nic innego tylko wpisanie odpowiedniej wartości do rejestrów i można to zrobić z poziomu bascoma lub wstawki asemblerowej .
Aby wszystko było OK to obie wartości (TCNT1H i TCNT1L) muszą być użyte, przy czym należy najpierw wpisać TCNT1H. Tylko że BASCOM to robi samodzielnie więc nie w tym problem. Dodano po 2 Daj cały kod bo nie bardzo widzę w czym problem. A skąd w ogóle wiesz że zmienna jest zapisywana dwa razy?
Zapraszam do mojego tematu [url=http://www.elektroda.pl/rtvforum/to... Znajdziesz tam to czego szukasz :) Podpowiem tylko że żeby coś zmienić w DSie, to i tak musisz wszystkie wartości załadować do niego ponownie, tj. dzien, miesiac, rok, weekend, godziny, minuty, sekundy. Nie idzie wpisać jednej wartości.
A jak slave ma wpisać tę wartość do rejestru? Jakim poleceniem?
Hm, spróbuj zmienić enable timer na start timer. Ewentualnie spróbuj wpisać odpowiednią wartość bezpośrednio do rejestru - bascom ma problemy z obsługą pwm w niektórych procesorach (prawdę mówiąć jest tylko kilka, w których PWM działa wszędzie gdzie powinno i jak powinno). A znaczniki code to [code ] i [/code ] :)
Dla kwarcu 4MHz jest to prescaler 64 i początkowa wartość licznika: 193 Dla kwarcu 8MHz prescaler to: 64 i początkowa wartość licznika: 131 To pokazuje kalkulator. Chciałoby się zakrzyknąć : a nie mówiłem :-P Aby wpisać do Timer2 początkową wartość, to używamy poleceń: TCNT2=początkowa_wartosc Timer2= początkowa_wartosc Counter2=początkowa_wartosc...
Rejestry przechowujące czas po uruchomieniu mają przypadkowe wartości. Musisz najpierw wpisać czas do zegara.
Podejrzewam, że chodzi o 8 bitów z czujnika interpretowane do tej pory w C jako int8_t. :arrow: wader_669 Reprezentacja binarna - zobacz [url=http://pl.wikipedia.org/wiki/Kod_uz... uzupełnieniowy do 2 Przeliczanie - wpisz te 8 bitów do 16-bitowego integer-a i jeżeli jest więcej niż 127 to odejmij 256.
W przerwaniu robisz Enable Interrupts zanim włączysz Timer0, co może powodować problemy. Poza tym procka taktujesz 12MHz. A Timer0 z preskalera 1024. Czyli Timer0 dostaje 11718.75Hz. W przerwaniu zliczasz do 15000. I to Ci daje okres jak mówisz około 4 sekundy. Czyli na sekundę jest 3750 przerwań. Co oznacza że pomiędzy przerwaniami Timer0 zlicza do...
a no to ok skoro Verify było ok to już jesteśmy dalej ;) - ale coś cię trzeba ciągnąć za język - i po kilka razy zadawać pytania - czy może cię nie interesują już podpowiedzi w tym temacie? pytałem przecież czy aby napewno masz procesor ATmega48 a nie 89C2051? oraz pytałem czy przypadkiem nie piszesz programu mając zadeklarowany inny procek? Bo jaką...
Ja swego czasu znalazłem gotowy program wyliczający wartość jaką należy wpisać do timera w avr.
Witam! Prosił bym o podpowiedź: Jeżeli jest zmienna1 string zawierająca znaki port1:123 i teraz z tej zmiennej chcę wyciągnąć ciąg port1 to użyje do tego zmienna2 = Mid(zmienna , 1 , 5) i ciąg 123 to robie: zmienna3 = Mid(zmienna , 7 ,3) i teraz zmienna3 = pwm1a - czyli pwm1a będzie z wartością 123 ?? Ale jeżeli będzie w zmiennej1 port1:052 to czy jeżeli...
To nie Bascom jest przyczyną tylko źle napisany program ;). 1. odczyt timera1 16bit odbywa się po przez rejestr pomocniczy TEMP, ten rejestr jest też używany przez inne procedury i funkcje i jeśli jest użyty to właśnie niszczona jest wartość High timer1 bo ona tam jest wpisana gdy używasz komendy. wpisując tak timer1 do tablicy możesz gubić High timer1....
Preskaler 64 a wartość wpisywana do timera to 49911. Wtedy otrzymasz sekundę( pamiętaj aby wartość wpisać tak: counter1= counter1 + 49911).
Gratulacje. Jeszcze nie raz się natniesz na te różnice. Na AT90S2313 powstało mnóstwo programów i fajnych urządzeń. Ale już go nie robią i jego następcą jest ATtiny2313. Ściągnij ze strony Atmela pełne datasheety obu procesorów i wydrukuj sobie register summary z obu. Porównaj. Bascom 1.11.9.1 nie "widzi" niektórych różnic. Ale jak wpiszesz wartość...
prawdopodobnie źle ustawiłeś prędkość kwarcu. jęsli masz podpięty kwarc (lub załączony oscylator rc) to musisz ustawić tę częstotliwość w opcjach. options>chip>communication i tam wpisać poprawną wartość.
Równą częstotliwości jaką dostaje od prescalera. Tylko w jakim celu skoro taka sytuacja nigdy nie wystąpi? Wartość którą wyrzuca adc to 512+-320, potencjometr jest mechanicznie ograniczony. Jak wpiszesz wartość 512+320 do 8 bitowego rejestru ?
Wojtek - wchodzisz tutaj: [url=http://www.frank-zhao.com/cache/avr... z kalkulatorem 16MHZ z preskalerem 1024 oznacza że: - 1 sekunda nastąpi po 15625 cyknięciach timera - przerwanie następuje przy przepełnieniu jeśli wybierzesz OVERFLOW, ale może tez nastąpić przy COMPARE, od tego zależy jaką wartość wpiszesz do timera (czy odejmiesz...
Następna podpowiedź :P Na otwartym oknie Bascom wciśnij na klawiaturze F1 żeby otworzyć okno Help`a W zakładce Index wpisz "$DBG" i może tam znajdziesz odpowiedź na Twoje pytanie :P W języku C jeśli zmiennej nie zainicjujesz jakąś wartością to ona ma nieustaloną wartość, więc jeśli chcesz żeby miała zero to musisz napisać np. "char myChar = 0". W Bascom...
to inaczej - jak to wpisać żeby to niebyła pusta pętla tylko żeby program czekał poprostu pewną wartość czasu BASCOM
Przesiadłem się na arduino więc nie wiem cze mogę pisać w tym temacie bo to BASCOM. Uruchomiłem wyświetlacz OLED na szynie I2C. Powiedzcie mi tylko tą zmienną rx jak wstawić jako zmienna zamiast tekstu ? [syntax=cpp]u8g.drawStr( 0, 32, "TEXT"); [/syntax] A chciał bym tam mieć zmienną rx. Samo wpisanie rx nie działa :(
No więc widzę, że muszę zacząć grzebać w rejestrach, żeby najpierw wpisać wartość pinu, a potem przełączyć kierunek, bo w bascomie "configiem" chyba się nie da łatwo... Myślałem, że może ktoś już to robił, ale skoro nie , to bierę dataszita i spróbuję...
Gdzies juz chyba widziałem, jak napisałeś coś w stylu, że "ogólnie wiadomym jest, że bascomowe SPISLAVE nie konfiguruje tak jak potrzeba" . Ja o tym czytałem pierwszy raz... Mogę wiedzieć której wersji Bascom używasz jeśli nie najnowszej 2085? W SPI najważniejsze jest to, że to master taktuje slave`a. Dlatego nie bez powodu w komendzie konfiguracyjnej...
Przykład: dim x as bit set x do if x=1 then reset x cls end if loop To że masz 2 programy gdzie w każdym masz zadeklarowany inny zegar to wcale nie znaczy że musisz go zmieniać za każdym razem. Przecież np. można wpisać inne wartości do timera itd.
Jak przerwanie? To ma działać z automatu czy na przerwaniach? Bo jak na przerwaniach to musisz zerować w nim licznik, bo od ocr2b nie ma opcji ctc. Najlepiej zrób tak : ustaw licznik w tryb ctc i do ocr2a wpisz odpowiednią wartość skracającą cykl, do ocr2b wpisz dowolną wartość od 0 - ocr2a, ustaw bit COM2B0, włącz licznik z odpowiednim preskalerem....
Myślałem że te wartości w nawiasie mogą być tylko liczbą wpisaną ręcznie lub z góry określoną.Pokombinuje z tym rozwiązaniem bo podobnie myślałem tylko miałem wątpliwości.Dziękuje za odpowiedź.
Gdzie dokładnie mam ustawić tą wartość w BASCOMIE? Zbudowałem już ten układ niestety BASCOM-AVR niechce wpisać mi programu, znaczy niby wpisuje ale czekam już 30minut a tu nawet procencik sie niewgrał ;/
Nie wiem jaki masz pomysł na odczytywanie pozycji silnika przez potencjometr skoro attiny2313 nie ma ADC. Symulujesz program a czy tez wpisujesz przykładowe wartości danych które spodziewasz się w rzeczywistym układzie. Przed wejściem w obsługę podprogramu wpisz przykładowe wartości zmiennych Tu i Tm. Wtedy zobaczysz jak program się zachowa.
Chcę napisac własny program z wykorzystaniem Timerów. Na początek proszę o wytłumaczenie dlaczego w poniższym programie: 1. wykorzystano podzial częstotliwości zegara (po preskalerze 256) 250/125 zamiast wykonac jedno dzialanie? 2. uzyto wartość początkową Timera0 = 250 przed Petlą do Loop End . O ile wyjaśnienie podane przez Tomq jest błędne(!) Load...
Jak w tytule, korzystając z funkcji DTMF out w Bascomie udało mi się wygenerować "jakiś" sygnał. .................. W moim programie nie ma żadnej instrukcji $crystal bo nie wiem czy powinna być. Podaję kod programu odpowiedzialny za wysyłanie DTMF: Jeżeli w programie /listingu nie ma podanego taktowania lub wybranego processora oraz wartości dla:...
witam jak w temacie, czy bascom obsluguje tylko single end'ed czy takze wej roznicowe adc? bo w help nie widze :((( pzdr. Skoro brak bezpośredniej funkcji , to nic nie stoi na przeszkodzie , by odpowiednie wartości wpisać do rejestrów mikroprocesora i mierzyć ... :) Piotrek
Tak masa wspólna. W port delay mam wpisaną wartość 0. Dodam że w sprawach informatyki i procesorów jestem zielony, dopiero zaczynam
16 (liczba nie cyfra) ponieważ temperatura odczytywana jest z dokładnością do 4 cyfr po przecinku, dlatego odczytaną wartość trzeba podzielić przez 16 (przesunąć o 4) Bd(1) = 1wread(9) tu do Bd jest wpisanych 9 bajtów ( liczba bajtów w nawiasie) odczytanych przez 1wread(9) z czego 2 pierwsze to temperatura
no własnie, zapisując inne wartości do OCR2 zmieniają się parametry generatora, ale nie jakiś zrozumiały dla mnie sposób. rozumiem ze musiałbym wpisać wartości do TCCR2 binarnie 10011101? w manualu atmegi zaczyna sie od bit7
No to jak się zastanawiałeś nad tym, to powinieneś zaskoczyć o co chodzi... Po prostu należy najpierw wyłączyć maskowanie roku i dnia tygodnia (więc zamiast 8 do rejestru 0 wpisać wartość 0), potem odczytać cały bajt, zamaskować niepotrzebne bity w danym bajcie: najpierw rok i odczytać dzień miesiąca, potem zamaskować dzień miesiąca i odczytać rok -...
Błąd kompilatora. Po wykonaniu Config Timer0 nie jest zapamiętywana bieżąca zawartość rejestrów TCCR0x wewnątrz kompilatora. Przy wywołaniu Start Timer0 odtwarzana jest wartość 0 w rejestrze TCCR0B, a powinno być wpisane 5. Zgłosić do działu wsparcia i czekać na poprawienie. A tymczasem zamiast START i STOP: skonfigurować licznik, zapamiętać zawartość...
Rozumiem, czyli zmienna String to jakby ciąg zmiennych bajtowych stanowiący całość i w programie instrukcja: IF zmienna_string_1znak(to jakby jedna zmienna bajtowa, tylko inaczej interpretowana, bo nie mogę do stringa w programie wpisać prosto wart. liczbowej, a jedynie literę, która reprezentuje ową wartość liczbową) = "a" then... jest równoważna...
Może tak: zdefiniuj kilka takich programowych timerów (tyle, ile przewidujesz wyjść) np. co 1 sekundę sprawdzaj stan tych rejestrów każdego po kolei jeżeli któryś z nich ma wartość większą od zera to na odpowiadające mu wyjście wystaw stan włączający podłączone urządzenie (tu diody LED) i zmniejsz jego zawartość o 1 Jeżeli stan sprawdzanego timera jest...
Jeśli te 32Hz nie są do niczego używane, to zabawę z Timer 2 uważam za zbędną, wystarczy preskaler 1024 w Timer1 i wpisanie wartości 32*128 do OC1A i ustawienie trybu CTC w Timer1.
Incr zwiększa tylko o jeden więc musisz do jakiejś zmiennej dodawać 10 lub zrobić dodatkową zmienną do której wpiszesz 10 a potem dodasz ją do zmiennej której wartość chcesz zwiększyć.
Witam. Mam wyświetlacz z taką tablicą znaków: http://obrazki.elektroda.net/66_12761115... Jak "przeliczyć" odczytać te dane by znaki można było wpisać pod postacią: Chr(xxx).
Hahahaha :D tak! W IDE sa wpisane takie dla małego projektu i małego procesora. Mając większy projekt i procesor trzeba je albo tam zmienić albo wpisać bezpośrednio w projekcie. Kompilator się nie pyta o nie bo ma wpisane te domyślne, ale one są za małe. Musisz wiedzieć jaki masz mikrokontroler i ile ma RAM`u. Na przykład ATmega 32 ma 2kB RAM`u (dwa...
Stosy to dla mnie czarna magia, wiem tylko, że każdy przeskok wymaga zapisania adresu zwrotnego, ale nic poza tym :oops: No przy takim podprogramie to 1 megabajtowy stos to za mało :D, to się chyba nazywa rekurencja: [syntax=basic4gl]Petlapomiarowa: If Impulsy < 15 Then 'Jesli nie ruszono, wyswietlaj dalej napiecie Gosub Pomiaradc If Konwersja >...
O ile dobrze zrozumiałem idee to cyklicznie negujesz wartość poprzednio wpisną do portu. Nie znam AVR ale może to być taki przypadek jak w 51 , Ustawianie portu polega na wpisaniu wartości do rejestru, ale odczyt następuje z pinów procka. Podciągając lub nie pin rezystorem do +Vcc a sterując zerem, to nawet ustawienie pinu na zero przy odczycie zwróci...
Witam wszystkich serdecznie. Pisze w Bascomie. Chce z klawiatury 4x4 wpisać do zmiennej "A" wartość np. 123.4 Wiem ze funkcja getkb zwraca numer jednego naciśniętego klawisza.... ale jak sprawić wpisanie całej tejże liczby najprostszym sposobem. ?? Z góry dziękuje za pomoc.
No dobrze, w takim razie pokażę Ci coś żebyś na przyszłość nie musiał już "przyjmować" ;) <wzór> Wyciągnij sobie z tego Vin;) Znaczy, sobie możesz przyjmować, ale nie promuj tego rozwiązania;) Ładniej wygląda po wyciągnięciu V IN /V REF . Tylko nie wiem co to miało dawać. Że przez wzór to lepiej dotrze? A może w drugą stronę: If Wyp = 101 Then...
dodałem to do programu ale wyswietla 8888 i nic nie reaguje jak dodam wszystko oprócz tego do pętli głownej program działa jak wpisze tylko do pętli getrc5(address , command) to przestaje
Zabrakło ci 1 bitu bo wpisałeś tylko 7, a nie 8: Portd = &B1111111 Tak się nie reguluje szybkości: Timer0 = 200 lub 0 Wywal to, preskaler 1024 to i tak bardzo szybko jak na silnik krokowy, no chyba że procesor działa na 1MHz (ale to też szybko) Nie może być wartości 0: If Kropy = 5 Then Kropy = 0 Popraw na 1 bo twój Select Case nie uwzględnia cyfry...
ZEWRZYJ ZNACZY ZEWRZYJ!!! NIE DIODA! DRUT!!! Ludzie!!! Ehh sorry... Niedługo będę pisał mówiąc ustaw (wpisz w odpowiedni rejestr wartość ustawiającą) Boze...
Dziwne, że Bascom nie zgłosił błędu. Moim zdaniem powinno być: Load Timer0, 5 albo Counter0 = 5 Brakuje również Start Timer0, ale może Bascom i tak go uruchamia. Jedna jak i druga forma jest poprawna choć działa trochę inaczej. Po za tym komenda start timer0 jest zbędna gdyż ustawienie preskalera samo w sobie już startuje licznik. :arrow: Do autora:...
:) Komenda mod to taka reszta z dzielenia czyli: zmienna = liczba mod 4 zmienna - miejsce gdzie zostanie wpisana reszta z dzielenia liczba - zmienna która jest dzielona przez 4 (w miejsce 4 możesz wstawić inną liczbę lub zmienna) Dodatkowo w Bascomie są dwa rodzaje dzielenia znak / i \ pierwszy (/) używamy do dzielenia z resztą (w przypadku zmiennej...
Kiedyś pewnie zamysł był inny. Kiedy ktoś programował na tylko jeden mikrokontroler to może i ułatwieniem było to, że te ustawienia można ustawić na stałe w IDE. Te ustawienia odpowiadają za zarezerwowanie miejsca w pamięci na stos i przetwarzanie danych. Kiedyś doczytasz. Ważniejsze jest to, że bardziej rozbudowane programy mogą mieć większe zapotrzebowanie...
Nic nie trzeba informować kompilatora - Bascom ładnie przyjmuje wprost rozkazy asemblera ale w zasadzie atom1477 zrobił to nawet bez asemblera - sorki - po prostu "ręcznie" odwołał się do rejestrów i wpisał do nich odpowiednie wartości tzn poustawiał bity tak żeby coś tam działało w tym przypadku co ja ci podałem trza by to było mniej więcej zrobić...
Witam Komunikuję się z układem PCF8574 po I2C i potrzebuję zrobić coś takiego: Piny P0, P1, P2, P3 mają być jako wejścia i po naciśnięciu przycisku mają wczytać jakąś wartość do zmiennej. Natomiast pozostałe 4 piny, czyli P4, P5, P6, P7 mają pracować jako wyjścia. Chciałbym, żeby po wpisaniu jakiejś wartości do kolejnej zmiennej, zapaliła mi się dioda...
Nie ma rejestru który by to zliczał. Chyba że podepniesz wyjście OC1A do wejścia innego Timera, np. T0. Tylko że nie masz już Timerów 16-to bitowych a tylko 8-mio bitowe. Praktycznie więc zostaje tylko zliczanie zmiennej. W BASCOMie przerwanie będzie się wykonywało ze 100 cykli. Minimalna wartość jaką możesz więc wpisać do OCR1A żeby nie zwiesić programu...
Program wyświetla to co chcesz ale w symulatorze to trwa bardzo bardzo długo. i Teraz ja licznik odlicza 100 impulsów to musisz pozmieniać obliczenia. Podczas symulacji w warunkach wpisz mniejsze wartości to się szybciej doczekasz tego wyświetlenia na lcd albo zwiększ zmienne ręcznie podczas symulacji. sygnał 125khz do generowania PWM 1,25khz. Nie rozumiem?...
O.K. w bascomie robi się to podobnie cytat z polskiego HELP: "Częstotliwość wyjściowa jest określana wtedy wzorem: fout = (fosc / 4) / (65536 - CAPTURE). By wpisać wartość do rejestrów RCAP2L i RCAP2H, należy użyć: CAPTURE = wartość , gdzie wartość powinna być typu Word. Aby jednak uprościć stosowanie tego trybu instrukcja (począwszy od wersji 2.08...
Witam, W jaki sposób zapisać w bascomie zmienną typu long (np.41819798) w zewnętrznej pamięci 24c02 Myślałem żeby rozbić tę liczbę na wartości 41 81 97 i 98 i wpisać te liczby w komórki 1 do 4 - tylko jak to zrobić ?
Fusebits KL zostawiasz bez zmian, A987 ustawiasz na 1111 (z rozwijanej listy wybierasz taką opcję). Dodatkowo ustawiasz bit H: CKOPT na 0 (0 oznacza "włączony") i wyłączasz JTAG w bicie J (JTAG Disable) Co do Lockbits - nie zmieniaj, zostaw tak jak są. Wartości które tam masz wpisane umożliwiają odczyt pamięci programu i jej weryfikację Pamiętaj, że...
Jeśli masz nowy procesor to działa on na wewnętrznym rezonatorze 1MHz. Zmień w programie linijkę: $crystal = 8000000 na $crystal = 1000000 lub zmień fuse bity na zewnętrzny rezonator i w programie wpisz w tą linijkę taką wartość jakiego używasz.
Odpowiedź jest na stronie 82 i 127 PDF ATmegi 32. Po prostu Timer2 ma inne bity ustawiane dla współczynnika prescale niż Timer0. Jeśli zależy ci na Timer 2 to zaprogramuj fo wpisując wartość bezpośrednio do rejestru sterującego Timerem2 czyli do TCCR2. Dla prescale 1024 trzeba wpisać do rejestru 00000111. Bascom doskonale radzi sobie z takim wpisywaniem.
Prosze bardzo: 'Program regulujący prędkość obrotową silnika DC 12 V 'Do sterowania wykorzystano sygnał PWM 'Częstotliwość przebiegu PWM ok. 254 Hz - 8 MHz/510/64 'Przycisk S1 zwiększa prędkość obrotową silnika 'Przycisk S2 zmniejsza prędkość obrotową silnika $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal...
Jeśli pracujesz na wewnętrznym RC część mikrokontrolerów wymaga wpisania odpowiedniej wartości kalibracji do osccal.
Witam Jeśli wykonasz kasowanie pamięci flasch i eeprom to dalej nie chce działać autodetekcja?? Może jest w pamięci wpisana jakaś bzdurna wartość i program juz sobie z tym nie radzi... Pozdrawiam
Pytam tylko żeby uzyskać odpowiedź. Po drugie jeżeli ktoś inny będzie szukał to szybko to znajdzie. No i jest na to szansa. Temat jest nowy, więc Twój post ma szansę wnieść coś nowego. 1. Przestaw fusebit RSTDISBL na wartość 0 (inaczej mówiąc - zaprogramuj go), nie wiem, jak to w Bascomie zrobić. 2. wypróbuj, czy pin faktycznie działa jako PC ileśtam...
Jak wpiszesz do wartości bajt liczbę 380 ??? Jak dodasz dwie wartości to też w obrębie bajtu czyli suma mniejsza od 255 ;) musisz sobie zmienić deklaracje na zmienne 16 bitowe
DZIĘKI za dokładne opisanie :) A czy mógłbyś mi napisać dlaczego PIND =&B00100000 =32 ? Skąd te 32, czy to był tylko przykład, czy faktycznie po wpisaniu jakiejś formuły stan poszczególnych bitów przelicza się na jakąś tam wartość, w tym przypadku 32?
Po Config Timer0 wpisz dodatkowo TCCR0 = 4 Config Timer0 = Timer , Prescale = 256 Tccr0 = 4 Tylko musisz coś zrobić z START TIMER0 i STOP TIMER0 bo one przywrócą wartość po CONFIGu i program dalej nie będzie działał. Najprościej będzie usunąć te instrukcje. dodano 20 Sie 2008 08:05 Mail z opisem błędu poszedł już do MCS Electronics. Zbaczymy jaka będzie...
Mam pytanie odnośnie ustawienia rejestru ADMUX w attiny26, używam kilku wejść przetwornika (z dostępnych 11 używam 5), ale chcę aby pomiar był wykonywany względem masy układu na każdym z 5 wejść, bez wzmocnienia. Nie chcę aby pomiar odbywał się na jednym wejściu względem innego. Odczytywanie wartości napięcia na poszczególnych wyprowadzeniach dokonywany...
W każdej komórce przyporządkowaną wartość PWMa. Zobacz jakie wypełnienie potrzebujesz przy najwyższym zasilaniu. Jakie przy najniższym. I jeszcze ze 3 dla napięć pośrednich. Wklep to od EXELa i zobacz jaki kształt ma krzywa. Na jej podstawie się zobaczy czy jakie wartości trzeba wpisać do tabeli. A jak by to była jakaś w miarę linia prosta to nawet...
Tz ?? Jeśli ten programik mi też nie działa (nie reaguje na przycisk) to jak to inaczej zrobić?? Słyszałem gdzieś ze można to zrobić za pomocą przerwań. Ale jak ? Wpisać jakieś wartości do odpowiednich rejestrów?? Jak tak to jakich ??
Programowałem ATmega8 , ale to będzie chyba zbliżone. Ustawiasz fuse'y CKSEL według .pdf'a na żądaną prędkość zegara wewnętrznego. Potem musisz odczytać tzw. Calibration Byte i wpisać jego wartość w Bascom'ie na początku ustawień programu jako OSCCAL = Calibration Byte . Bascom czyta i zapisuje fuse'y , ale jakoś wygodniej i czytelniej robi to PonyProg2000...
Uwaga ZGADUJE: ;-) Ten tekst odczytujesz z RSa? Jeżeli tak to w BASCOMie jest komenda INPUT zmienna , po której program oczekuje na wartość zmiennej wpisanej przez terminal. Oczywiście ta wartość powinna się zgadzać z deklaracją tej zmiennej – jeżeli zmienną zadeklarowałeś jako BYTE to wpisanie wartości np. 1000 spowoduje błędny odczyt. Ps. Jeżeli...
Wpisanie pwm nic nie zmienia, dziwne że program ten nie działa bo jest on przepisany z książki tylko pozmieniane wartości.
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ć....
W zasadzie kolega (at)emarcus powiedział już wszystko odnośnie pracy timera. Dodam jeszcze że mógłbyś użyć wyliczonej wartości 125 wykorzystując zamiast Counter0...itd., instrukcję "Load Timer0, 125" - osobiście jej nie lubię i rozwiązanie, które Ci podałem jest dokładniejsze. Z tym Lo1 to jest tak w tym przypadku, że ile wpiszesz tyle milisekund będzie...
Witam Mam zapytanie do ludzi ogarniających temat uart w bascom. Czy jest możliwość odebrania danych z Uart i w zależności od typu danych wpisać je do zmiennej a lub zmiennej b (zmienna a String zmienna b Byte) Ponieważ jak odbieram dane: [syntax=vbnet] Input , A Input ,B If A = "Dol" Then Portc.5 = 1 End If If A = "Gora" Then Portc.4 = 1 [/syntax] To...
Po wgraniu do czystej Atmegi kodu chcę, żeby wartość wyniosła np.100. Po ustawieniu innej wartości można ją zapisać do EEPROM. Po resecie i zaniku zasilania wartość ta ma pozostać taka jaką ustawiłem (nie ta co wpisałem do czystej Atmegi) Chyba dobrze wytłumaczyłem ?
W dokumentacji MCP2515 :D . Chcę tylko zaznaczyć, że ta wartość wyliczona preskalera to nie jest wartość którą masz wpisać do rejestru konfiguracji preskalera. Do rejestru wpisuje się o jeden mniej. Czyli jak częstotliwość chcesz dzielić przez 10 to do rejestru wpisujesz 9. W załączniku masz akrusz excela do przeliczania wartości rejestru preskalera.
Nie to co sobie wpiszesz jest obojętne bo to pobiera i tak z tablicy literę o numerze z kodu ASCII. Tam w tablicach jest każda litera z alfabetu znak itp. Tak np na 65 miejscu w każdej z tablic jest zapisana wartość taka żeby przy pobieraniu nr 64 (tablice liczy sie od 0) wyświetliła się litera A. Zobacz sobie to tak odczytaj każdą liczbe która jest...
wpisać wartość napiąć bascom początkowa wartość wartość rejestr bascom
samsung drukarka sieciowa wzmacniacz antenowy uszkodzenia emachines płyta główny
elektrozawór zmywarka samsung wentylator kolumnowy cichy
Naprawa wyświetlacza w kotle Brotje Energy Top Dodatkowy zwrot ulgi na dzieci w 2025 roku