W Bascomie jest do tego specjalna instrukcja Zaglądnij do Helpa na polecenie Pulsein zmienna - tu znajdzie się nasz wynik w mikrosekundach PIND - to port do jakiego się podłączymy 1 - pin portu do jakiego jesteśmy podłączeni 0 - wybieramy czy chcemy obliczać do czasu pojawienia się stanu niskiego, czyli 0 czy wysokiego czyli zapiszemy wtedy 1
e marcus to jest tak jest cała linia 8-bitowa na której lecą non stop jakieś dane do różnych układów, są też dodatkowe 4 linie sterujące na której lecą tylko impulsy "0" i wtedy właśnie lecą właściwe dane które chcę odczytać AVR'em. W sumie z tych 4-linii sterujących na jednej lecą impulsy "0" 128-raz y które wywołują Czy masz jakiś powód aby tą 8-bitową...
Co właściwie wysyła instrukcja PRINT w składni Print A jeśli A - zmienna zadeklarowana jako Word i aktualna jej wartość wynosi 1002? Kiedy mam spięte dwa komputery kablem NULL-MODEM, i na obu uruchomione terminale z pakietu Bascom AVR, widzę po prostu przesłaną zmienną, np. liczbę 1002, ale potrzebuję wiedzieć co tak na prawdę przesyła się po łączu...
I mam problem z odbiorem SMS: Przed główna pętlą: '--[załączenie trybu TXT oraz czyszczenie karty SIM z wiadomosci SMS]----------- Print "AT+CMGF=1" ; Chr(13) ; Waitms 20 Print "AT+CMGDA=" ; Chr(34) ; "DEL ALL" ; Chr(34) ; Chr(13) ; Waitms 20 Print "ATE0" ; Chr(13)...
Instrukcja Print przesyła na końcu znak CR lub tego znaku nie przesyła. Zależy to od tego, czy za instrukcją dasz średnik czy go pominiesz. Pominięcie średnika nie wysyła znaku CR. Jeśli chcesz wysłać kilka liczb jedna po drugiej to możesz na początek zastosować kilka instrukcji Print jedna za drugą (wolny sposób ale działa). A zmienne 16 bitowe (jak...
Masz rację - ustawiałem 22. W kodzie nic nie zmienia tej wartości tylko jest wyświetlanajeśli naciśniemy przycisk w sposób: if p1.3=0 then do until p1.3<>0 if temp<26 then temp=temp+1 print str(temp) ' lub podobna instrukcja end if
Może mały przykład $baud=9600 Open "COM1:" For Binary As #1 Open "comd.1:19200,8,n,1" For Output As #2 Open "comd.2:19200,8,n,1" For Input As #3 Print #1, "ABC"'literki ABC powędrują na pierwszy kanał, czyli na sprzętowy uart działający z prędkością 9600 Intput #1, zmienna 'zostanie pobrana wartość...
Widzisz, nie było tak trudno. Byś się za każdym razem przyłożył do opisania problemu to byłoby szybciej. Wszystko działa. Po pierwsze ten wyświetlacz nie jest przeźroczysty kiedy programuje się mikrokontroler w układzie. Podłaczyłeś DataPort do PORTU B i podczas programowania programują się śmieci. Wystarczy odłączyć wyświetlacz na czas programowania...
Heh :-) Siedziałem 2 dni nad tym (aż żona dostała białej gorączki) i doszedłem o co w tym wszystkich chodzi. Po pierwsze to musiałem zamienić UARTy, tzn. sprzętowego użyć do komunikacji z modemem GSM, zaś Softowego do komunikacji z PC. Po drugie intrukcja Bascoma Print domyślnie na końcu wysyła chr(13) i chr(10), więc musiałem użyć instrukcji printbin...
"znów zamieni się na znak ASCII" Sam się nie zamieni.
Ok jest wszystko pięknie chodzi. Ale zdążyłem to zrobić innym sposobem, rozdzielałem liczbę na wiele sposobów, najpierw z pierwotnej uzyskiwałem całkowitą potem pierwotną razy 10 - odejmowałem całkowitą poprzednią i miałem wartość dziesiętną potem wyświetlałem to jako dwie liczby w środek dając przecinek. A tu jeszcze przetłumaczona instrukcja używania...
a zastanowiłeś się co stanie się ze znakami ENTER jeśli je w ogóle używasz ? a jeśli nie to źle To pierwszy słuszny zarzut, znak Enter (czyli znak przejścia do początku następnej linii) jest automatycznie wysyłany przez Basom, a dokładniej instrukcję Print. Dlatego wskazówka - przesyłaj je przede wszystkim jako znaki ASCII. A ty nie pokazałeś jak robisz...
Nie wiem jaki cel chcesz osiągnąć ,używając w Bascomie assemblera do wywoływania podprogramów.Procedurki pisz sobie w asm ale wywołuj je z poziomu bascoma.Nie prościej , jak poniżej: ... On instrukcja Gosub label_0,label_1,label_2,label_3,label_4,... ... label_0: $asm nop nop $end asm return ... label_x Print "Cośtam"; return ... Piotrek...
Producent Bascoma nie udostępnia nawet generowania kodu w asemblerze, więc tym bardziej nie oczekuj że powie Ci ile poszczególne "instrukcje" trwają. Jeśli musisz napisać coś krytycznego czasowo, to pozostaje Ci tylko asembler. Eeee...tam ;) Jeśli się bardzo chce , to nakazuje się Bascom-owi wygenerowanie pliku *.obj , ładuje się takie cudo do AVRStudio...
nie odbiera go z telefonu tak samo nie odbiera sygnalu RING :( Dodano po 4 Wystarczy ze zostawie ta czesc i dziala wszystko jednak za dlugo uP reaguje na zmiane stanow na wejsciach ktore wykorzystuje do obslugi programu. Odczytaj_gps: Gpstxt = "" Przerwanie = 0 'Aby tu program nie utknął Do Gps = Inkey(#1) Incr Przerwanie Loop Until Gps = 82 Or Przerwanie...
Zaproponowana instrukcja Config Clockdiv=2 działa prawidłowo. Tak samo jak wstawka ASM i operacje na rejestrach (mea culpa tylko z jednym - przy zapisie prescalera oczywiście bit CLKPE ma być równy zero) Problem u mnie nie występuje, Bascom 2.0.7.6 FULL. Zapytam więc jaką wersję ma Autor wątku? [syntax=basic4gl] $regfile = "m328pdef.dat" $crystal =...
Mam pytanie ten uC posiada 4 porty UART jak ja w BasComie powinienem zdeklarować. Do konfiguracji COMów w takich układach służy polecenie CONFIG COMx (gdzie X to numer portu). Ustalasz tam wszystkie parametry transmisji. I w związku z tym rezygnujesz z $BAUD, który jest przeznaczony do starszych modeli AVR. Jeśli otworzysz helpa wybierając temat Mikrokontroler...
Witam. Zadeklarowałem zmienną Losowa_Waga jako Word - niestety sytuacja się nie zmieniła. Na swoje usprawiedliwienie mam tylko to, że przy sprawdzaniu porawności programu korzystałem z polskiego helpa do Bascoma AVR (help v. 1.11.7.7) i tam w przykładzie był Integer ;) . Instrukcję Print przeniosłem do głównej pętli i aby nie wysyłać niepotrzebnie tych...
I teraz jeszcze takie pytanie, jak master wyśle komendę print 0103, to wysyła on na wszystkie układy podłączone do magistrali i tylko w slave o numerze 01 (na przykład) wykona się instrukcja 03??? Tak to rozumiem. No i czy instrukcja INPUT nadaje się do odebrania danych z magistrali?? Dokładnie tak ale musisz w procedurze obsługi odebranych komunikatów...
Robię zdalnie sterowany model łodzi. Do sterowania używam atmega8, w nadajniku i w łodzi. Procesor w nadajniku ma odczytać wychylenie drążków i ewentualne wciśnięcie przycisków, co daje dwa kanały o wartościach od 0-255 i cztery wł /wył. Wartości tych kanałów mają być wysyłane w niekończącej się pętli. Do wysyłania chciałbym wykorzystać sprzętowego...
Moja propozycja działa poprawnie z VB.6 do Bascoma 'bascom do If Ischarwaiting() <> 0 Then A = Inkey() If A > 0 Then Select Case F_rs1 Case 0 If A = 2 Then F_rs1 = 1 _rsstr1 = "" ' Input _rsstr1 End If Case 1 Select Case A Case 3 F_rs1 = 0 Locate 1 , 7 Lcd _rsstr1 Locate 1 , 5 : Lcd Chr(7) Select Case _rsstr1 Case "RR" If Kasowanie_ustawien...
No więc już pisze: 1) chcąc ułatwić pisanie wstawek jest w bascomie coś takiego: zamiast pisać adres zmiennej można napisać jej nazwe w nawiasie klamrowym. wszystko ok ułatwia to sprawe. Dim var As Bit SETB {var} Jest jedno ALE. spróbuj zadeklarować inną zmianną niż BIT lub BYTE. Przy odwołaniu do niej przez nawias kompilator nie wyświetki błędu tylko...
Witam Ogólnie wiem jak działa tylko interesuje mnie dokładnie: np. zmienna=25 PRINT zmienna Co otrzymam po stronie odbiorczej? Czy są jakieś znaki stopu lub coś podobnego? Wiem że zamiast spodziewanych 2 znaków odbieram 3, tylko nie wiem jaki jest ten trzeci. On psuje mi cały program, bo ten trzeci znak nie jest liczbą i nie wiem czy jest na początku...
instrukcja readeeprom: '---------------------------------------... 'name : eeprom2.bas 'copyright : (c) 1995-2005, MCS Electronics 'purpose : shows how to use labels with READEEPROM 'micro : Mega48 'suited for demo : yes 'commercial addon needed : no '---------------------------------------...
U mnie poszło coś takiego: $regfile "m16def.dat" Config Lcd = 16 * 2 $crystal = 1000000 $baud = 9600 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portb.1 , Rs = Portb.0 Config Serialin = Buffered , Size = 12 Dim X As Integer , Y As Integer Config Pind.1 = Output Enable Interrupts ' Musisz włączyć...
Przepraszam za taką formę ale nie mogłem skopiować błędów. np; w końcowej części kodu napisałem Lcd tempu to znaczy że na wyświetlaczu pojawi się wartość zmiennej Tempu czy trzeba to zrealizować w inny sposób? 1. Zechcesz skopiowac tylko tabelkę błędów: -klikasz myszką w dowolnym miejsc na górny bar tabelki z napisem 'Errors', a następnie "Alt + print...
No to sukces... Bo widzisz w poscie 32 na tej stronie napisałem: " W tablicy 47 wyjaśnione jest, że dla trybu Slave końcówka MISO jest definiowana przez programistę a z rysunku 58 wynika, że powinna być WYJŚCIEM. A tymczasem instrukcja SPIINIT tą końcówkę ustawia jako wejście." Po kilku postach widzę, że jest to jasne. No nie wiem jak to sprawdziłeś,...
Witam, cel pozostał ten sam, lecz zmienił się kod, tym razem bez Lcd, więc jako zadanie dostałem opisanie krok po kroku otrzymanego kodu oraz przeniesienie kodu z języka Bascom na kod Asemblera i C. Jako, że programowanie nie jest moją mocną stroną, prosiłbym o pomoc (rady, sugestie najlepiej w sposób tzw. łopatologiczny jak można osiągnąć postawiony...
zapodam całośc na forum jest to obsługa czterech klawiszy do sterownika kolektorem słonecznym, uczę się programować od niedawna chętnie poczytam krytykę albo podpowiedzi innego rozwiązania tylko Panowie litości krytykujcie tylko tak abym nie zniechecił się całkowicie do programowania. Muszę w tym programie poradzić sobie z drganiami styków instrukcja...
Używasz programowego czy sprzętowego UART? Masz rację instrukcja Print i Input raczej nie zadziała - ja zwykle używałem instrukcji PUT i GET oczywiście po otworzeniu kanału poleceniem OPEN, i wszystko działało ok. Aby wysłać zmienną integer najpierw dzielisz je na dwie połówki za pomocą funkcji LOW() i HIGH() i wysyłasz najpierw jedną potem drugą a...
Poniżej przykładowe instrukcje wyjęte z programu. Print "ATE0" ; Chr(13) Print "ATD604019159;" ; Chr(13) Print "ATH" ; Chr(13) Wysłanie SMS'a kończymy Print Chr(26); Język programowania to Bascom Telefon Siemens x35 Komunikacja po UART i to, czy będą działać komendy i tryb PDU zależy od telefonu. Wpisz w szukajkę "PDU" a zobaczysz, że jest z czego się...
czy nie potrzebna jest tutaj instrukcja INKEY() ? swojego czasu zrobiłem taki układ , że dwa procki atmega8535 przesyłały między sobą zmienną. program zajął dosłownie 3,4 linijki w odbiorczym użyłem instrukcji inkey() tzn , jeżeli było coś w buforze(różne od 0 ) to wyświetlało daną. oczywiście czasy w realizacji pętli były takie same oraz kwarce również...
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...
Dodaj sobie takie cos na poczatku: Open "comd.1:19200,8,n,1" For Input As #2 Aha i instrukcja case.. zapisz ja raczej tak: Select Case _rsstr1 Case "1":Print #2 , 1 ... itd end select nie uzywaj srednikow i pisz w jedej lini dajac po warunku " :" Pozdrawiam
Do sortowania użyj instrukcji Sort : [syntax=basic4gl]Dim A(3) As Byte ' trzy elementowa tablica A(1)= 86 A(2)= 42 A(3)= 230 Sort A(1) , 3 ' sortuj trzy elementy w tablicy zaczynając od A(1) Print A(2) ' wyświetl drugą wartość[/syntax]
Wystarczą dwie instrukcje MAKEINT i SHIFT : [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 $baud = 2400 Dim A As Byte , B As Byte , C As Word A = &b00110000 B = &B00100000 C = Makeint(b , A) ' z dwóch bajtów zrób słowo Shift C , Right , 5 ' zmienną C przesuń w prawo o 5 bitów Print Bin(a) Print Bin(b) Print Bin(c) End[/syntax]
Witam, aby tekst nie znikal od razu wystarczy dac srednik, np. print "Seba"; Aby zmienic jasnosc podam kawalek programu: Print "Seba"; Waitms 500 Printbin &H1B ; &H4C ; 0 '25% Wait 1 Printbin &H1B ; &H4C ; &H40 '50% Wait 1 Printbin &H1B ; &H4C ; &H80 '75% Wait 1 Printbin &H1B ; &H4C ; &HC0 '100% Wait 1 Wszystko jest opisane w nocie katalogowej, instrukcja...
Witam. W pewnym sofcie dla Atmega16 wykorzystałem już: - Timer1 (16 bit) do odliczania 0,0001s odcinków czasu - Timer2 (8 bit) jest wykorzystywany przez odbiornik podczerwieni (instrukcja getrc5) Timer 0 niby jest wolny, ale nie wiem / nie jestem pewien czy nie jest on wykorzystywany przez jakieś używane przeze mnie instrukcje (np. print dla sprzętowego...
Sprawa pierwsza czyli instrukcje konfiguracyjne w kodzie. Chodzi o to, że jeśli nie wstawisz takiej instrukcji a użyjesz w kodzie chociażby jednej instrukcji PRINT, INPUT albo innej związanej z UART to cudów nie ma, trzeba skonfigurować UART i kompilator musi przeliczyć prędkość dla UBRR i ustawić bity konfiguracyjne. Dane musi skądś wziąć więc weźmie...
a czy instrukcja print nie wykorzystuje dwóch pinów? W przypadku uniwersalnego interfejsu szeregowego w trybie asynchronicznym nadawanie odbywa się po jednym przewodzie, podobnie jak odbiór. Bascom HELP --> Config com1, baud, open , close, print, printbin itp
Witam. Na początek, instrukcja Print Hello jest nie poprawna powinno być Print "Hello"
Mam takie pytanie jeśli mikroprocesor posiada dwa porty uart to jak zrobić by instrukcja print wysyłała instrukcje tylko do jednego, wybranego uart-u ????
Też o tym myślałem, przydał by się jakiś graficzny LCD o wielkości 7 cali i najlepiej żeby była biblioteka pod Bascom. Dodano po 2 Zastanawia mnie jeszcze czy wykorzystując VT100 każda instrukcja Serial.print będzie wyświetlana w nowej linii czy będzie kontynuacją linii poprzedniej ?
Jedźmy dalej incr pomiar powoduje zwiększenie zmiennej Pomiar o 1. To był przykładowy podprogram, który za każdym razem kiedy był wywołany instrukcją gosub zwiększał wartość zmiennej - nic prostszego na próbę nie da się wymyśleć. Myślałem bardziej, że za pomocą tego programu sprawdzisz czy to wszystko działa i jak będzie działało to napiszemy coś bardziej...
...Gdy z terminala wysyłam 2 to procek zwraca mi 50 gdy 1 to 49 gdy 3 to 51 itd Pewnie gdyby a była single to by było O.K. "Kłaniają się" typy zmiennych. Kiedy do terminala wpiszesz 2 , to po łączu szeregowym do uC , jest wysyłany kod ASCII cyfry 2 , czyli dziesiętnie 50.Instrukcja print , "przetwarza" owe 50 na ciąg znaków ASCII reprezentujących liczbę...
Spróbuj If a="wykonaj" then ... albo zamiast cudzysłowu weź to w apostrofy, bo nie pamiętam jak to w tym języku leci. Tak samo oczywiście z instrukcją PRINT (print "OK")
Końcówki TXD (nadawanie) i RXD (odbieranie) służą do wymiany danych przez UART. W help'ie do Bascoma jest to opisane. Dane wysyła się instrukcją Print. Do odbioru jest kilka instrukcji. Poszukaj na forum pod hasłem UART, RS232.
W tym samym pliku konfiguracyjnym :) jest stała: Write można użyć instrukcji Print : [syntax=basic4gl]Print #2 , naglowek[/syntax]
To jest dosyć niewygodny sposób na przesyłanie zmiennych w postaci znaków ASCII i sam się nieco ograniczasz, bo pierwsza zmienna musi mieć zawsze dwa znaki, druga trzy itp... Jeśli chcesz troszkę bardziej uniwersalnie podejść do tematu to przesyłaj wartości zmiennych w ten sposób: PRINT XX,YYY,Z,KKKK czyli każda wartość oddzielona np przecinkiem. Później...
Koledzy dobrze radzą, ale jest jeszcze funkcja Select Case: Select Case Licz Case 1 : Print "1" Case 2 : Print "2" Case 3 To 5 : Print "3-5" Case Is >= 10 : Print ">= 10" Case Else : Print "Liczba spoza zasiegu" End Select
Witam, Mam pewien problem z oprogramowaniem transmisji RS-232 w Bascom-8051 (wersja DEMO, 2.0.14.0 działającą pod Windows Vista). Kod prezentuje się następująco: 'P3.0 - odbieranie 'P3.1 - nadawnie $regfile = "89C2051.dat" $crystal = 11059200 Config 1wire = P1.4 'Config Baud = 9600 'Po odkomentowaniu pojawia się error przy instrukcji Print...
print bascom bascom print rs485 print bascom
czarny ekran telefonu samsung galaxy sterowanie ogniwem tylnej szyby bezpiecznik
renault master usterka elektr samsung ue32d6500
Grundfos Alpha 2L przepala bezpiecznik przy regulatorze temperatury Ford Kuga MK2 – brak ładowania, nie świeci kontrolka ładowania, alternator Smart Charge LIN