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).
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...
A nie lepiej zastosować Lookup ? [syntax=basic4gl]Declare Sub Wyslij(byval Zmienna As Byte) Dim A As Byte For A = 0 To 14 Call Wyslij(a) Next A End '---------------------------------------... Sub Wyslij(byval Zmienna As Byte) Local I As Byte I = Lookup(zmienna , To_co_sle_do_scalaka) Print I End Sub To_co_sle_do_scalaka:...
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ś.
Funkcje wait (waitms) w BASCOM nie blokują i nie resetują watchdoga. Wyłączanie watchdoga w czasie odczekania może prowadzić do sytuacji, gdy wchodzące w tym czasie zakłócenie zablokuje nam na stałe procesor. Dlatego lepiej wstawić pętelkę z resetowaniem watchdoga i zostawić watchdog włączony: for i=1 to 3 reset watdog wait 1 next
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...
...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...
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.
Łap. Napisałem w przerwie między... Zajmuje połowę mniej niż Twój a działa :D [syntax=vbnet]$regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 8 $swstack = 8 $framesize = 8 Config Portb = &B01110 : Portb = &B10001 Sw Alias Pinb.0 D1 Alias Portb.1 : Set D1 D2 Alias Portb.2 D3 Alias Portb.3 Config Timer0 = Timer , Prescale = 1024 , Clear...
Wróci do funkcji2, ponieważ przerwanie zawiesza dotychczasowe działania, a po zakończeniu jego obsługi wraca do wykonywania przerwanych operacji.
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,...
a napewno atmega dziala na kwarcu 8 Mhz ? tzn czy dobrze podlaczony, i przede wszystkim czy fusebity dobrze ustawione.. bo jezeli nie to rzeczywiscie moze nie dzialac,bo bascom funkcje opozniajace przeliczy wedlug tych 8 mhz zadeklarowanych
Żeby układ sam się resetował przy włączeniu zasilania , to opornik dajesz do plusa i kondensator z pinu reset do masy.
Jeśli chcesz użyć wyłącznie Incr więc liczenia co 2 nie zrobiśz inaczej niż Incr x Incr x :)
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.
A no właśnie. Zastosuj po prostu programowego UARTa. BASCOM ma funkcje do tego. Ten sam pin będzie mógł raz nadawać a raz odbierać.
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.
Tu taj masz trochę informacji o tej funkcji z Bascom AVR: http://www.forbot.pl/forum/topics49/funk... Zobacz też HELP'a :)
No cóż. Wprawa i rutyna (niestety). Zapraszam do nauki. Z uC można 1000000 razy więcej.
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...
Może jakieś przykłady zastosowania ?
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
Witam serdecznie, Napisałem już kilka programów i jakoś nie było większych problemów. Teraz chciałem podjąć walkę z 1wire, więc zmontowałem sobie na płytce stykowej układ i zacząłem eksperymenty. Niestety nic z tego nie wychodziło, ale w trakcie walki zauważyłem, że jakoś nie tak działa funkcja 'Wait'. Napisałem więc najprostrzy z możliwych programów...
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ś...
' 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,...
Witam Walczę z programem w Bascomie (coraz mniej mi się on podoba) listing poniżej. Docelowo będzie to zegar na lampach nixe. Projekt bazujący na mirley, ale zmianę ustawień chcę zrobić na impulsatorze. Dlaczego funkcja Zmiana_godziny i Zmiana_minuty nie zwraca mi wartości? Edytowałem post umieszczając w tytule znacznik
Funkcja działa na tym procku ale tylko z dołączonym rezonatorem kwarcowym. Na rezonatorze wewnetrznym powoduje zawieszanie się procka.
Witam, pracuję nad komunikacją pomiędzy uC a Pc za pośrednictwem Bluetooth. Jestem pewien, że komunikacja odbywa się poprawnie (prędkości, porty) natomiast mam kłopot ze zrozumieniem tego co się dzieje na obiekcie. Otóż, w zależności od tego czy w pętli programu wywołam funkcję PRINT zależy, czy moja komunikacja działa czy nie. Jeśli w programie ukryję...
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...
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.
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ł.
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...
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...
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
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"...
Domyślam sie że to jest BASCOM. GetAdc(x) - funkcja wykonuje pomiar na nodze ADCx. Czyli dobrze myślisz. Pozdrawiam Yakuza Edit: Tylko pamiętaj że przetwornik musi pracować w trybie SINGLE.
Nowsza, 2.0.7.8
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.
wiesz, zdaje sie że Fix "odrzuca" część ułamkową a round zaokragla (matematycznie - w góre lub dół). to moze powodowac te błędy
No, zrobiłem "przekop" i nigdzie nie znalazłem. Ani w helpie by ZG, ani w helpie do wersji ... JEST. W samplach. '---------------------------------------... 'name : bin2bcd16.bas 'copyright : (c) 1995-2005, MCS Electronics 'purpose : Test program for BIN to BCD Calculations 'suited for demo :...
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.
Nie ma takiej możliwości w BASCOM-ie. Przynajmniej nie automatycznie. "Coś" musiałoby zmieniać twój kod, za każdym razem, gdy go kompilujesz. Jest możliwe rozwiązanie tego problemu, ale wymaga trochę zachodu, w początkowej fazie. Bascom posiada funkcję "INCLUDE", która pozwala na dołączenie dowolnego pliku BAS, zawierającego dowolny kod. Musisz (można...
Witam,jestem świeżym użytkownikiem który zaczyna bawić się bascomem itp... Skoro tak, to wypada zapoznać się z funkcjami jakie oferuje Bascom, czyż nie :?: Sprawdź np. Instr(), Split(), ...
Próbowałeś zmieniać word na stringi (funkcją STR() ) ?
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...
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....
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...
Witam Koledzy możecie mi wytłumaczyć dlaczego bascomowa funkcja dotyczaca karty SD, Drivecheck daje zawsze w odpowiedzi 0 czyli brak błędów, nawet jeśli karta jest niepodłączona? I dlaczego taki zapis: If Gbfilesystem = 1 Then System = "FAT32" Else System = "FAT16" daje zawsze odpowiedź że system karty to FAT16 nawet jeśli jest to...
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...
Goto Help A poza tym jeśli potrzebujesz funkcji trygonometrycznych to chyba to już jest poważny projekt, więc może lepiej C?
W Bascom masz do tego dedykowane funkcje - poczytaj helpa - polecenia Config...
Przecież Ty w ogóle tu timerów nie używasz a polecenie waitms 60000 ZATRZYMUJE program na 60 sekund a przecież nie o to Ci chodzi... Poczytaj na forum oraz w helpie do bascoma jak używać timerów (timerów- nie opóźnień) i tego użyj, gdy będzie impuls to kasujesz rejestr licznikowy. Dodatkowo w przerwaniu od timera zwiększasz sobie jakąś zmienną, no co...
Przy zapisie do EEPROMU w Bascomie nie musisz wyłączać przerwań. Funkcja WRITEEEPROM robi to sama, ale READEEPROM już nie wyłącza przerwań :)
Najprawdopodbniej w tej zmiennej coś jest jeszcze na końcu. Mogą być znaki niewidoczne, np CR lub /i LF. Spróbuj wyświetlić długość tego stringa (w Bascomie chyba funkcja Len) i wtedy bedziesz wiedział czy aby tam jest tylko liczba. Możesz spróbować też konwertować tego stringa po jednej cyfrze, a więc robisz pętlę w której wycinasz fragment stringa...
Przekonwertować na dane liczbowe. Dodać i ponownie przekonwertować na dane znakowe. Funkcje: STR(), VAL().
Pytanie: czy da się te aliasy zrobić w formie tablicy? Tak, żeby odwołanie do konkretnego wyjścia mogło mieć postać "Wyjscie(x)"? Co stoi na przeszkodzie (skoro piny nie są po kolei) aby nie tworzyć sobie sztucznych problemów i zamiast używać tablicy - użyć funkcji ?
...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"...
Popełniłem coś takiego, nie wiem czy w 100% poprawnie ale działa :) [syntax=basic4gl]Zegar: If S5 = 0 Then Toggle Startstop End If If Startstop = 1 Then If Ileminut <> 0 Or Ilesekund <> 0 Then 'pokaz babelki Locate 2 , 8 Lcd Chr(5) Locate 1 , 9 Lcd " Pracuje "; Gosub Sprawdztemp If Ilesekund >= 0 Then Ilesekund = Ilesekund - 1 End If...
a w jakim języku programujesz ? Bo np.: w Bascomie jest gotowa funkcja.
Potrzebuję pomocy, jak zrealizować przechwytywanie zawartości licznika do rejestru CAPTURE1 wywoływanego zboczem opadającym FALLING. Chcę mierzyć czasu trwania zbocza, następnie obliczając go uzyskać ilość obrotów/min. Sygnał podaję na port ICP. Jestem początkującym w BASCOM, dlatego też prosiłbym o wskazówki już w kodzie, łatwiej mi się wtedy zrozumieć...
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.
Konwersje byte->string otrzymuje się przy użyciu funkcji Str. W drugą stronę działa funkcja Val.
...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
ściągnij z neta Help do bascom w j. polskim tam jest to polecenie ładnie i łopatologicznie opisane, jak wiele innych. Ciekawe lektury pisze też Marcin wiązania (też dostępne w formacie PDF.)
Sam sobie odpowiedziałeś na pytanie. Jest jeszcze jedna możliwość ale jest nieco niebezpieczna i wymaga aktualnej wersji BASCOMa: funkcja MEMCOPY.
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ć.
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...
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...
Moze da bascom'owa funkcja uzywa timera
$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:...
Funkcja ta zwraca stringa, a ty potrzebujesz liczby
Do odczytu stanu portu służy rejestr PIN. Czyli masz źle zrealizowane warunki w funkcji przerwania.
Witam, Mam pewien problem z napisaniem programu wykonujący wykres temperatury w czasie. Probowalem używać funkcji PSET, w pętli ale nie uzyskiwałem efektów. Czy ktoś może zrobił coś podobnego??
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...
To nie wina procesora ale kompilatora. Procesor nie ma w sobie funkcji getrc5, to jest funkcja bascom, szukaj winy w kompilatorze.
Witam.Czy w pakiecie Bascom AVR zaimplementowane są procedury umozliwiające korzystnie z funkcji trygonometrycznych (funkcja sinus)???
chcę osiągnąć coś takiego: Declare Function Set_by_spi(co As String*10 , Wartosc*40 As String , Procesor As Byte) As Byte A co to za zmienna Wartosc*40 ? Poza tym zmiennych w parametrach się nie wymiaruje. Wszystko dlatego, że w przekazywaniu parametrów uczestniczą tylko wskaźniki do zmiennych. Nie użyłeś ByVal więc kompilator przekaże 16-bitowy...
A komendy toggle będą działały tak szybko, że zmiany będziesz wstanie zaobserwować jedynie oscyloskopem/analizatorem stanów logicznych/multimetrem z funkcją pomiaru częstotliwości.
Zainteresuj się funkcja Printbin oraz podziel dane na osobne bajty.
hmmm... to moze chociaz dalo by sie zrobic w latwy sposob urzadzenie zapisujace wybrany numer i czas rozpoczecia / zakonczenia rozmowy ? bascom nie jest jedynym jezykiem jaki znam - z jezykow pod uc znam jeszcze dosyc dobrze C i podstawy asm'a, ale zwrocilem przy tym uwage na to, ze z tego co wyczytalem, bascom ma wbudowane funkcje do obslugi lini telefonicznej...
:D Choćby z jednego powodu, moim zdaniem pomiar rezystancji za pomocą ADC jest dokładniejszy od pomiaru dokonywanego w układzie RC. Rozumiałbym poza tym wykorzystanie RC w małych kostkach bez ADC (np. tiny2313), ale w mega8 masz 10-bit konwerter, a jak poznasz dosłownie 4 funkcje w BASCOM to przetwornik ADC masz w małym palcu.
Powinno pomóc polecenie locate, i wtedy wypisywanie czegoś na lcd, bez użycia funkcji kasowania wszystkiego na lcdku?
5 config pina.1 = output | pin a skonfigurowany jako wyjściowa config pina.1 = input |pin a skonfigurowany jako wejście proste
Witam Mam taki [url=http://www.artronic.pl/o_produkcie.... LED i nie umiem wyświetlać na nim cyfr, tzw. umiem ale nie tak jak to powinno się robić. Wyświetlam je tak [syntax=basic4gl]Portb = &B1100110 Portd.1 = 1[/syntax] a chcę pisać np. wys5 i wyświetli się liczba 5 To moje kody [syntax=basic4gl]Tabela: Data 63 , 6 , 91 , 79 , 63...
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...
W tym przykładowym kodzie jest chyba błąd logiczny ;) W Select Case biorąc pod uwagę Channel a nie Pomiar zawsze będziesz brał pod uwagę tylko Channel z którym wywołujesz funkcję czyli 0 :D
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ć.
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...
Zacząłem pisać progs w BASCOMIE. tak się przedstawia jego listing: ---cut here--- Config Portb = Output Config Portd = Output 'konfiguracjaportów Dim Adress As Integer Dim Command As Integer Dim Licznik_kol As Integer Dim Licz As Integer Declare Function Wyswietl_bajt(bajt1 As Byte) As Byte Declare Function Czytajrc5() As Byte Licznik_kol = 0 Function...
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.
witam chciałbym zaprogramować tak attiny 2313 ze jak sie raz nacisnę przycisk dioda np na (PORTD.0) zacznie świecić a gdy drugi raz sie go nacisnę zacznie mrugać a gdy trzeci to kolejna funkcje zacznie wykonywać czy jest to możliwe ?? Bardzo proszę o jakieś przykłady Dodano po 9 oczywiście w bascomie Przeniosłem z "Programowanie ogólne"
Nie wgłebiajac sie w kod moze zamiast LSR daj LSL i po sprawie. Nie ma '8' bitu chyba.
Niestety dość wolno, prosty program w Bascom, odczyt z karty SD: "Line Input" + funkcja "mid" -> z kwarcem 12Mhz okolo 3-4 sekundy, ale jakość jest bardzo dobra.
W deklaracji funkcji tylko raz deklarujesz "Byval"
Problem w tym ze bascom funkcją rnd będzie losowac zawsze te same liczby po odpaleniu procka i bedzie zonk bo kostka zawsze bedzie losowac te same liczby w tej samej kolejności ale jak użyjesz do losowania np wejścia adc + rnd() to juz coś z tego będzie widziałem coś takiego gdzieś na elektrodzie szukaj w dziale mikrokontrolery.
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...
Źle przekazujesz Id do funkcji, mały przykład do uruchomienia w symulatorze: [syntax=basic4gl]$regfile = "m88pdef.dat" $crystal = 20000000 $baud = 19200 $hwstack = 64 $swstack = 64 $framesize = 64 Dim Tablica(4) As Byte , Tekst As String * 12 Declare Function Test_funkcji(byref Osa As Byte) As String * 6 Tablica(1) = 10 Tablica(2) = 20 Tablica(3) =...
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...
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.
funkcja funkcja bascom bascom funkcja przerwaniu funkcja funkcji bascom
sonda piekarnika amica czujnik poziom oleju miska klawiatura zalać spirytus
Jak otworzyć zablokowaną pralkę otwieraną od góry? Wymontowanie Bluetooth z radia Manta w Rawiczu