Najprościej skorzystać z gotowych funkcji. W Bascomie 51 jest funkcja MAX. Działa ona na zmiennych typu Byte. W Bascomie AVR funkcja ta działa na zmiennych Word. Więcej info w helpie do Bascom-a. Jeśli musi to być koniecznie Integer, można zastosować jakąś konwersję typu Word na Integer lub napisanie własnej funkcji, co nie powinno być trudne.
Konwersje byte->string otrzymuje się przy użyciu funkcji Str. W drugą stronę działa funkcja Val.
Tu taj masz trochę informacji o tej funkcji z Bascom AVR: http://www.forbot.pl/forum/topics49/funk... Zobacz też HELP'a :)
Witam.Czy w pakiecie Bascom AVR zaimplementowane są procedury umozliwiające korzystnie z funkcji trygonometrycznych (funkcja sinus)???
To nie wina procesora ale kompilatora. Procesor nie ma w sobie funkcji getrc5, to jest funkcja bascom, szukaj winy w kompilatorze.
' Funkcja musi być zadeklarowana przed jej pierwszym użyciem ' ponieważ kompilator musi wiedzieć jaki jest rozmiar danych ' przesyłanych do funkcji i jaki jest jej typ wyniku ' Funkcja musi mieć zdefiniowany typ wyniku, tu Integer Declare Function Test(byval Liczba As Integer , Tekst As String) As Integer ' określenie byval przed nazwą oznacza,...
Funkcja Wait nie blokuje Watchdog -a, zrób to co zaproponowałeś - Stop Watchdog - Wait - Start Watchdog Pozdrawiam
Dodaj byval na początku przy deklaracji funkcji . Czyli Declare .......(byval kanal As byte) Jak nie rozumiesz działania funkcji - to możesz też przerobić to na podprogram. PS - kolega wyżej mnie uprzedził.
kuuczoo :przecież MES Mariusz dobrze wie jak to robić. Przecież napisał. A Ty mu jedziesz że się pyta o podstawy. On po prostu chce wiedzieć czy w BASCOMie nie ma już gotowej funkcji do tego. Gotowa funkcja jest (o ile można to nazwać funkcją): Dim A As Bit Dim C As Byte B = 255 A = B.3
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.
Czytałem wprawdzie jakiegoś i tak fajnego PDF'ka autorstwa kolegi Zbigniewa Gibka , i jest tam trochę na te tematy. Jednak tam opisane jest tworzenie własnych procedur które hmmm trzeba deklarować jeszcze samemu w programie głównym. To troszkę ciężko tak działać. A czy zastanawiałeś się w jaki sposób przekazać kompilatorowi czy ma na stos wrzucić jakieś...
W zasadzie nie znam Bascom-a, ale podejrzanie wygląda mi to, że argument Segment tej funkcji nie jest zadeklarowany jako tablica, a jednak odwołujesz się do niego jako tablicy.
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ś.
Moze da bascom'owa funkcja uzywa timera
Witam Mam taki kod: $regfile = "m328pdef.dat" $crystal = 14745600 $baud = 9600 ' predkość transmisji $hwstack = 128 ' rozmiar stosu sprzętowego $swstack = 128 ' rozmiar stosu programowego $framesize = 128 ' rozmiar ramki Do Locate 3 , 1 Lcd Ss1 ; Chr(0) ; " " Locate 3 , 10 Lcd Ss2 ; Chr(0) ; " " Locate 4...
On będzie się zwiększał o 1 w tym przypadku, bo wartość przesunięcia przekazywana do funkcji też się tak zwiększa. Jeśli jednak np. zacząłbyś przesuwać w prawo to funkcja nie działałaby prawidłowo, poza tym musiałbyś tą wartość zapamiętać poza funkcją dla danego napisu (tak, jak teraz przesuniecie ). Dlatego trzeba to liczyć.
Użyj funkcji FORMAT to powinno ci załatwić sprawę. Poczytaj o tej funkcji w helpie. Pzdr. A.
Nie wiem konkretnie o co Ci chodzi, ale pewnie rozwiązaniem było by zastosowanie odbioru w przerwaniu co w bascomie jest niezwykle łatwe za pomocą BYTEMATCH. Mam wersje 1.11.9.0 i wspomnianego BYTEMATCH nie ma. Od ktorej wersji bascoma jest w/w funkcja? Zawsze byłem za tym, by najmniej korzystac z gotowych funkcji, a korzystac bezposrednio z rejestrów...
Witam Kolego Unreal89. Pracuję pod Bascomem 8051 i nie spotkałem się z funkcją, o której wspominasz. Przejrzałem pliki help'a i tam również nic nie znalazłem. Zainteresowany jestem z jakiego powodu odpada komenda "fusing"? Dla czego pytam? Pozwolę sobie obszerniej skomentować zaprezentowany listing. 1. Termometr DS18B20 przechowuje informacje o temperaturze...
Zauważyłem iż w Bascomie nie ma czegoś takiego jak funkcje i nie wiem czy istnieje coś w stylu zmiennej lokalnej. Przez 8 miesięcy helpa w dodatku w j. polskim nie przeczytać? Hmm... Przeznaczenie: Rozpoczyna treść funkcji użytkownika. Składnia: FUNCTION nazwa [ ( parametr AS typ [, parametr AS typ] ) ] AS typ_rezultatu instrukcje...
Przeznaczenie: Formatuje tekst zawierający liczbę według podanego wzorca. Składnia: rezultat = FORMAT( zmienna , "maska" ) gdzie: rezultatzmienna tekstowa, w której umieszczony zostanie sformatowany tekst, zmiennazmienna tekstowa zawierająca formatowaną liczbę , maskawzorzec formatowania. Przeznaczenie: Zwraca tekstową reprezentacje podanej liczby....
Nie masz za dużo w funkcji obsługi przerwania. Dużo Waitms i jeszcze obsługa LCD. Może przerwania tak szybko nadchodzą, że nie zdąża czasu na wyjście z niego. Funkcja przerwania powinna być krótka
Mam pytanie do kolegi bo nie wiem na jaki procesor chciał podłączyć te przyciski AVR czy 8051 bo jak ten drugi to podana funkcja toggle nie istnieje dla 8051 trzeba zanegować bit portu przy pomocy NOT początek taki sam jak kolega Adamusx podał powyżej tylko w ciele funkcji if musi znaleźć sie zanegowany bit portu na który jest podpięta dioda.
O ile mi wiadomo w Bascom-ie nie ma funkcji tokenizującej (jak np. STRTOK w C++). Musisz sobie napisać funkcję samemu używając funkcji Instr, Mid oraz Len
Musisz liczyć to logarytmicznie. ...zmienną wszystko jest ok do wartości 0dB = 7 (dec) To akurat fart, bo do wartości "około zera" funkcja idzie w miarę liniowo. Szukaj jak liczyć logarytm w Bascomie (funkcja log).
...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
Możliwe że tylko jakiś nowszy BASCOM to obsługuje. Albo chodzi o tą http://www.atmel.com/dyn/resources/prod_... funkcję.
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.
...również odnośnie tych paramterów $hwstack, $swstack, $framesize i ustalania ich wartości nie jestem jeszcze w pełni świadomy jak z nich korzystać. http://www.elektroda.pl/rtvforum/topic32... natomiast odnośnie samej funkcji, którą fajnie rozpisałeś i dzięki to jednak mam pytanie - bo nie widzę w niej zdeklarowanych parametrów jakie chciałbym...
Wróci do funkcji2, ponieważ przerwanie zawiesza dotychczasowe działania, a po zakończeniu jego obsługi wraca do wykonywania przerwanych operacji.
Abstrahując od dyskusji to tablicowana funkcja ma się nijak do funkcji logarytmicznej ;-) Albert
Tak się objawiają uszkodzone czujniki. Sprawdź go jeszcze raz w bascomie. Pozatym masz jakieś dziwne te delay'e czemu używasz funkcji owire_delay przecież masz _delay_ms? Trochę wróżąc z kodu wnioskuje że funkcja delay odmierza 0,25us * przekazany argument. Piszesz w komenarzach że niby ta pętla for + funkcja poniżej jej trwa 470ms. Jak nie przestawiałeś...
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
Nie testowałem tego z kartami cf, ale z tego co wiem to do ich obsługi pierwotnie była ta biblioteka, więc pewnie sd ma takie niedoróbki, bo u mnie efekt taki sam. A problemy z kartą rozpoznaję z funkcji Initfilesystem()
Ksiązka kurs pisania w BASCOM AVR to np. "Programowanie mikrokontrolerów AVR w jezyku BASCOM" Marcin Wiązania BTC. Ksiązka rozpoczyna się od opisu większości funkcji komend BASCOM potem trochę o procku AVR a następnie proste programy obrazujące możliwości AVR i obsługę róznych interfejsów... jest też kilka programów obsługi wyświetlaczy czujników przetworników...
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...
pamięć ram i pamięć programu nie znajdują się w tej samej przestrzeni. LPM (load program memory) odczytuje z pamięci programu, LD (load data) wczytuje z przestrzeni pamięci. Zmień LPM na LD r16, Z (pomijając mov r16, r0) tak jak napisałem w drugim poście tematu.
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...
Żeby układ sam się resetował przy włączeniu zasilania , to opornik dajesz do plusa i kondensator z pinu reset do masy.
Niepotrzebnie otwierasz i zamykasz kanał przy każdym wysyłaniu. Otwórz kanał przed pętlą a w pętli tylko wysyłaj dane (bez zamykania kanału).
Widzę że nikt się nie pali do pomocy, to może ja coś pomogę. Mam dość szybki kod do SD. Jeżeli SD też może być to pomogę. Mogę też rzucić procedurami zapisu i odczytu bloków danych. One w SD i MMC są identyczne (chyba). To jest taka TurboOptymalizacja wysyłania/odbierania po SPI. Odczyt chyba jest blok 512B/1ms.
Nie musiałem liczyć, :) w Wikipedii znalazlem. Z sumą, potęgą i silnią nie ma problemu, więc chyba powinno wyjść. Tylko strasznie dużo kodu to zajmie. Jak już napiszesz to możesz podesłać tu źródło to może da się zoptymaliować.
W procedurze/podprogramie obsługi przycisku wciśniętego zwiększaj zmienną o 1 a w programie głównym, czy też tam gdzie to jest potrzebne, wykonuj program w zależności od tej zmiennej, np. wykorzystując SELECT CASE.
Powiem tak: Nie znam się na BASCOMie ale widzę, że END kończy program a dokładnie pustą pętlę w której powinien znajdować się odczyt z przetwornika i wyświetlanie, używając napisanych przez Ciebie funkcji. Przykładowo siała baba mak.../deklaracja zmiennych Do /pętla główna programu wykorzystująca twoje funkcje ODCZYT WYSWIETL Loop END ODCZYT: bla bla...
Do Reset Portb.1------- tu ustawiasz na wyjscie niskie Wait 1 ------- tu czekasz sekunde Set Portb.1 ---- tu ustawiasz na wyjsciu wysokie Loop -------A TU ODRAZU WRACASZ DO POCZATKU PETLI I TAM ZNOW USTAWIA SIE NA NISKIE End Rozumiesz gdzie jest bład? $crystal = 16000000 $regfile = "m32def.dat" $baud = 9600 Config Portb.1 = Output Do Reset Portb.1 Wait...
Jak w temacie, czy można spod bascoma obliczyć wartosć wybranej funkcji trygonometrycznej, dla wybranego kąta a ?
A mi się udało znaleźć. I to na stronie producenta bascoma. Wpisałem w google "bascom getkbd" :) https://avrhelp.mcselec.com/index.html?g... [syntax=vbnet]'-------------------------... 'name : getkbd.bas 'copyright : (c) 1995-2005, MCS Electronics 'purpose : demo : GETKBD 'micro : Mega48...
tak jak piszesz reti używasz tylko do powrotów z przerwań, natomiast samo ret do powrotów z funkcji (podprogramów) aby dosyć jasno pisać kod należałoby się trzymać pewnej zasady, o którą czasem wiadomo ciężko ale... .... otóż po tei inicjalizacji robisz tzw pętlę główną (zamkniętą) - występuje ona w każdym języku wyższego poziomu jak Bascom lub C. czyli...
Witam, Czy ktoś z forumowiczów może mnie oświecić jak realizować funkcję logarytmu w Bascomie-8051? Kuba
Jeśli chcesz użyć wyłącznie Incr więc liczenia co 2 nie zrobiśz inaczej niż Incr x Incr x :)
Zamiast podprogramów nie lepiej uzyć funkcji? Można sie posługiwać zmiennymi lokalnymi, nie ma problemu z pokrywającymi sie nazwami. Co do makr, to jak trzeba, jest to uzasadnione to tak, jak nie to funkcje lub podprogramy. Swoja drogą, wywołanie podprogramu jest pewnie szybsze niz funkcji? W kodach Bascom jakie widuję, rzadko pojawiają się funkcje.
No cóż. Wprawa i rutyna (niestety). Zapraszam do nauki. Z uC można 1000000 razy więcej.
Okazuje się, że w Bascomie 8051 nie można zdefiniować własnej funkcji, ta możliwość istnieje dopiero w Bascomie AVR - ciekawostka .. http://avrhelp.mcselec.com/changes_compa... Spróbuj czegos takiego może zadziała ... Declare Sub Klawiatura Dim przycisk As Byte Dim kol1 as Byte Dim kol2 as Byte Przycisk=0 Do Call Klawiatura ' Tu...
Przeoczyłem to. Faktycznie trzeba dac pętlę nieskończoną. #include<avr/io.h> int dane; #define OSC 4 // definicja funkcji opóźniającej void waitms(unsigned char x) { unsigned char a, b; // zmnienne licznikowe for( ; x > 0; --x) // ta pętla zostanie wykonana x-razy for(b = 10; b > 0; --b) // a ta 10 razy for(a...
...właśnie znalazłem chwilkę czasu i ze zdumieniem zobaczyłem, że te biblioteki to nie jakieś pliki binarne ;) tylko tak jak podałeś w przykładzie z tym LCD. hmmmm tylko czy jest gdzieś jakiś opis jak się do tego tak bardziej szczegółowo zabrać? Jakoś nie spotkałem materiałów , o "nazewnictwie" wbudowanych w Bascom'a funkcji/procedur zmiennych czy...
$regfile = "attiny2313.dat" $crystal = 4000000 Config Pind.2 = Input Config Portd.0 = Output Config Portd.1 = Output Config Portd.3 = Output Set Portd.2 Przycisk Alias Pind.2 Dim Sekwencja As Byte Declare Sub Pierwsza Declare Sub Druga Declare Sub Trzecia Enable Interrupts Enable Int0 On Int0 Przycisk_przerwanie Do Loop End Przycisk_przerwanie:...
To bez znaczenia bo i tak wywala sie nawet na 2^2 :) Nie czytasz co piszą inni - stos :D Wklej na początku kodu ... $hwstack = 64 $swstack = 64 $framesize = 64 ... Piotrek
Zapomniałeś umieścić parametrów w nawiasach! Poprawne wyłołanie funkcji to, przykładowo: Wyswietl_bajt(&B00000000)
Witam. Skoro nie masz źródeł to trzeba zrobić wszytko od podstaw. Ciężko będzie to zrobić bez licznika i motoru. Raczej trudna sprawa, chyba że trafisz na kogoś kto już coś takiego przerobił na swoje potrzeby.
Nie wiem jak w BASCOMie to zrobic (kto w ogole pisze programy na procek z 256kB FLASH w tak dziwacznym jezyku?), ale jesli BASCOM wspiera kompilacje pod konkretny adres i odwolania do funkcji przez wskazniki (to mozna zreszta zrobic za pomoca wstawki w assemblerze), to najprosciej te funkcje umiescic pod jakims znanym z programu glownego adresem, przy...
ad1.Split() ad2.Instr(), Varptr(), Inp(), Out(), itp ...W żadnej funkcji nie mam na myśli MID() ... A czym naraziła Ci się ta funkcja, że nie chcesz o niej nawet myśleć :?: :-P
W deklaracji funkcji tylko raz deklarujesz "Byval"
Kolego emarcus namieszałeś mi troszkę z tom funkcją ‘Str2digits’ Ile tomów ma ta funkcja?
Zobacz (krótki) film ile zajęło mi znalezienie Twojego błędu :D Nie wiem czy używasz, ale ja mam włączone numerowanie linii kodu bo to ułatwia zrozumienie komunikatów i warning`ów. Mała literówka :D Co ciekawe po lewej na czerwono warning, że deklaracja się nie zgadza i po kliknięciu za chwilę wszystko na zielono :D To po lewej się włącza - "Code Explorer"...
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...
To może koledzy mają jakiś inny sposób na zamianę liczby z postaci zmiennoprzecinkowej w całkowitą? No to w końcu chcesz mieć liczbę całkowitą w zmiennej zmiennoprzecinkowej czy liczbę całkowitą w zmiennej całkowitej? Jak to drugie, no to Round: Dim Co2_w As Single Dim Co2_int As Long ... Co2_int = Round(co2_w) Niezgodnie z Helpem BASCOMa,...
Cześć W załączniku podsyłam Ci formułę obliczeń z której korzystałem oraz arkusze Open Office w którym to wyliczałem. Z jakiegoś powodu (już nie pamiętam) użyłem wtedy Open Office zamiast Excela. Ten arkusz nie otwiera się poprawnie w excelu. Obliczenia wykonane dla 250 kroków, timer 16bit (procek PIC taktowany kwarcem 8MHz). Teraz nie mam Open Offica...
Chciałem sobie dostosować bascomowe polecenie Sound (pin, pulses, periodes) do PeCetowego Beep(f,t) w tym celu sobie napisałem 2 funkcje ale coś nie zabardzo to działa. Pierwszy raz w ogóle używam funkcji w bascomie, proszę o pomoc. $regfile = "m32def.dat" $crystal = 16000000 '16MHz Dim Pulses As Single Dim Periodes As Single Dim F As Integer...
Nie wgłebiajac sie w kod moze zamiast LSR daj LSL i po sprawie. Nie ma '8' bitu chyba.
mov DPTR, .Tablica_instrukcji mov A,{instrukcja} jmp (at)A+DPTR Pomijając fakt, że nie mam pewności czy ten kawałek kodu jest poprawny to mam problem ze zbudowaniem tablicy adresów. Pomysł jest dobry, ale wykonanie złe ;), albo zrobisz pomnożysz A przez 2 albo 3 i pod adresem tablica instrukcji zrobisz serie skoków (bliski ma 2 bajty, daleki...
wiesz, zdaje sie że Fix "odrzuca" część ułamkową a round zaokragla (matematycznie - w góre lub dół). to moze powodowac te błędy
1. W jaki sposób utworzyć pętlę w języku C na wzór pętli loop w Basicu? 2. Dlaczego nie można tworzyć funkcji wewnątrz innej funkcji w C? ### 1. Tworzenie pętli w języku C na wzór pętli "loop" w Basicu Pętla "loop" w Basicu służy do niekończącego się powtarzania bloku kodu, dopóki nie zostanie spełniony określony warunek (lub nawet...
Wydaje mi się, że kompilator nie ma problemu z funkcją "mod" (dlatego też dwie ostatnie cyfry się zgadzają), tylko przy dzieleniu zmiennej typu word, dającej zmienną typu byte jako wynik.
Poczytaj w pomocy o instrukcjach: DATA , RESTORE, READ... To się nie nadaje , ponieważ Restore potrzebuje etykiety , a Read to odczyt sekwencyjny i nie da sie wybrać konkretnego elementu tablicy , tylko trzeba odczytywać kolejno , począwszy od pierwszego elementu. Ale ... Bascom AVR posiada funkcje , za pomocą których można naśladować mechanizm wskaźników...
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...
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ć...
no właśnie to jest źle ale nie tylko nie wiem jak podłączyć te dwie funkcje case
Najprościej napisać sobie procedurę lub funkcję i przekazywać parametry do funkcji. Zajmie wtedy najmniej kodu.
Witam serdecznie! używam procesora atmega1280 i przy próbie kompilacji jakiegokolwiek programu z funkcją getrc5() w bascomie pojawia się błąd 202 - czyli funkcja nie obsłgiwana przez procesor... czy jakoś da się uruchomić tę funkcję na tym procesorze? Z góry dziękuję za pomoc
Witam kolegów. Mam do was takie pytanie, gdyż nie jestem pewien. Mianowicie od czasu do czasu potrzebuje zrobić jakiś układ logiczny, który ma realizować jakąś tam funkcje. Jak do tej pory robiłem takie rzeczy układach seri 74xx. Czasami jest to zbyt skomplikowane i chciałbym zrobić coś takiego na uC. Układ potrafię zbudować, zaprogramować piny I/O....
A o funkcjach logicznych słyszałeś? wystarczy and z wartością 0x0F.
Te procesory nie mają sprzętowego SPI i jeśli już to tylko programowo można zrealizować.
Usuń to "Pozdrawiam" to może się skompiluje :) U mnie działa, zajmuje 62%
masy się łączą, odległość na razie to jakieś 30 cm ale docelowo ma być ok 30 m Drogi kolego omen_s ;) Szkoda Twojego cennego czasu na komunikację pomiędzy prockami magistralą 1wire , przy pomocy Bascom-owych funkcji 1wire , bo tak się po prostu nie da . Te funkcje pracują w trybie MASTER , a procek który ma odbierać dane powinien pracować w trybie...
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...
Pospisuję się wszystkimi palcami pod zdaniem kol. - naucz się C to dobrze Ci wyjdzie. Poza tym w Bascom na dobrą sprawę też byś napisał obsługę takiego wyświetlacza. W nocie masz schematy, zależności czasowe dla sekwencji wysyłania danych, a potem strony 13-14 masz pełną listę komend z opisami - na początku tworzysz funkcje niskopoziomowe typu SendByte...
Mam pytanie. Czy w Bascomie sa gotowe funkcje do wyswietlania cyfr na LED czy trzeba samemu kombinowac ?
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?
Przy zapisie do EEPROMU w Bascomie nie musisz wyłączać przerwań. Funkcja WRITEEEPROM robi to sama, ale READEEPROM już nie wyłącza przerwań :)
Troszkę dziwnie wygląda ta pętla główna, ze zmienną "corobic" :) Mogłeś dać po prostu w do-loop wywołania kolejnych procedur i jedną pauzę np. 1 sek. Do tego w procedurze wyświetlania dajesz CLS - nie przeszkadza Ci miganie ? Spróbuj dodać na początku dyrektywy ustalające stos : $hwstack = 32 $swstack = 32 gdyż używasz GOSUB. Może pomyśl o procedurach...
Specjalnej funkcji to nie ma, ale nic nie stoi na przeszkodzie napisać kilka linijek które to zrobią. Np. w pętli for next z użyciem mid()
Tak jak napisałem. W funkcji pobierasz składowe koloru r, g i b, i wpisujesz do kanałów: "Kana(numer_leda+1)=r. Na pewno można to zrobić lepiej.
Wiec tak: W ogóle wyrzuciłbym zmienna/flagę F. Nie jest potrzebna tutaj. W programie głównym zamiast sprawdzania F, sprawdzaj A, czyli warunek IF z przerwania przenieś do programu głównego, łącznie z zerowaniem A. W przerwaniu zwiększaj tylko A. Zamiast: If F = 1 Then Cls Locate 2 , 1 Lcd "przerwanie" Wait 1 Cls F = 0 Enable Int0 End If zrobilbym...
No napisać odpowiednio program czyli własne funkcje do wysyłania poleceń i wyświetlania danych. Nie użyjesz gotowych funkcji BASCOM bo ich nie ma.
Był taki probem w BASCOMie z funkcją GETADC(). Po zmianie kanału odczytywała ona nadal poprzedni kanał, mimo iż multiplekser był przełączany poprawnie. Rozwiązanie problemu było dość proste. W rozwinięciu funkcji zastosowano dwukrotny odczyt stanu przetwornika ADC. Pierwszy odczyt odrzucano, i brano pod uwagę tylko drugi odczyt. Wada: Dłuższy czas oczekiwania...
Funkcja ta zwraca stringa, a ty potrzebujesz liczby
Próbowałeś zmieniać word na stringi (funkcją STR() ) ?
A więc w jaki sposób mogę to zrobić :?: Proszę konkretnie o wskazówki z jakiej funkcji tu skorzystać. Z przerwań Timer0? Jeśli tak to jak to ogólnie działa? Bo z tymi przerywaniami po prostu nie czaje. I jak to zrobić? jakim sposobem? (najlepiej jakby to nie był problem to proszę o przykładowy ogólny kod na 1-ną diodę, aby timer0 "sterował" diodą jak...
Użyj funkcji VAL. var = VAL( s). s to string, a var to liczba.
funkcja funkcja bascom bascom funkcja generator funkcji bascom
czujnik poziom oleju miska pacifica czujnik iveco daily problemy klimatyzacja
Pralka Beko: Przekreślony kran mimo pobierania wody Brak obrazu na HDMI3 z dekodera - co robić?