Funkcja Wait nie blokuje Watchdog -a, zrób to co zaproponowałeś - Stop Watchdog - Wait - Start Watchdog Pozdrawiam
a czy wywołanie funkcji jest ok? Bo mnie chodzi o to aby funkcja liczyła reszte z dzielenia. Nie wiem czy jest ok, bo nie podałeś tej części kodu :) Sprawdź czy działa tak jak zakładałeś.
...a tak z innej beczki nie działa taki np zapis: if Scanstrsp(tekst, ":") = "dane" then tylko muszę to robić tak: a = Scanstrsp(tekst, ":") if a = "dane" then czyli w warunku nie można tak użyć argumentu funkcji - szkoda (albo znowu czegoś nie wiem). Za to tak działa ;) a="dana"...
Funkcja WAITMS nie jest odporna na przerwania. Jeśli masz jakieś to każde wystąpienie przerwania w trakcie WAITMS rozjedzie go. Niezależnie od stabilności tej funkcji, a nie ma powodu, żeby nie była powtarzalna jeśli nie jest przerywane wykonanie przerwaniami, to i tak lepsza praktyką będzie wykorzystanie timera.
Jeśli chodzi o ID to chyba najprościej będzie zrobić funkcje i z głównego programu przekazywać do niej ID czujnika, natomiast funkcja będzie zwracać np bit 1/0 OK/ERROR. Podobnie chyba można zrobić z odczytem temperatury.
To nie jest żadna składnia Timera tylko lista zmiennych. Dim to skrót od Dimension. Pisząc Dim Zmienna As Byte opisujesz zmienną że będzie jednobajtowa i tak trzeba opisać każdą. Co do chwilowego wyłączania diody D1 to to dopisałem. Zadbałem też o poprawną polaryzację D3 przy naciskaniu. Niedobrze jest tak nie znać wszystkich założeń programu i potem...
Wygląda na to że wszystko działa. Sprawdź czy masz właściwy Baudrate. Na obrazku widać że Adres 1 Funkcja 4 i prosi o dwa rejestry typu Word a potem dwa bajty Checksum. https://obrazki.elektroda.pl/7487360400_...
Tak prymitywnie to wyślij to sobie ze spacją i potem podziel otrzymany string szukajac spacji [syntax=vbnet] Print V1 ; " " ; A1 Dim MyArray(2) As String * 5 , M As Byte M = Split(CalyOdebranyString , MyArray(1) , " ") 'podziel szukając spacji Locate 1 , 1 : Lcd MyArray(1) Locate 2 , 1 : Lcd MyArray(2)[/syntax] Radzę też napisać u góry w kodzie : [syntax=vbnet]Config...
Nigdy nie używałem funkcji. Więc nie mam pojęcia jak to zrobić. Czas sie dokształcić, do Bascom jest polska pomoc z przykładami. Jaki problem? Ponadto zamiast funkcji można użyc podprogramu, choć funkcje są wygodniejsze. Ta funkcja musi być solidnie rozbudowane aby przesłać jeden znak. Bzdura, wysłanie znaku, to wysłanie bajtu do sterownika. Wyświetlacz...
Zainteresuj się funkcja Printbin oraz podziel dane na osobne bajty.
Funkcja MID. :) [url=http://avrhelp.mcselec.com/index.ht...
Panowie, to Bascom. Musiałbyś dorwać się do kodów biblioteki w ASM i zobaczyć jaka funkcja w ASM jest odpowiedzialna za reset komunikacji z LCD i jego inicjalizację i ja cyklicznie wywoływać. Bez tego w Bascom będzie ciężko, ewentualnie możesz napisać sam prostą procedurę inicjalizacyjną na podstawie DS sterownika wyświetlacza.
W tym kodzie jest błąd: Load Timer0 = 250 jest niepoprawnie zapisane bascom nie krzyczy błędem ale ta składnia nie działa. Powinno być Load Timer0, 250 Ta funkcja ładuje do timera wartość 256-wartość, czyli w twoim wypadku 6.
Przy zapisie do EEPROMU w Bascomie nie musisz wyłączać przerwań. Funkcja WRITEEEPROM robi to sama, ale READEEPROM już nie wyłącza przerwań :)
Być może bascom'owe instrukcje obsługi lcd nie patrzą na kierunek w jakim działa port, tzn. w w funkcja "Config Lcdpin" ustawia wybrane porty jako wyjścia a pozostałe instrukcje obsługi lcd nie sprawdzają czy to się nie zmieniło. Spróbuj przed instrukcjami od lcd czyli przed obydwoma "cls" ręcznie przestawić wyprowadzenia uC jako wyjścia. Druga sprawa...
Wszystko powinno wyjaśnić to: Jeśli w buforze nie ma żadnego znaku funkcja zwraca zero. Można najpierw sprawdzić czy w buforze transmisji znajduje się jakikolwiek znak. W tym celu należy skorzystać z funkcji ISCHARWAITING() . Nie sprawdzasz wogóle czy znak jest w buforze, zatem dostajesz głupoty.
Wystarczy sprawdzić czy funkcja Getatkbd() zwraca 0 wtedy żaden klawisz nie jest naciśnięty. Warunek można więc skonstruować tak, że gdy zmienna do której zwracana jest wartość funkcji Getatkbd() jest większa od zera to robimy obsługę klawiatury, a jeśli nie program normalnie kręci się w pętli. Wciąż nie rozumiem czemu tak uparcie chcesz do tego wykorzystywać...
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...
Zmiennej lokalnej nie dasz do DMA. Znaczy dać by się dało bo jakiś adres ona tam ma. Przynajmniej w BASCOMie który nie optymalizuje kodu a więc wszystkie dane mieli na pamięci RAM. Tym RAMem jest stos. W każdym razie chodzi o to że zmienna lokalna jest tracona po wyjściu z funkcji. Stos nie znika ale jest wykorzystywany przez coś innego. Więc miejsce...
Witam, Magistrala 1-wire posiada dość mocne restrykcje czasowe co do trwania poszczególnych stanów na DQ. Przerwanie Timera, a wiec wykonanie podprogramu związanego z obsługa przerwania, powodowało zmianę długości tych czasów, gdyż są one generowane softwaerowo przez Bascom. Czasem może się zdarzyć że kolizja i tak wystąpi pomimo że teraz wszystko jest...
rozne serwa roznie moga dzialac. Nigdzie nie widzialem, zeby ktos okreslil dokladna czestotliwosc z jaka to ma byc robione.. zazwyczaj jest ok. 50Hz. Drobne roznice typu kilka Hz (czyli kilka ms wywolywanie przerwania) nie powinny miec zadnego wplywu na serwo. Problem moze sie zaczac jak bedziesz mial dlugie funkcje wywolywane przerwaniami... ale na...
Nie znam mozliwości w tym zakresie Bascoma. Jedno jednak jest pewne. Każdy program tego typu może działać sekwencyjnie. Oznacza to, że wywoływanie kolejnych procedur w procedurze działać musi. Jest jednak tzw granica zagnieżdzeń. Może ona wynika z możliwości samego kompilatora (programu tłumaczącego - w tym wypadku Twoim nie sądzę aby tak było), albo...
Sprawdź jeszcze jeden "myk" Wszędzie zamiast Chr( ) wpisz ten sam numer tylko w nawiasach klamrowych (bez Chr - tylko sam nawias i trzy cyfry) Przykład: Zamiast Chr(1) wpisz Lcd {001} Zamiast Chr(7) wpisz Lcd {007} Zamiast Chr(32) wpisz Lcd {032} Kod się znacząco zmniejszy co może się czasem przydać przy małych mikrokontrolerach. Chr( ) to funkcja zamieniająca...
No to kawa na ławę. Instrukcja Getrc5 w czasie działania używa jest licznika TIMER0 i związanego z nim przerwania. Licznik ten jest służy do generacji wymaganych opóźnień podczas próbkowania sygnału. TIMER0 może być dalej używany przez program, lecz należy się liczyć z wynikłymi opóźnieniami, gdy wykonywana będzie funkcja GETRC5(). Jest tylko jeden...
mod to nie funkcja tylko działanie matematyczne takie jak "+" czy "-" wynikiem mod jest reszta z dzielenie pierwszej liczby prze drógą np x= 10 mod 3 - wynikiem będzie 1 x= 11 mod 3 - wynikiem będzie 2 x= 12 mod 3 - wynikiem będzie 0 x= 13 mod 3 - wynikiem będize 1 mod jest opisane w pomocy w zakładce "Language Fundamentals" pozdrawiam
Akurat takich mam dostatek, jednak nie bardzo rozumiem, jak wykożystac sprzętową obsługę w bascomie W helpie jest opisana funkcja ENCODER(), zatem może warto najpierw te parę zdań przeczytać? W obsłudze przerwania sprawdzasz stan wejść i porównujesz z poprzednim stanem Nie zapominajmy o drganiu styków. Jeszcze nie spotkałem enkodera mechanicznego,...
Witam. Trochę to mętne , ale spróbuję ci jakoś pomóc. Każda zmienna jest przechowywana w pamięci w postaci dziesiętnej. Możesz ją zadeklarować jako kod szesnastkowy np. : zmienna= &HFF00 Ale i tak w pamięci zostanie zapisana jako konkretna wartość. Nie wiem do czego potrzebujesz, ale domyślam się że chcesz to wyświetlić jako wartość szesnastkową. Wartości...
Witam, Polecenie SOUND port , il_impulsów , czas_impulsu To mi nie pomoże. Jako argument chcę podać potrzebną częstotliwość (liczba), a nie ilość impulsów i czas impulsu... Jeżeli znasz częstotliwość to nie problem określić ilość impulsów i czas trwania, ale ta funkcja jest mało precyzyjna. Lepiej wykożystać do tego Timera: $crystal = 4000000 Pwm1a...
Witam i przechodzę do rzeczy.Na 1-szy ogień idzie ten kawałek kodu: 'wpisywanie pewnych wartosci ... G = 272 Liczba = 30 Liczba = Hexval(liczba) G = Hexval(g) Kombinacja = 1 Czas = 1000 ... I jakież to wartości ,zawierają zmienne :?: Ano takie: Liczba=238 :?: G=3793(0x0ED1) :!: Czas=1000(0x03E8) Ok. ... Writeeeprom Czas , Liczba Writeeeprom...
http://obrazki.elektroda.net/61_12840708... Przedstawiam mój sterownik awaryjnego zasilania mieszkania, pieca CO i pompy od solarów. Urządzenie w takiej, a nie innej formie powstało w sumie przez przypadek. Początkowo miało to być tylko podtrzymanie pompy solarów gdyby zabrakło napięcia w sieci, a temperatura na dworze była by zbyt wysoka...
Pomyśl..Cztery znaki chcesz upchać w trzyznakowym stringu.. Nie wiesz jak to działa. Kiedy deklarujesz String * 10 rezerwujesz 11 bajtów bo każdy string ma znak swojego końca. Nie musisz wykorzystać wszystkich bajtów. String może być krótszy i zaraz po znakach postawiony będzie znak końca..ale zarezerwowałeś 11 bajtów i tam program nigdy nic nie będzie...
Mając trochę wolnego czasu napisałem parę funkcji do obsługi układu PCF8583. Funkcja która ustawia godzinę i datę zapisuje też dane potrzebne do obliczenia pełnego roku, dzień tygodnia jest obliczany automatycznie na podstawie daty. Funkcje Pcf8583_write i Pcf8583_read można wykorzystać do zapisywania/odczytywania danych z wolnej pamięci ram. Dostępne...
Proszę. Jest to przykład zapisu i odczytu zarówno zwykłych bajtów jak też łańcuchów tekstowych inaczej mówiąc napisów w Eeprom. Program i funkcje działają z małymi pamięciami których adresacja mieści się w jednym bajcie. Do tego przykładu użyłem 24C04 Jeśli ktoś chce to może po prostu wpisać sobie jakieś dane do buff(1), Buff(2) itd i tak zapisać. Potem...
Ten przykład działa, ale tylko dla jednego "przełącznika" ale gdy robie np dwa kolejne to już coś jest źle. Buduje urządzonko, które będzie załączać 3 przekaźniki: - 3 przyciski (portd.4, portd.5, portd.6) - 3 przekaźniki (portd.1, portd.2, portd.3) Jak to można zrobić w BASCOMie?? Kod dla w/w konfiguracji: Config Debounce = 30 Config Portd = Output...
Ja to robię tak że pisze sobie procedurę która zwraca (zapisuje do innej zmiennej) wynik dzielenia pierwszego przez 10 (czyli funkcja mod). Następnie zmienna wejściowa jest dzielona przez 10 i tak zostawiana. Programik na początku podstawia "swoją" zmienną do procedury dzielenia. A następnie wywołuję procedurę jeden raz. Wynik jest teraz przepisywany...
Dosyć odważnie sobie poczynasz na mikrokontrolerze mającym 2kB Flash i 128B SRAM :D ale do odważnych świat należy. Odchudziłem Ci trochę kodzik. Obsługa przerwania timera została stuningowana moim programem NoSave Tool. Teraz mikrokontroler nie odkłada na stos większości rejestrów a tylko te potrzebne - w tym przypadku tylko jeden :D Przekłada się to...
Wprawdzie ... to nie humanitarnie z mojej strony dawać niemalże gotowca ... :D [syntax=basic4gl]$regfile = "m2560def.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 64 $include "Config_PCF8583.bas" Declare Sub Displaytime() Declare Sub Settime() Declare Sub Cancel() Declare Sub Plus() Declare Sub Minus() Declare Sub Saveandexit() Declare...
Siemka ugh123 :D Co prawda nie mam tego wyświetlacza (Nokia), lecz o wiele większy. Ale do do tematu. Pliki ".bgc" są zapisywane w 8-bitowym kolorze, Ja pracuję z 16-sto bitowymi kolorami, więc konieczna jest konwersja z 8 na 16 bitów. Informacje na temat wymieniony przez Ciebie znajdziesz w sieci (poszukaj). Nie dam Ci gotowca,i sądzę, iż nikt Ci nie...
http://obrazki.elektroda.net/32_12761638... Witam serdecznie! Ostatnio tworzyłem m. in. zegarek analogowy w BASCOM'ie, co wymagało zastosowania funkcji trygonometrycznych. Początkowo oprogramowanie rysowało jedynie kreski w miejscu wskazówek, jednak gdy chciałem wykonać prawdziwe wskazówki kod uległ mocnemu zabałaganieniu i oczywiście nie...
http://obrazki.elektroda.net/70_12606334... Chciałem przedstawić konstrukcję zamka do drzwi opartego na module z ALLEGRO na układzie EM4095. Całością steruje ATmega8 z zewnętrznym kwarcem 8MHz. Program sterujący napisany w AVR BASCOM zajmuje w chwili obecnej 34% procesora. Funkcje zamka to: 1 Zapamiętanie max 10 kart RFID 2 Odczyt i po stwierdzeniu...
http://obrazki.elektroda.pl/9223335300_1... Było już na elektrodzie prezentowanych wiele zamków szyfrowych – z pełną klawiaturą, dwoma przyciskami i jednym też. Mój projekt z serii pchełka zrealizowałem na Attiny13 i jednym przycisku. Potrzebne mi było rozwiązanie nieco inne – coś co nie będzie chronić sejfu w banku ale...
W deklaracji funkcji tylko raz deklarujesz "Byval"
Witam. Ostatnio postanowiłem napisać NA uC ATMEGA32 w języku BASCOM basic licznik rowerowy. Mam już znaczną część kodu, ale natrafiłem na problem. W zmiennej czas_jazdy_total przechowuję ogólny czas jazdy wyrażony w sekundach. Niestety taka postać nie jest przyjemna dla oka, więc należałoby zamienić ją do formatu godziny - minuty - sekundy. Tylko teraz...
http://obrazki.elektroda.pl/8230612800_1... Przedstawiam dzisiaj prosty gadżet jaki zmajstrowałem jakiś czas temu. Jest to w zasadzie zwykły elektroniczny metronom i nie różniłby się od wielu podobnych tu prezentowanych gdyby nie sposób ustawiania czasu pikania. Założenia: 1.Wykorzystać stare diody led, które leżały w szafce około 15lat......
https://obrazki.elektroda.pl/2578145800_... Od dłuższego czasu planowałem wykorzystanie drukarki termicznej razem z terminalem/kolektorem danych Psion Workabout MX. Był pomysł aby taką drukarkę kupić, jednak kiedy dostałem 3 kasy fiskalne do "wypatroszenia" w ramach projektu "rzeźnia kas fiskalnych" to nie mogłem zwyczajnie zostawić...
Cześć Domyślam się że marcin_w dopiero zaczyna przygodę z mikrokontrolerami jeśli próbuje zaświecić diode. Czy nie lepiej mu będzie po prostu w programie zmienić wartość crystal na 1000000 ? Wtedy mikrokontroler będzie liczył dobrze, a zabawa na tym poziomie z "fusami" dość szybko może się skończyć zablokowaniem procesora o czym się sam przekonałem...
http://obrazki.elektroda.net/99_12655757... Witam dzisiaj chce wam przedstawić moja pierwsza w pełni ukończona konstrukcje a jest to lampka RGB :D Pomysł na projekt zrodził się z tego ze potrzebowałem jakiegoś oryginalnego prezentu dla mojej dziewczyny (dwa lata razem za tydzień ;p) i chciałem nauczyć się obsługi PWM oraz portów analogowych...
http://obrazki.elektroda.pl/5053717900_1... Miałem ostatnio potrzebę zrobić mały termostat, który będzie dość przyzwoicie trzymał temperaturę, a warunkiem było jej nie przekraczanie. Pomyślałem, że zanim go oddam to jeszcze go zdążę tu opisać... a i będzie kolejny przykład, że Attiny 13 potrafi więcej niż tylko miganie diodą :-D Było...
Napisz sobie funkcję, która jako parametr przyjmie odebrany ciąg, w pętli będzie przeglądać kolejne znaki aż do końca ciągu źródłowego (napotka znak o kodzie 0) i jeśli napotka taki z zakresu "0"-"9" to wtedy taki znak dopisze do zmiennej wynikowej. I na koniec funkcja ją zwróci. Myślę jednak, że Tobie potrzebna będzie znacznie bardziej rozbudowana...
Jesteś oszczędny w opisie tak jakbyś nie lubił klawiatury a ja nie lubię wyciągać informacji jak nauczycielka w szkole osła za uszy. Sam sobie szkodzisz. Napisz może co wyswietla... Osobiście to dodałbym zmienną ErrChck As Byte i ją przypisywał zamiast tego "Lcd Error" [syntax=vbnet]'....tu funkcja odczytu.... 'zamieniamy ostatnie polecenia Dim ErrChck...
https://obrazki.elektroda.pl/7834697200_... Wszystko zaczęło się od niedokończonego (nie wykorzystanego) projektu klawiatury USB pisanej w Bascom ( https://www.elektroda.pl/rtvforum/viewto... ) na Atmega8. Pierwotnie miał to być symulator hamulca ręcznego w grze samochodowej o który zostałem poproszony przez znajomego....
Witam, może nie całkiem na temat, ale próbowałaś napisać to w C, albo w Arduino? W Arduino wychodzi jakieś 10 bajtów RAM na całość plus kilka bajtów stosu. Jeśli masz jeszcze dużo tych attiny13 i planujesz jeszcze na nich budować, to myślę, że warto spróbować w C/C++. Niezależnie od języka sterowanie z punktu widzenia serwa w opcji 2 i 3 będzie takie...
No i Bascom - aż mi się łezka w oku zakręciła Wiele było dyskusji na ten temat na forum i nie tylko , ale ja uważam, że BASCOM jest dla ludzi. Do C podchodziłem kilka razy ale nie mogłem sie przemóc. Niby jest bardziej efektywny ale jak to mówią "pieniądze to nie wszystko". :)
Nie ma tu nic z C. Napisałem to kiedyś "z palca" :D Ciebie najbardziej powinno zainteresować "Adcmax3 = Adcr3(3)" bo to jest przepisanie aktualnie najwyższej wartości. Rejestr(43) i to obok to funkcja która liczy wartość skuteczną napięcia. Może niepotrzebnie tam zostawiłem bo to jest z urządzenia które jest Modbus Slave`em. Ten wpis !SBI ADCSRA , 6...
Program poprawiłem, ale dalej jest problem z drugim timerem tzn. działa tylko z TIMER0 , działa klawiatura, funkcja rozpędzania wirnika. włączenie drugie timera wiesza program. Zamieszczony program (tylko z TIMER0) działa fizycznie. [syntax=vbnet] $regfile = "m2560def.dat" $crystal = 16000000 '$sim '***************************************... Config...
Ta funkcja sama wykrywa zawieszenie? Z helpa widzę, że jakieś małe czasy można tylko wybrać i jest dodana np w funkcjach if a ja nie niem gdzie dokładnie się zawiesza jak przegrzewa zawartość - chyba, że źle rozumiem jej działanie. Będę teraz stopniowo dodawał kod programu i może odnajdę przyczynę problemów z kodem. Pozdrawiam
Przeszukałem forum przed napisaniem niestety nie znalazłem nic ciekawego :) trochę to dziwne jest, że jest w BASCOM funkcja nadawania w RC6 a nie ma funkcji odbioru...
Czy to złe rozwiązanie? Złe. Funkcja w tym przypadku jest czytelniejsza, ponadto nie musisz robić przypisań [syntax=vb] Sekundy = Sekundy 'przepisanie wartości sekund Zapis_minut = Minuty 'przepisanie wartości minut Zapis_godzin = Godziny 'przepisanie wartości godzin [/syntax] ani deklarować zmiennych [syntax=vb] Local Zapis_godzin As Byte 'zmienna...
A z jaką dokładnoścą możemy się spodziewać wyniku operacji (ile miejsc po przecinku)??? Dodano po 5 Ile pamięci "pożre" nam funkcja trygonometryczna (sin)???
potrzebuje sklecic funkcje typu on_event a raczej on_portx.y_active aby na przyklad po przycisnieciu przycisku (ustawienia stanu wysokiego na ktoryms z wejsc) wykonana zostala konkretna funkcja
Witam! Chciałbym zrobić urządzenie, które będzie podłączone do linii telefonicznej, i którego zadaniem będzie rozpoznawanie kodów DTMF nasłuchiwanych na linii. Chciałbym, aby urządzenie oparte było na mikrokontrolerze AVR i środowisku BASCOM AVR. Bascom udostępnia gotową funkcję DTMFOUT. DTMFIN nie znalazłem. A może taka funkcja jednak istnieje?
http://obrazki.elektroda.pl/6844642700_1... Witam wszystkich serdecznie :) Jakiś czas temu luba poprosiła mnie o zrobienie włącznika do światła na pilota bo nie chce jej się wstawać z łóżka by je zgasić - no cóż, pięknym kobietom się nie odmawia :D Po chwili w głowie powstał wstępny projekt i prototyp opierający się na zasilaczu beztransformatorowym...
Witam, mam problem z stworzonym przez siebie zegarem w programie bascom ( dzialam na symulatorze ) Wiec program nie chce pokazywać mi minut ani sekund tylko pokazuje stale 255 A godziny zatrzymują się na 4 godzinie. Chciałem tez dodać switch który po kliknięciu zapisuje i przechodzi np z godzin do minut i z minut do sekund ale każdy jak go dodaje nie...
Cytuję: "Ustawia się to w zależności od skomplikowania programu. (...)" O co tutaj chodzi i o jakie wartości tutaj chodzi? Dokładnie chodzi o ilość bajtów jaką początkowo zajmie każdy ze stosów. Stos jest elementem rozrastającym i kurczącym się dynamicznie. Może dojść do sytuacji gdzie jeden zajdzie na drugi - stack overleap - i kłopot gotowy. Dlatego...
...Co takiego robi ta funkcja czego sie nie da zrobic w bascomie? A gdzie ja napisałem , że się nie da :?: Aby tę funkcję zaimplementować w Bascomie , trzeba znać ciało tej funkcji , a postodawca jej nie "dostarczył" :( Piotrek
witam jak w temacie prosta funkcja z jedną zmienną wywala błąd w postaci : error 61 : line 12 Label not found[_LPMBYTE ], in file..... a program poniżej hmmm może o czymś zapomniałem ? line 12 to wskazuje na ostatnia linię programu $regfile = "m48def.dat" $Crystal=4000000 $hwstack=40 $swstack=16 $framesize=32 Dim A As Double A = 0.000101299243148 Pozdrawiam...
Witam. Dla jasności przez sterowanie fazowe mocą przekazywaną do obciążenia (230V AC) rozumiem moc dostarczoną do obciążenia od upłynięcia (opóźnionego) czasu załączenia triaka do czasu jego ponownego przejścia przez zero (i wyłączenia triaka). Prawiąc o przekazywanej mocy mówimy wówczas o polu pod sinusemm stąd regulacja liniowa (liniowa zmiana czasu...
To jest przykładowy program do tej klawiatury. Zajrzyj do pliku pomocy Bascom albo naciśnij F1 w Bascomie.
Tego się tak nie robi. Bascom ma wbudowane funkcje do obliczania różnych wartości z dat i w drugą stronę. Całkowity czas z datą można zapisać w zmiennej typu Long. Tak samo deklarując po kolei Sec, Min, Hour, Day, Month i Year jako Byte można potem uzyskiwać różne potrzebne dane tam i z powrotem. W swoich programach wstawiam funkcję bo czas Lato/Zima...
Funkcja SPLIT działa ale w tym przypadku nie za bardzo zdaje egzamin , program oparty został na funkcjach MID i VAL nie mojego autorstwa . Ma małe ograniczenia ale jest sprawniejszy i mniej zajmuje miejsca . Za pomoc dziękuje i pozdrawiam
Doszedłem, że funkcja Getrtctime() resetuje mi układ. Wcześniej działała. Jaki może mieć związek z deklaracją timera?
Już jest prawie ok, ale za nic nie mogę dojść dlaczego programik kol. emarcus błędnie pokazuje sekundy powyżej czasu 4min15sek czyli 255 sek. Zmienna tp jest word więc nie wychodzi z zakresu. Dzielenie mod też jest raczej ok. A poza tym jak zjadę poniżej 0sek. to pokazuje zawsze końcówkę 28 sek. Czas skróciłem do 10min w ustawieniach To był mój błąd;...
Czy ktoś podpowie - jak w Bascomie zrobić 8 znakowy string z zmienną DWORD w formacie hexadecymalnym ? Nie można tego zrobić zamieniając zmienną na string za pomocą HEX, ponieważ ta funkcja działa tylko do typu WORD. Jakieś zaćmienie umysłowe mam :)
Funkcja NOT , zmienia stan pinu na przeciwny po każdym wywołaniu jej
Niestety to nie działa, gdy inkrementacja zmiennych "przesunięcie1 i 2" się zeruje po osiągnięciu len(x) w warunku if...then w głównej pętli, cały napis z Bufor_text zanika i tworzy się na nowo. BASCOM domyślnie indeksuje od 1, dlatego z zerem źle działało. Zmienić 0 na 1 , >= na > i powinno być ok. Dodatkowo można poprawić warunek dla Left , bo teraz...
Witam! Zgadza się, funkcja Rnd() powoduje generowanie liczb pseudolosowych według pewnego określonego algorytmu. Aby uzyskać liczby "bardziej" losowe, oraz inną sekwencję liczb po każdym restarcie układu można zmienić podstawę generatora funkcji pseudolosowej. Dim ___rseed As Word ___rseed = Wartosc Jako Wartosc można podstawić wyjście przetwornika...
To jest tak prosta funkcja że nie ma nawet definicji w bibliotece mcs.lib Wykorzystuje polecenia asemblera INC i DEC więc jeśli byś się przy tym upierał to chyba tylko jakaś pętla.
Najprościej to napisać dwie funkcję/procedury, jedna do jednego programu, a druga do drugiego. Oraz jaką prosta funkcja budująca menu, oraz uruchamiającą odpowiednią procedurę zależnie od wyboru użytkownika. Ale może się okazać, że braknie pamięci w mikrokontrolerze, a pisząc w BASCOM o to nie trudno. Innym rozwiązaniem była by karta pamięci i bootloader....
Nie chodziło mi o przerwanie od Timera tylko o coś takiego że odpalasz konwersję/pomiar oraz przerwanie kiedy będzie już wynik czyli procesor nie czeka a może w tym czasie zrobić coś innego. Jednak ta funkcja wykonuje się w 107 taktów zegara w 0.01ms więc myślę, że nie masz co kombinować. Lepiej byś napisał co to za procesor i jakie ma taktowanie bo...
Kiedy w końcu zrozumiecie, że nie każdy chce zostać programistą i ludzie czasem programują sobie po to by coś zrobić i mieć z tego satysfakcje. Wiem jak oprogramować ADC i to nie tylko w Bascom, ale zauważ że piszemy tu o Bascom. Języku który upraszcza wiele rzeczy dając Ci określoną ilość prostych w użyciu funkcji. Jedną z takich funkcji jest Getadc()...
Witam Poszukuję osoby, która napisała by program najlepiej w Bascom lub ewentulanie C, który posiadałby następujące funkcje: - funkcja nauki funkcji pilotów podczerwieni. np koło 15 komend - funkcja uruchomienia tych komend za pomocą komputera w trybie tekstowym przez rs232 lub po zwarciu przycisków - funkcja obsługi 4 - 6 przekaźników również przez...
Zgadza się funkcja CRC8 jest ale w BASCOM AVR. Ja pisałem w BASCOM-8051 i tam nie ma tej funkcji.
Jeśli kolega zna BASCOM to czego kolega nie rozumie po komentarzach? np. funkcja adc_init to jest takie config adc :) Jak? A to akurat po komentarzach widać. adc_select_input kolega nie potrzebuje, gdyż ten parametr jest podawany w GetADC(), timer_init to takie config timer... to nic skomplikowanego, niech sobie to kolega przeanalizuje uważnie, przepisanie...
Nie wiem na czym polega problem kolegi. Poza tym o porcie RS232 mówimy tylko po stronie komputera, koledze chodzi jak mniemam o to, że z komputera są wysyłane dane do procesora i ten powinien je odbierać. Zatem jak kolega napisał po pierwsze należy użyć bufora (dostępny z poziomu BASCOM - poszukaj w helpie) a potem w danym miejscu programu sprawdzać...
[syntax=c]void start_freq(void) { TCCR0A = 1<<COM0A0 | 1<<WGM01; // CTC mode timer 0 toggle 0C1A TCCR0B = 1<<CS00; // clk / 8 OCR0A = 110; // f = 36kHz }[/syntax] Tak wygląda generowanie 36kHz na attiny2313 przy rezonatorze 8MHz. Nie jest to bascom (tylko C), ale widać, które bity są ustawiane i w jakich rejestrach ;) Nic więcej. Po...
Patrz co robi: Ta funkcja jest napisana jako ogólna wykorzystująca tryb ADC Noise Reduction. W dodatku jest napisana dla konkretnego przypadku, kodu który zamiast odczytywać ADC w funkcji przerwania ADC, odczytuje go w ciele funkcji. W takim przypadku należy dodać opóźnienie (które jest pod koniec tej funkcji) bo inne przerwanie mogło wybudzić mikrokontroler,...
To wklejanie C do BASCOMa to miałem na myśli że kod w C można przerobić żeby BASCOM go skompilował. A w druga stronę to sie nie da bo BASCOM ma pewne funkcje zaszyte w sobie. No ta funkcja sendrc5. To jest element BASCOMa i nie ma jawnego kodu w BASCOMie do tego żeby to przerobić na C. Tak normalnie o tak jak mirekk36 napisał nie ma żadnych szans żeby...
Cześć. Chcialbym napisać program który będzie obslugiwał taki zamek szyfrowy w aplikacji roboremo poprzez bluetooth w jezyku BASCOM (zdjecie w zalaczniku). Na poczatku przypisalem w aplikacji akcje po nacisnieciu przycisku oraz ustawilem id diody. Napisalem program sugerujac sie innymi zamkami szyfrowymi ale bazujacych na klawiature 4x4 i pobierajacej...
Funkcja pulsein wstrzymuje działanie programu na te 655ms? (lub krócej)
Witam oto mój kawałek kodu $crystal = 8000000 Dim A As Byte Dim B As Byte Dim C As Byte Dim D As Byte Dim E As Byte B = 3 C = 2 D = 5 E = 10 Config Portc = &B10001111 Portc = &B01111111 Disable Interrupts If Pinc.6 = 0 Then Gosub Ppp If Pinc.6 = 1 Then Gosub Tttt Ppp: Do Portc.0 = 0 For A = 1 To B Wait 1 Next Portc.0 = 1 For A = 1 To C Wait 1 Next Loop...
zgadza się, powstała masa wyświetlaczy alfanumerycznych LCD na rożnych układach ,ale zgodnych z hitachi HD44780. Dzieki tej zgodności obsługują się jednakowo choć czasami pojawiają się drobne rożnice... BASCOM załatwia je od ręki i typowe funkcje działają. Zauważyłem jedynie, iż bascomowa funkcja SHIFTLCD na niektórych klonach HD nie działa prawidłowo......
jest jakis sposob zeby ta funkcja nie wstrzymywala programu w bascom ?
write_command(0x40+x) to funkcja wpisująca wartość parametru jako komendę. Parametr 0x40 (64 dec) to adres pierwszej komórki przeznaczonej na znaki definiowalne w pamięci LCD. Tu wpisuje się "wartość" górnej linii poziomej znaku zerowego. 0x41 (65 dec) i druga linia, 0x42 (66 dec) trzecia linia itd do 8, później pierwsza linia znaku nr 1. Funkcja nie...
mi wygląda na to że brakuje ci w bibliotece user32.dll funkcji MsgWaitForMultipleObjectsEx możliwe że ta funkcja została dodana do tej biblioteki później. sugerowałbym zmianę systemu operacyjnego na nowszy (myślę że win98 by ci na tym sprzęcie poszło)
Od kilku dni walczę z Bacomem i ATmega32. Mam książkę Marcin Wiazania - Programowanie mikrokontrolerow AVR w jezyku Bascom. Książka fajna ale ma kilka lat, więc siedzę na necie i już mnie krew zalewa. Co chwila znajduje jakieś fragmenty programu, których nie rozumiem bo nie mam ich opisu ani w książce ani w helpie. Próbuję coś sam napisać, ale co chwila...
Skoro coś się powtarza to zapisz to jako procedurę a potem ją tylko wywołuj. Poczytaj DECLARE SUB i DECLARE FUNCTION Funkcja przy okazji jeszcze zwraca wynik.
Mam pytanie panowie próbuję od pewnego czasu napisać pewien kod w Bascomie i chciałbym żeby program losowo wybierał mi liczby spełnia to funkcja rnd ale trochę mi to nie pasuje bo jak sie system zresetuję to ona zaczyna losować od tych samych liczb powtarza je można to zrobić żeby ich nie powtarzała jakaś inna komenda Proszę o podpowiedź Z góry dziękuje
Myśłem, że jest do tego jakaś biblioteka, ale w takim razie przejdźmy do rzeczy. Funkcja INSTR(); zwraca pozycje znaku czyli ja tu wstawie ",". Poda mi pozycje pierwszego przecinka (tak się domyślam), a co z resztą? Wycinać przeszukany już tekst po kawałku ? Jak to zrobić najoptymalniej?
Witam Bardziej profesjonalnie jest wszystkie układy potraktować jako slave . Każdy słucha i czeka na przerwanie z uarta , jak je otrzymuje odbiera zawartość z udr porównuje i albo odbiera dalej albo ignoruje i czeka na kolejny adres . Atmel wyposażył układy w tryb multimaster ,który się do tego świetnie nadaje i warto o nim przeczytać w dokumentacji...
Funkcja serwa "korzysta" jakby z "software PWM" . Spróbuj na początek podnieść taktowanie do 8MHz i zaznacz to w kodzie na początku. Bascom "próbuje sie dopasować" do taktowania, ale trzeba zrozumieć, że przy 1MHz nie ma dużego pola manewru. Nikt nie lubi się powtarzać - kliknij w moje poprzednie posty bo niedawno pokazywałem jak serwo działa pod niejedną...
bascom funkcja bascom funkcja przerwaniu funkcja funkcji bascom
montaż zasilacza antenowego monitorować akumulator 32lg3000 pilot
scania centralny zamek scania centralny zamek
Odklejanie soczewek LED w telewizorach LG - skutki i naprawa Octagon SF8008 zawieszenie na BOOT – naprawa, Recovery, flashowanie, eMMC, OpenATV 7.4