musi być drugi wait po zmianie bitu [syntax=basic4gl]Do Portd.0 = 1 'zapal diode Waitms 200 Portd.0 = 0 'zapal diode Waitms 200 Loop [/syntax]
Na początek do rysowania schematów są odpowiednie programy a nie Paint , kody programu umieszcza się korzystając z polecenia Syntax a nie wkleja zrzut . Schemat : brak jakichkolwiek kondensatorów do filtracji zasilania , brak GND dla uC , brak oporników ograniczających prąd diod jeden wspólny to żadna oszczędność max prąd portu to 20mA , czerwone LED...
A Twój program nie chce działać? Jaki jest problem. To co w programie masz nieprawidłowo to odczyt stanu przycisku. Procedura odczytu przycisku powinna przewidywać takie sytuacje jak drgania styków lub przypadkowe zakłócenia na linii przycisku. Jedną z możliwość odczytu przycisku jest: [syntax=basic4gl]If Wejscie = 0 Then Waitms 100 If Wejscie = 0 Then...
Diodę gaś tak jak ją zapalasz. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 Config Portb.0 = Input Config Portb.1 = Input Config Portd.5 = Output Przycisk1 Alias Pinb.0 Dioda Alias Portd.5 Przycisk2 Alias Pinb.1 PORTB.0 = 1' to jest podciąganie do Vdd - działaj w tym celu na rejestrze 'PORTX lub PORTX.Y PORTB.1 = 1 Reset Dioda Do If Przycisk1...
Wyłapałem że wcześniej deklarowałeś $regfile = "m16def.dat" zamiast $regfile = "m16adef.dat" (mimo że procesory różnią się jedynie poborem prądu i rezystancją podciągania pinu RESET to warto było sprawdzić ten trop), jeśli dioda LED podłączona jest poprawnie do PORTA.0 to niestety nic więcej (poza samym komputerem) nie przychodzi mi do głowy... Ostatni...
Niestety te rezystory mają dużą wartość więc w środowisku o dużych zakłóceniach warto dodać rezystory zewnętrzne. W tym przypadku wystarczy włączyć wewnętrzne, ponieważ projekt autora nie zwiera źródeł dużych zakłóceń. Poszukaj jak włączyć rezystory pull up za pomocą BASCOM Może tak: [syntax=basic4gl]Portb.0=1[/syntax] lub tak [syntax=basic4gl]Portb=&B00000001[/synta...
Trzeba uważać i czytać cały kod jeśli się go wpisuje, zwłaszcza do swojego mikrokontrolera :D Nie zauważyłeś, że ten Bootloader jest przykładowy i był użyty na takiej płycie testowej. W kodzie skonfigurowano dwie diody LED do mrugania :) I tak jak normalnie nigdy nie konfiguruję wejśc bo normalnym stanem pinu po resecie w mikrokontrolerze jest "wejscie"...
1.Konfiguruje się PORT 2.Podciąganie do plusa włącza się w PORT 3.Przyciski czyta się z PIN Sterować można PORT`em a sprawdza się PIN [syntax=basic4gl] Config PORT.x = Input 'nie podłaczamy driverow - port bedzie wejsciem PORT.x = 1 'sterujemy portem, podłączamy wewnętrzny rezystor Przycisk Alias PIN.x ' PIN PIN PIN PIN! [/syntax]
Napisane na szybko nie sprawdzałem ale chyba powinno działać. [syntax=basic4gl] $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) '*************************************WA... 'Pamiętać o podłączeniu...
Do tego najlepiej użyć PWMa. Na medze ósmej musisz uruchomić timer1. [syntax=basic4gl] config timer1 = PWM , pwm = 10 , compare a pwm = clear up , compare b pwm = disconnect , prescale = 1 Dim opu as word do for opu = 0 to 1023 pwm1a = opu waitms 3 next opu for opu = 1023 to 0 step -1 pwm1a = opu waitms 3 next opu loop end [/syntax] To tak na szybko....
Troszkę zmieniłem, sprawdź czy działa. Troszkę nie rozumiesz co piszesz dlatego oporni Ci to idzie najpierw zwiększa liczbę a potem sam ją zerujesz, więc siłą rzeczy zawsze będzie równa zero. Druga rzecz to zwiększasz "liczbę" tylko od jakiej wartości zaczynasz? Najlepiej zaczynać od zera. itd [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 4000000...
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Pinb.5 = Input Config Pinb.4 = Input Config Pinb.1 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 64 Dim I As Byte Centr1 Alias Pinb.5 Centr Alias Pinb.4 Set Portb.4 Set Portb.5 Pwm1a = 0 Do If pwm1a = 0 then 'dodatkowy warunek...
To Ci będzie sterować kolejno czterema diodami na pinach od B0 do B3. Zalecam wnikliwą analizę, zanim zalejesz mnie pytaniami :) Timery zawsze rób na odliczanie w dół do 0, w przeciwnym wypadku po wpisaniu nowej wartości w trakcie odliczania możesz mieć niezły kwas - pomyśl dlaczego :) Pozdrawiam [syntax=basic4gl]$regfile "m8def.dat" $crystal = 8000000...
Czy kolorami RGB chcesz sterować włącz/wyłącz czy płynnie, zmieniając ich jasność na PWM ? W przypadku włącz wyłącz najprościej zrobić tak: [syntax=basic4gl] DIM tmp as byte Do if bass=1 then tmp=rnd(2) '50% szans trafienia if tmp=1 then set Red else reset Red endif tmp=rnd(3) '33% szans trafienia .... 'i tak dalej dla poszczególnych kolorów 'dodatkowo...
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Pinb.2 = Output Do Set Portb.2 Wait 1 Reset Portb.2 Wait 1 Loop End[/syntax] a po zmianie [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Pinb.2 = Output Do Set Portb.2 Waitms 500 Reset Portb.2 Waitms 500 Loop End [/syntax]
Nie wiem czy to jest powód, ale masz błędy w programie: Składnia: [syntax=basic4gl]Portb = &B00000010 Portb = &B00010000 [/syntax] Jest bez sensu, bo momentalnie nadpisujesz port nową wartością. Albo wywal pierwsze polecenie, albo daj: [syntax=basic4gl]Portb = &B00010010[/syntax] I tak samo w pozostałych miejscach, gdzie nie są rozdzielone instrukcją...
Witam ;) nie mam jeszcze programatora i procka (spodziewam sie go w tym tyg) jednak zacząłem czytać poradniki programowania w BASCOM`ie i napisałem swój pierwszy w zyciu program i chciałbym prosić o jego sprawdzenie czy to wgl ma jakiś sens xD [syntax=basic4gl] $regfile = "m8def.dat" 'typ procesora (ATmega8) $crystal = 1000000 'taktowanie procesora...
1. Zgodnie z "dobrymi manierami" pisania programów w C, skoro funkcja main ma zwracać wartość o typie int, zawsze dodaje się "dla porządku" return 0; 2. while(1) to pętla, która ma się wykonywać w nieskończoność - nic w tym dziwnego. Przekładając to na świat Bascoma wyglądałoby to: [syntax=basic4gl] Do Gosub Czas Gosub Dioda Loop End 'end program [/syntax]...
Wstaw sobie o tak o: [syntax=basic4gl] Config Portb.0 = Output ' ustawienie portu sterującego przekaźnikiem przez tranzystor Config Portd.7 = Output ' ustawienie portu sygnalizacji zbyt wysokiej temeratury Config Portd.6 = Output Przekaznik Alias Portb.0 Buzzer Alias Portd.7 Led_pompa_stop Alias Portd.6 Reset Przekaznik Reset Buzzer Reset Led_pompa_stop...
Diody migają po dwa razy, kolejne dwa razy zawsze po naciśnięciu przycisku, tak w kółko. Jak nie naciskam to nic się nie dzieje. Zdaje się że taki zamiar był tego programu... Niemniej jednak spróbuj ten code: [syntax=basic4gl][/syntax ... $regfile = "attiny13.dat" $crystal = 9600000 Config Portb = &B011000 Portb = &B000010 $hwstack...
No ale ja ustawiam programowo na stan niski poleceniem: [syntax=basic4gl]Config Portb = &B11111111 'wszystkie końcówki jako wyjścia Portb = &B00000000 'wszędzie wpisz stan spoczynkowy 0[/syntax] Co bym musiał jeszcze zrobić, żeby było dobrze?
zmień no Pan: (umieszczaj kod w znacznikach)
Ściągnij sobie z tej strony program kalkulator avr http://www.elportal.pl/index.php?module=... [syntax=basic4gl] $crystal = 1000000 $hwstack = 80 Config Timer1 = Timer , Prescale = 64 Dim Sek As Byte 's Enable Timer1 Enable Ovf1 On Ovf1 Czas Stop Timer1 Enable Interrupts Sek = 0 Do If pinc.0 = 0 then Load Timer1 , 49911...
I jeszcze jedno pytanie: Zegar w Fusebitach prawidłowo ustawiony? Co do Bascom zerknij na przykład tutaj: http://www.elektroda.pl/rtvforum/topic22... może brak tego: [syntax=basic4gl]Reference = Avcc[/syntax] EDIT: kolega mnie ubiegł.
http://obrazki.elektroda.pl/3973217100_1... Witam! Pewnie wielu z was zetknęło się z problemem braku wystarczającej ilości wyjść w mikrokontrolerze. Mnie także to spotkało. Przy okazji innego projektu zaszła konieczność dołożenia wyświetlacza do już istniejącej płytki sterownika, ale jak to bywa - prawie wszystkie piny miałem zajęte....
Nowy mikrokontroler dopóki tego nie zmienisz pracuje z prędkością 1000000 Hz (1MHz) Wpisz na samej górze w kodzie [syntax=basic4gl]$crystal = 1000000 '1MHz crystal[/syntax] To poinformuje kompilator o prędkości i będzie już liczył poprawnie.
W Bascom nie ma ustawień fabrycznych dla FuseBit`ów. Fabrycznie nowy, ten procesor pracuje na 8MHz, podzielonej przez 8, czyli 1MHz . W środku włączony jest po prostu taki podzielnik. Nazywa się CKDIV8. Jesli jest zaprogramowany w procesorze to kod tego nie zmieni. W kodzie informujesz kompilator jaką prędkośc ma aktualnie procesor. Jest to kompilatorowi...
Dalsza zabawa polegała na odebraniu ramki . Istnieje możliwość wysyłania i odbierania ramki przez ten sam węzeł. W rejestrze CANCTRL bit7-5 REQOP ustawiamy 010 = tryb sprzężenia zwrotnego. Tryb sprzężenia zwrotnego jest bardzo cenny ponieważ umożliwia to zabawę z MCP mając tylko jeden węzeł . Do programu musiałem dopisać. deklarujemy:[syntax=basic4gl]...
If Zmienna.0 = 0 Then 1 Else 0 End If Dziękuję za podpowiedz :-) ale to "mruga" mi z częstotliwością pracy głównej pętli dla przykładu jak zrobię tak flip-flop
Jeżeli jesteś pewien, że układ jest elektrycznie poprawny (w co ja osobiście wątpię i nie wierzę, że w tej konfiguracji będzie działał) to jeśli chodzi o uwagi do programu (pomijając jego nieczytelność ze względu na zastosowanie instrukcji skoków bezwarunkowych oraz etykiet, pierwszą która się nasuwa to brak instrukcji załączającej system przerwań [syntax=basic4gl]Enable...
[syntax=basic4gl]$regfile = "attiny2313.dat" $crystal = 8000000 Config Pinb.3 = Output Dim Togbit As Byte , Komenda As Byte , Adres As Byte Komenda = 12 Togbit = 0 Adres = 5 Do Rc5send Togbit , Adres , Komenda Waitms 100 Loop[/syntax] Przy takim programie. Dioda podczerwona(i czerwona bezpośrednio do portu uC) miga raz na niecałą sekundę(przy 3V i 5V)....
Witam. Napisałem sobie taki program w bascom ,który po wciśnięciu przycisku w nadajniku ma zapalić lub zgasić diodę w odbiorniku, lecz w ogóle nie chce to działać.Proszę kolegów o pomoc. NADAJNIK [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 Config Portc = Input Portc = &B11111111 Dim I As Byte I = 225 Do If Pinc.6 = 0 Then...
Co zrobi pulsein/pulseout jeśli czas mierzony wyniesie np 10sekund? Pozdrawiam Po czterech poprawkach warunkowo dopuszczam formę powyższego cytatu. Następnym razem proszę cytować poprawnie wraz z nickiem autora. PULSEOUT nic nie liczy, to polecenie generuje przebieg, przykład migawka diody połączonej do portD.1 [syntax=basic4gl]Do PULSEOUT portD, 1,...
[syntax=basic4gl] If Chr(a) = "p" Then Call led1 End If[/syntax] dioda mruga np 6[s] w tym czasie terminal nie przyjmuje kolejnych poleceń z procka nadawczego.Tym samym pozostałe porty nie można załączyć. Wszystko jest na zasadzie wł/wył. W programie nie ma nic skomplikowanego. Na dobrą sprawę wait też nie przeszkadza, ale fajnie by było gdyby jednak...
Witam. Zaczynam dopiero swoją przygodę z programowaniem i już napotkałem problem, na pewno bardzo prosty, ale niestety nie potrafię sobie z tym poradzić ! Chciałem napisać prosty program ktory za pomocą przycisków (switch) będzie załączał i wyłączał, czyli S1 = załącz/wyłącz -led S2 = załącz/wyłącz -led S3 = załącz/wyłącz -led itd... aż do 7 próbowałem...
Witam, Napisałem sobie taki programik w Bascomie pod PCF8583 i Atmege32 Wszystko funkcjonuje idealnie - czas, menu, nastawy itd, ale mam mały problem Otóż chciałbym wywoływać alarm o zadanej godzinie - nastawa w menu "Ustaw Alarm" Jeśli wpiszę tam odpowiednią godzinę i minutę to niestety alarm się nie uaktywnia? Dlaczego? Poniżej wklejam listing: Czy...
Witam Posiadam kilka silników krokowych bipolarnych. Pomyślałem sobie, że napiszę program w Bascomie, który wysteruje taki silnik. Znalazłem też ciekawą stronę na temat silników unipolarnych: http://diycenter.acid19.linuxpl.com/prin... Napisałem program, który wysteruje silnik unipolarny: [syntax=basic4gl][/syntax] $regfile = "m32def.dat"...
Kuniarz Deklaracje procesora i taktowania daję :) Opuściłem ją specjalnie, a program kompiluje się i nie wywala błędów. Mimo wszystko i tak nie działa. Edit: Poradziłem sobie :) Zrobiłem to tak i działa tak jak chciałem. [syntax=basic4gl]If Pinb.1 = 0 Then If Pk2 = 1 Then Waitms 100 Toggle Portb.5 Pk2 = 0 End If Toggle Porta.0 Waitms 100 Toggle Porta.0...
Ja używam takiej konfiguracji dla odbiorników z układem U4221B: [syntax=basic4gl]Config Dcf77 = Pinb.5 , Timer = 1 , Inverted = 0 , Check = 2 , Update = 0 , Updatetime = 0 , Timer1sec = 0 , Debug = 1 , Gosub = Sectic[/syntax] U siebie najpierw spróbuj sprawdzić (diodą LED i dodatkowym tranzystorem, który będzie załączał tą diodą), czy w ogóle otrzymujesz...
Schemat mam z helpa. Nadal dioda swieci 3 sekundy i mrugnie i znowu swieci ;-( Chyba nas "czarujesz" ! Wgrałem Twój kod: [syntax=basic4gl] $regfile = "attiny2313.dat" $crystal = 4000000 Dim Togbit As Byte , Command As Byte , Address As Byte Command = 15 Togbit = 0 Address = 0 Rc5send Togbit , Address , Command End [/syntax] Fuse bity ustawiłem na fabryczne,...
Witam. uczę sie programowania na ATmega8, lecz z kilkoma rzeczami nie mogę sobie poradzić. chciałem rozjaśniać, bądź przyciemniać diodę na początku automatycznie, później przyciskiem [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 Config Portb.1 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect...
r"]Potrzebuje zmierzyć samo wypełnienie impulsów nie wiem jak za to się zabrać. Potrzebuje badać sygnał idący na serwo modelarskie. By wiedzieć na 3 diodach jakie jest jego położenie. Proszę o jaką kolwiek pomoc. Oczywiście nie chodzi mi tu o zrób za mnie... ale nie wiem od czego zacząć. Rozumowanie moje jest takie przychodzi impuls odpala się timer....
Witam, mam problem z napisanymi przeze mnie programami nadajnika i odbiornika wykorzystujących do transmisji USART. Działać ma to tak: po przyciśnięciu przycisku 1 (portb.0) świeci się dioda (portd.7), po przyciśnięciu przycisku 2 (portb.1) dioda (portd.7) gaśnie. Całość prawidłowo podłączyłem (sprawdzałem kilka razy, jest wspólna masa, Tx do Rx) lecz...
Dopisałem sobie do tego kodu dla testu coś takiego: [syntax=basic4gl] Do Pwm0a = 255 Waitms 100 Pwm0a = 235 Waitms 100 Pwm0a = 215 Waitms 100 Pwm0a = 195 Waitms 100 Pwm0a = 175 Waitms 100 Pwm0a = 155 Waitms 100 Pwm0a = 135 Waitms 100 Pwm0a = 115 Waitms 110 Loop [/syntax] i moim zdaniem dioda powinna przygasać, a ona się rozjaśnia, o co tu chodzi ??...
No i wszystko się wyjaśniło :) Dziękuje koledze "morswin89" jak również "emarcus" i "Fredy" za pomoc w rozwiązaniu problemu. Ostateczny kod który pozwolił mi uruchomić komparator zamieściłem poniżej. Dioda mruga przez 50ms za każdym razem kiedy komparator zmienia swój stan na przeciwny. https://filmy.elektroda.pl/61_1389531545...
Witam Chciałem skorzystać z kodu, który udostępnił Kolega Mundi Error 46: Assignment error gdy tego nie ma to się kompiluje bez błędów, ale nie rusza.
Mnie się wydaje że to powinno być tak: [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 Config Portb.2 = Output Config Pinb.7 = Input portb.2 = 0 pinb.7 = 1 Do If Pinb.7 = 0 Then Toggle Portb.2 End If loop End[/syntax]
Pozwolę sobie umieścić post pod postem żeby wiadomość dotarła do zainteresowanego. Jeszcze lepszym wyjściem dla takiego zegara będzie zastosowanie dedykowanego rezonatorka 32768Hz (32,768KHz) Wartość 32768 to w zapisie binarnym dokładnie piętnaście bitów. Jeśli więc Timer będzie zliczał generowane impulsy to po 32768 uzna że mineła sekunda :D Bascom...
Dopóki nie nauczysz się poruszać pomiędzy rejestrami PORT i PIN to ustawiaj jako OUTPUT tylko piny które Cie interesują czyli na przykład pin od diody. Taki zapis: cały port jest wyjściem. Ustawienie teraz na nim stanu wysokiego, niby po to by włączyć rezystory podciągające powoduje że włączasz wyjścia które można obciążać maksymalnie do 20mA. Przyciśnięcie...
Witam serdecznie! Chciałbym poprosić kolegów o rozwiązanie pewnej kwestii. Ischarwaiting() zwraca wartość 1 gdy w buforze coś jest a 0 jak nie ma. Dana wejściowa (Znak) z RS232 na postać 5 znaków + enter czyli 6 znaków. Config Serialin=Buffered, Size=6. Zmienna Znak jest wartości String*6. Dane z RS-a odbierane są w pętli: Dodano po 3 powstał mały byk...
syntax basic4gl syntax basic4gl syntax syntax basic4gl syntax syntax zobacz
zestaw ośla łączka router gigaset orange arduino oświetlenie
zmywarka samsung delphi ds150e programy
Podgrzewacz Kospel 380V nie włącza się - przyczyny i rozwiązania Agregat Webber - problem z odpaleniem i szarpakiem