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...
"znów zamieni się na znak ASCII" Sam się nie zamieni.
...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ę...
Procesor Atmega8 oscylator wewnętrzny 1MHz w Bascomie stosując instrukcję: print "dowolny znak ASCII" w terminalu na PC otrzymuję znaki przesunięte decymalnie o 64 np: print "01245" otrzymuję "pqrstu". Co może być tego przyczyną? Serdecznie pozdrawiam
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ę...
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...
Dokładnie nie wiem, ale wydaje mi się że RS485 to tosamo co RS232 tylko ma inne poziomy napięć (jeżeli się mylę to niech ktoś mnie poprawi). Jeżeli tak jest, to do wysyłania danych zastosuj instrukcję (w Bascomie) Print, a do odebrania danych instrukcję Input. Musisz jeszcze oczywiście zastosować konwerter napięć UART na RS485 za pomocą np układu Max485.
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...
a czy instrukcja print nie wykorzystuje dwóch pinów?
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ż...
atmega 8 ma wbudowany uart , instrukcja print(w bascomie) wysyla na uart dowolny text , tyle ze musisz dobrac odpowiedni kwarc do czestotliwosci uarta.
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
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 ????
Witam. Na początek, instrukcja Print Hello jest nie poprawna powinno być Print "Hello"
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
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...
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]
Programiki ciekawe ale można jednocześnie używać instrukcji Print i przerwań w Bascomie ,wymaga to pewnego małego zabiegu. pzdr
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]
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...
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.
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")
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...
Witam 1.Czy w Bascomie gdy wysyłam dane przez instrukcję PRINT, trzeba wyłączać przerwania w tym czasie, aby owa procedura wysyłająca dane [PRINT "zzzz"] nie została przerwana przez np. Timer? Czy PRINT ładuje dane do wyłania do niezależnego od przerwań układu wysyłającego? I jak w tym momencie zostanie to przez przerwanie przerwane? I jak ma się sprawa...
W tym samym pliku konfiguracyjnym :) jest stała: Write można użyć instrukcji Print : [syntax=basic4gl]Print #2 , naglowek[/syntax]
Możesz spróbować napisać programową emulację UARTu, co w skrócie wygląda tak - bierzesz znak do wysłania, rozbijasz go na bity, dodajesz bity startu/stopu następnie w przerwaniach wysterowujesz dany pin 1 lub 0 w odpowiednim reżimie czasowym. Oczywiście instrukcja PRINT nie będzie działać.
Witam. Używam system AVR-DOS pod Bascomem. Na karcie pamięci mam zapisaną listę wyrazów (każdy wyraz w osobnym wierszu). Wyrazy są odczytywane i w zależności od innych warunków, może zostać dopisana określona informacja do tego wyrazu: Zawartość pliku: wyraz_a wyraz_b wyraz_c wyraz_d . . . W tym przypadku chcę do wyrazu_c (wiersz 3 ) dodać literę np....
PRINT will automatic convert numeric variables into the string representation. This means that when you have a byte variable named B with the value of 123, the numeric variable is converted into a string "123" and then printed. In this case, print will print 3 characters or bytes. When you want to print the byte you can use the chr() function : print...
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
long0300 - wyświetl zmienną long spod adresu 0x300 byte0200- wyświetl zmienną byte spod adresu 0x200 Ok. Tylko dalej stoimy w miejscu. Przypuśćmy, że do urządzenia dotrze komenda 300. Po stronie urządzenia będziemy chcieli wykorzystać string, który napłynął: "300" do wykonania instrukcji print long0300 . Dalej nie ma prostego sposobu, pozbawionego...
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...
Witam; W bascomie jest instrukcja wyboru Select, która jest bardzo uniwersalna. Można wybierać punktowo, ale można też robić selekcję w przedaiałach. Przykładowo mamy taki kod: [syntax=basic4gl]Select Case I Case 1 : Print "1" Case 2 : Print "2" Case 3 To 5 : Print "3-5" Case 6 To 9 : Print "6-9" Case Is >= 10 : Print ">= 10" Case Else : Print "Not...
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
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)...
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...
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...
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...
Po chwili sam znalazłem rozwiązanie swojego problemu, jeżeli kogoś by to jeszcze interesowało. Instrukcje Serin i Serout to jest jakaś pomyłka w ogóle. Zamiast nich najlepiej jest użyć instrukcji Open "comx.y:Baud,data,parity,stop,[inverted]... For Input|Output As #Handle i wysyłać oraz odbierać dane za pomocą instrukcji Input #Handle oraz Print #Handle...
Z jakiego terminala mogę wysyłać dane? Przydało by mi się to bardzo poniwaz jeżeli chodzi o bascomowy to potrafię tylko odbierać. Wysyłam tylko temperaturę w postaci np 233 instrukcją print która wysyła to w postaci tkstowej. Układy mam w firmie i dopiero wówczas będę mógł załadować wsad.
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ą...
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ść...
Zrób to mniej więcej tak ;) .... Zawsze myślałem, że za pomocą call wywołuje się procedury opisane w znacznikach sub..end sub. W sposobie, który ty opisałeś, nie trzeba nic deklarować, co zresztą podpowiada help z BASCOM-a: $regfile = "m48def.dat" ' specify the used micro $crystal = 4000000 ' used crystal frequency $baud = 19200 ' use baud...
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...
Trzeba by poczytać troszku o RS485. Jeśli chodzi o sprzęt, to w zasadzie masz dwie główne możliwości. Pierwsza to półdupleks, czyli transmisja naprzemienna po tej samej parze przewodów, druga dupleks w układzie czteroprzewodowym (para przewodów od mastera, para do mastera). Dodatkowo korzystnie z punktu widzenia linii może być pociągnięcie między układami...
Witam ponownie, podłączyłem ten moduł GPS do procka i dostaje kilka różnych wiadomości: GPGLL, GPRMC, GPVTG, GPGGA, GPGSA, GPGSV, wszystko fajnie, udało mi się również wyodrębnić informacje które mnie interesują. Przy pomocy stronki http://www.hemispheregps.com/gpsreferenc... udało mi się ustalić co jest co. Pomyślałem sobie że wyłączę wiadomości które...
Również nie jestem Bascomowcem ale być może moje uwagi okażą się cenne. Po instrukcji Print "{008}5r", dane jest 10 ms opóźnienia. W tym czasie slave mógł już przesłać wszystkie swoje dane - a master jeszcze nie rozpoczął nasłuchu. Inną sprawą jest to, że 100 obiegów pętli w procedurze Odczyt_zn może trwać krócej niż transmisja jednego znaku przez UART...
Pytanie jak zrobić przeszukiwanie kolejnego indeksu po stwierdzeniu, że pierwszy jest nie poprawny? Bez modyfikacji funkcji Lookdown w bibliotece mcs.lib , raczej nie ma możliwości. Jeżeli znasz asembler możesz zmodyfikować funkcje _LOOKDOWNBYTE i _LOOKDOWNINT . Można też wykorzystać instrukcje RESTORE i READ do przeszukania tablicy: [syntax=basic4gl]$regfile...
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...
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...
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 Problem rozwiązany. $regfile = "M16def.DAT" $crystal = 8000000 $baud = 57600 Dim Czestotliwosc As Long Config Timer0 = Counter , Edge = Rising Tccr0 = 7 Print "Licznik" Ddrb.0 = 0 Print Pinb.0 Enable Interrupts Enable Timer0 Do Start Timer0 Tccr0 = 7 Wait 1 Stop Timer0 Czestotliwosc = Counter0 Print "Freq: " ; Czestotliwosc Print Tccr0 Counter0...
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...
1) Robisz "Goto Rozjasnij" i "Goto Sciemnij", a potem próbujesz wrócić Returnem. Wywalasz program. 2) Czemu ci działa Rozjaśnienie, a Ściemnianie nie? No bo skok do rozjasnienia przez Goto, program rozjaśni jak należy, powrót returnem i wywala się program. Cud że po tym ściemnianie jeszcze ci działa 3) Już ci poradzili że problem jest z GOTO, a powinieneś...
przełączenie na nasłuch rozumiem, że to ustawienie sn75176 w stan wysokiej impedancji tak?? chcialbym zrobic cos takiego, że jeden z mikroprocesorów byłby masterem, a pceta podłączałbym raz na jakiś czas. Czy musiałbym wtedy odłączać zasilanie, czy można to zrobić w locie?? I teraz jeszcze takie pytanie, jak master wyśle komendę print 0103, to wysyła...
Witam. Czy po wykonaniu instrukcji: print zmienna_typu_string$ nie znając zawartości zmiennej (nie wiedząc co zostało wysłane na UART za pomocą instrukcji print) istnieje możliwość powtórzenia wysyłki ostatnio wysłanego stringu? Czy może jednak, to co zostało wysłane jest usuwane z pamięci / buforów zaraz po wysłaniu? Zastosowanie: master nie usłyszał...
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...
Mam problem ponieważ w moim programie mam zmienną która na wyświetlaczu pokazuje napiecie w mV, a chciałbym żeby było pokazywane w V i nie wiem jak to zrobić żeby pokazywał napięcie po przecinku np. 3,25 V. Czy ktoś wie jak to zrobić? Z góry dziękuje za odpowiedzi! Pewnie wiele osob wie jak to zrobic, ale na pewno NIKT nie wie, jak wyglada kod Twojego...
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...
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...
Ja się w ogóle nie znam na Bascom-ie, ale z ciekawości rzuciłem okiem w jakąś przykładową dokumentację https://avrhelp.mcselec.com/index.html?u... i w podanym przykładowym programie nie ma instrukcji konfigurowania pinu, która jest w Twoim programie, może ma to jakieś znaczenie ? Nawiasem mówiąc ten przykładowy program jest prosty jak drut, co tam...
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...
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...
Witam Mam problem z komunikacją pomiędzy dwoma mikrokontrolerami Atmega8. Chciałbym między nimi przesyłać dane a dokładnie jedną zmienną pochodzącą z mojego dalmierza ultradzwiękowego do mikroprocesora obsługującego sterowanie robotem. Byłbym wdzięczny jesli otrzymałbym propozycję działającego programu nadawania i odbioru. Moje próby niepowiodły się...
Niestety Jak dam instrukcję ustawienia bufora to już nic nie odbiera (nadawać nadaje). A włączyłeś przerwania :?: Bez bufora(przerwanie RX) , ciężko dogadać się z fonem :( Właśnie zauważyłem że jak zepnę RX z TX uP (wywale printa z głównej pętli i dam wait na 5sek. ) to odbiór też jest na 3 znaki :/ Czy wiesz jak wygląda transmisja asynchroniczna ,...
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...
nie rozumie sensu tego programu napisałem ten program ze względu na to że nie mogłem dać sobie rady z ustaleniem jakie wartości nalerzy wysłać do wyświetlacza aby powstały cyfry 0-9 , a tu niestety nic do przodu tak jak wspomniał kolega wcześniej takie rzeczy robi się na kartce , gdzie możesz sobie w dowolny sposób przyporządkować segment do bitu portu...
Witam, która opcja odpowiada za wysyłanie nowej lini? Raczej nie jest włączona, bo gdy nie dodam #13#10 tekst wysyłany jest w tej samej lini... AVR sa pod bascomem, wykorzystuja instrukcje INPUT - zakladam ze np Mamy: Input A If A = 1 Then Print "1 OK" Input B If B = 2 Then Print "2 OK" Else Print "2 ZLE" End If (ten przykład...
No bo przy instrukcji PRINT, czy też PRINTBIN muszisz dodać numer kanału w tym wypadku #1 w przeciwnym razie mikroprocesor będzie wysyłał przez domyślny COM1 a to jest UART sprzętowy czyli będzie to wyglądało mniej więcej tak :D Printbin #1; dane Print #1; dane
Instrukcja WAIT Przeznaczenie: Przerywa działanie programu na określony czas. Składnia: WAIT il_sekund gdzie: il_sekundliczba określająca czas opóźnienia w sekundach. Opis: Instrukcja wstrzymuje działanie programu na podaną ilość sekund. Odmierzany czas jest wartością przybliżoną, więc nie należy stosować tej instrukcji do dokładnego odmierzania czasu....
Tak wiem że należy odpalić timer na początku i zatrzymać na końcu i odczytać jego wartość.. no nic. Dziękuję za wypowiedzi tak czy inaczej.. Odp. kol. Draco była troche sarkastyczna, bo na tak prostą procedurę nikt, kto ma choć troche rozeznania w tej dziedzinie chyba (!) nie szuka pomocy. Mopzesz to zrobić na kilka sposobów: 1. mierzyc czas metodą...
próbowałem tego wcześniej ale program nie generuje przy kompilacji pliku z rozszerzeniem eep jak podglądam w symulatorze zawartość to jest pusta jeśli załaduje na początku dane z deklaracją do epromu na początku programu to w symulatorze mogę sobie podejrzeć zawartość a mnie chodzi aby te zmienne były wpisane podczas pracy programu i w razie zaniku...
Jeśli w BASCOMie robisz konwersję do łańcucha i potem to wysyłasz binarnie, to idzie mniej więcej tak, jakbyś transmitował znakowo instrukcją PRINT. Jak dotąd wszystko OK. Jeśli dalej wchodzisz w DELPHI z funkcją konwersji CharToNum , która traktuje Twoje dane jako binarne, i wymnaża kolejne znaki przez 256^n dostaniesz bzdurę. Trzeba albo zapisać temperaturę...
Nie cztałem instrukcji do tego Nextiona, ale może problemem jest to, że nie wiesz, że jeśli nie postawisz średnika za printowaną zmienną to Bascom dodaje na końcu znak LF i CR Robi to chyba żeby się pojawiały nowe linie w Terminalu Jeśli nie chcesz żeby dodawał znak końca linii i Enter - postaw średnik " ; " Zobacz mały przykład z przykładowymi danymi....
Coś nie mogę za bardzo uwierzyć w te 5hz - może 50hz? 19200 to w przybliżeniu 1500 znaków na sekundę. Jak zrobisz z danych postać hex to mi wychodzi 23znaki w wiadomości (no może 25 bo crlf). Jakby nie patrzeć taka ramkę można powtórzyć szybciej niż 60hz. To jest przykładowy string wysłany od urządzenia do PC: 514:512:512:512:514:...
Zwarcia niema bo uart świetnie działa w jedną stronę. Niestety nie mam możliwości podłączenia lcd do drugiego procka. Ten układ sprawia wrażenie jakby podczas wysyłania instrukcja "print" umieszczała w buforze zmienną o wartości 1(jak w programie) i kolejna po niej funkcja "input" wyciąga tą zmienną bo najwidoczniej sygnał z drugiego procka nie zdążył...
nie testowałem tego tylko pisze z głowy. Ale skoro X to STRING to nie można go porównywać z pojedynczym znakiem bo STRING to tablica znaków. Porównanie musiałoby wyglądać na przykład: if X Kiedy tak sobie czytam podobne dywagacje na temat Bascoma , to zaraz widzę taką sytuację: Bascom , to skomplikowana , sterowana numerycznie obrabiarka. "Statystyczny"...
Instrukcja BAUD Przeznaczenie: Zmienia szybkość transmisji urządzenia typu UART. Składnia: BAUD = szybkość BAUD #kanał , stała gdzie: szybkośćszybkość transmisji jaka ma obowiązywać od tej pory, kanałnumer kanału transmisji w programowym urządzeniu typu UART, stałaliczba określająca szybkość transmisji w danym kanale. Opis: Można zmienić szybkość pracy...
Spokojnie z tą 128 - ką. Bascom w zakresie długości kodu nie jest taki zły. Piszę przeważnie programy równolegle w Bascomie (który znam) i w "C" (bo się go uczę). Jak dotąd "C" daje plik wynikowy o wielkości od 70 do 80% pliku Bascoma. Można jednak w prosty sposób zmienić te proporcje. Wystrczy użyć niektórych instrukcji (np. print) lub obszernego pliku...
Bawie sie dosc dlugo Bascomem ale nie moge sobie poradzic z portem szeregowym w 89C4051 . Przez P3.1 wysylam dane do telefonu instrukcja "Print" np. rozkaz Print "AT+CPBR=1" Przez P3.0 telefon odpowiada (sprawdzone oscyloskopem) Daje rozkaz "Input Aa " (gdzie Aa jest typu string *16) Wyswietlam zmienna "Aa" na LCD i otrzymuje : APBR=1 zamiast odpowiedzi...
na poczatku programu zabraklo instrukcji "$timeout" $timeout $crystal = 11059200 $baud = 9600 Dim Frq_i As Integer Input "Enter frequency:" , Frq_i Timeout = 1 Print "Err..." End sproboj teraz powinno zadziałac
Hej. Uzyskalem komunikacje z przetwornikiem. Wszystko niby dziala, ale mam inny problem. Mimo uzycia kwarca 11.0592 MHz nie moge uzyskac transferu danych szybszego niz ok 270 Hz (komunikuje sie z komputerem przez UART). Podczas testow predkosci polaczenia (gdy wysylalem jakies losowe dane w nieskonczonej petli instrukcja Put) problem nie wystepowal....
Otóż pisząc program obsługi tablicy reklamowej (na Atmega32 )zupełnie przypadkiem stwierdziłem, że na zmienną typu string np 10 znakową można zapisać np 20 znaków instrukcją Restore i Read. Co więcej to działa w normalnym programie tak jakby ta zmienna miała faktycznie 20 znaków ! Oto przykład sprawdzony na symulatorze: Dim Tekst As String * 10 Dim...
Pętla do loop. W tej pętli czekam na koniec wysyłania czyli instrukcji print jak wszystko wysłane dopiero potem przełączam się na odbiór. Bez tej pętli czekającej transmisja nie chodziła wcale. Po czynie jeszcze parę testów ze skróceniem przerwania URX. Wiem że macie utrudnione zadanie bo nie macie sprzętu na biurku więc jak macie propozycje testów...
Naprawde zrobiłem już wszystko. Oto dyrektywy początkowe: $regfile = "m8def.dat" $crystal = 16000000 $baud = 9600 Wszystko oczywiście zgodne z rzeczeczywistością. Przy pomocy instrukcji print wysyłam przez RS-a napis. No i: NIC!!! Ciekawostką jest to, że jak zmniejsze w terminalu prędkość transmisji do np. 1200 (a wszystko pozostaje jak wyżej) to wyswietla...
Poczytałem trochę mam kilka wniosków a mianowicie problemem nie jest warstwa fizyczna RS485 a warstwa protokołu. A także zdecydowanie powinienem zając się instrukcją Printbin a nie Print i muszę wysyłać dane typu byte a nie jak ja mam tu wyżej za pomocą znaków ASCII czy mam racje czy się mylę oświećcie mnie.
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 =...
Doszedłem do czegoś po wielu próbach i setkach inwektyw :D Może się komuś przydać więc zamieszczam $crystal = 11059200 ' czestotliwosc kwarcu $baud = 1200 ' predkosc transmisji Dim X As Byte , Znak As Byte Scon.0 = 0 Scon.1 = 0 Enable Interrupts ' wlaczenie przerwan Enable Serial ' wlaczenie przerwania portu RS232 On Serial Port ' na przerwanie z portu...
Witam, Opanowalem obslugę LCD od Nokii 6100, oraz pomiar temperatury, chcialbym teraz to zapisywac na karcie SD, i tu pojawia się następujący problem: gdy używam instrukcji w takiej formie: Open "plik.txt" For Append As #1 Print #1 , "jakiś tekst" Close #1 to dziala poprawnie, pod warunkiem że na karcie SD istnieje taki plik z wpisanym...
:-) Witam serdecznie, jak zwykle. Panowie mam dwa moduły EM100 za piernika mi to nie działa. Ale od początku. Podłączyłem zgodnie ze schematem który załączyłem. ATmega32 >> RS232 >> EM100 linia EM100 >> RS232 >> ATmega32 Program mam napisany w bascomie i składnia wygląda tak: Print #2 , Chr(2) ; 192.168.0.137 ; Chr(13) ; Chr(10) ; Licznik1 ; Chr(13)...
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...
Witam, mam taki problem z najprostszym programem wykorzystujacym uart za zadanie ma wyslac spowrotem odebrany znak... ale cos nie dziala :( tzn. dziala do poki uzycia instrukcji "Print" po zezwoleniu przerwania od uart Prosze wiec o sugestie i pomoc $large $crystal = 11059200 $regfile = "420.dat" 'DS89c420 $baud = 19200 On Serial Seriall '...
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 '---------------------------------------...
Witam. Jak już pisałem , nie odbieram znaków na procesorze jedyne co ten program robi to ma wysłać 'z' z procesora do komputera co sekundę . Także serialin raczej nie ma nic wspólnego z tym , wiem że jest to źle napisane tylko już nie chciało mi się tego usuwać. Z tego co wyczytałem w instrukcji bascoma to do wysyłania znaków przez uart wykorzystuje...
Witam Zbudowałem układ oparty o uC ATmega32 i połączyłem ją z Siemensa C35. Nie będę opisywał połączenia i wrzucał schematów bo to mi działa. Udało mi się odczytać z komórki: *Stan naładowania baterii *Siłę sygnału antenowego *Date i godzinę *Numer osoby dzwoniącej i zawiesiłem się na odczycie SMS-a. Wykrywam nowego sms-a poprzez zapytanie: Nowysms...
Skorzystaj z instrukcji INKEY( ), WAITKEY , ISCHARWAITING. Do 'jakaś pętelka A = Inkey() 'odczytujemy znak If A > 0 Then 'czy był jakiś (> 0)? Print A 'jeśli tak to piszemy End If Loop 'to będzie pętelka nieskończona 'Powyższy przykład dotyczy SPRZĘTOWEGO układu UART! 'Program zapisany jako OPEN.BAS zawiera przykład użycia INKEY()...
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ć...
Najpierw trzeba poprawić program, bo jeśli jest to napęd do robota omijającego przeszkody to raczej wyjdzie z tego taran! Powód jest taki, że żaden z warunków ominięcia przeszkody nie będzie nigdy spełniony. Portd.0 i Portd.1 będą = 1 bo tak zostało to ustalone na początku programu i żadne zwieranie końcówek PD0 i PD1 do masy nie pomoże. Stan końcówek...
Za polskim helpem Bascoma Przeznaczenie: Powoduje przerwanie wykonywania instrukcji: FOR..NEXT, DO..LOOP, WHILE..WEND, SUB..END SUB lub FUNCTION..END FUNCTION. Składnia: EXIT FOR EXIT DO EXIT WHILE EXIT SUB EXIT FUNCTION Opis: Za pomocą instrukcji EXIT można w każdej chwili wyjść z dowolnej instrukcji strukturalnej. Przykład: '---------------------------------------...
Witam, gdy w kodzie uzyję obu instrukcji, to po skompilowaniu LCD nie chce wyswietlać i pozostaje jakby niezinicjalizowany. Jeśli wykomentuję PRINT, to kod działa i wyswietlacz wyswietla żądane wartości. Kiedy przywrócę PRINT - LCD znowu nie działa. Nie znalazłem podobnego problemu na forum. Proszę o wskazówkę Dodano po 10 Zamieszczam ten kod. Gdy usunę...
Większość tego typu tematów na tym i innych forach wynika z ignorancji . Ignorancja po angielsku i po polsku znaczy to samo tyle że u nas jest mylnie interpretowana. Ignorancja to po prostu niewiedza i nieznajomość tematu. W instrukcji pisze wyraźnie, że kiedy konfigurujesz Timer to jest on startowany automatycznie. W kodzie w dowolnym miejscu piszesz...
print bascom bascom print rs485 print bascom
interfejs obrotów urwany przewód transformatora induktor działanie
dobre sklepy elektroniczne online dobre sklepy elektroniczne
Quad KXD nie odpala po myciu - przyczyny i rozwiązania Jak spuścić płyn chłodniczy z Audi A6 C5 1.8T?