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(), ...
To powinno odczytać cały bufor: Odczytaj_sprzetowy_uart: Uart_txt = "" Do 'Odbierz znak po znaku Kod = Inkey() Uart_txt = Uart_txt + Chr(kod) 'Zapisz w Uart_txt Bufor = Ischarwaiting() 'Sprawdź czy jest znak Loop Until Bufor = 0 'Zakoncz jeśli brak znaku Return Do wyłuskania danych polecam instrukcję Instr
Koledzy dzięki za odpowiedz. Zdecydowałem się na programowy PWM i teraz mam jeszcze jedno pytanko. Timera0 używam do generowania przerwań typu 100ms ,500ms,1s itp Oraz wykorzystuje timer1 do PWM. Jeśli instrukcję od programowego PWM wrzucę do Timera0 to wydaje mi się że rozsypią czasy przerwań czy dobrze myślę? Więc jedyna najsensowniejsza opcja to...
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
ps2. Jakie kontrolery 8 bitowe (firma) sa najczesciej wykorzystywane w przemysle? PS. Co do przemysłu to z tego co wyczytałem : Renesas, Motorola no i PIC Ponieważ rozebrałem już niejedno urządzenie przemysłowe (automatyka zwłaszcza) to śmiem twierdzić, że raczej jest to tandem: ST i Motorola. Choć widziałem też kasetę synoptyczną na ATmega128 :D z...
Temat ciekawy. Nie mam "gotowca" ale potrzebujesz zmienne: "Licznik" - ilość odczytów napięcia "Nap" - odczytane napięcie "licznik_zmian" "Wartosc" - 0 - gdy "Nap"<0,4V albo 1- gdy Nap>0,65V "wartosc_pop" - wartość z poprzedniego odczytu Licznik =0 Do ' pętla główna incr licznik call Odczyt_nap ' skok do procedury odczytu nap call sprawdz ' sprawdzenie...
pozwolę sobie odświeżyć temat, bo nie osiągnąłem stabilnego efektu, sprawdzając różne koncepcje. usunąłem na razie Serialin0, dodałem [syntax=basic4gl] Ilosc_znakow = Len(uart_ciag) [/syntax] wysyłam SMS o treści Karta Efekt na terminalu jest taki: caly ciag: +CMT: "+48796123456","","14/01/18,19:04:59+04" caly ciag: Karta czyli rozumiem, że po dojściu...
... a gdyby tak w programie do zmiennej d podstawić żądaną wartość, a w przerwaniu sprawdzać jednokrotnie czy c=d?
- czy praca równoległych timerów nie będzie jakoś na siebie wpływać (program przerywa pracę na skutek działania timera1 by precyzyjnie wyznaczyć czas, a tu w tym samym momencie dochodzi kolejne przerwanie od innego timera, i co wtedy) Timery działają niezależnie, ponieważ realizowane są sprzętowo. Nie będą na siebie wpływać. Program niestety (w tym...
Nie wiem, czy nadal aktualne, ale od tego jest bit DCF_Status.7, który przyjmuje wartość 1 gdy DCF poprawnie odbierze czas. Bit ten możesz, po zsynchronizowaniu czasu, wyzerować. Jego ponowne ustawienie nastąpi, gdy znowu czas zostanie odebrany. Zresztą, to wszystko jest napisane w HELP'ie Bascoma, przy opisie polecenia CONFIG DCF77, polecam poczytać.
INSTR(), LEN(), MID()
Widzę że muszę trochę sprostować. 1. Nawet kosmicznie często wywoływane przerwanie zdąży się wykonać choć by nie wiem jak długo ono trwało, bo przerwania po wejściu w obsługę jakiegoś przerwania są blokowane i odblokowywane są dopiero po zakończeniu się obsługi tego przerwania. Więc twierdzenie że przerwanie nie zdąży się wykonać w ciągu 128us bo samo...
A co to jest IR1?:>
Ten programik u mnie kompiluje się bez błędu, używam pełnej wersji BASCOM'a 2.0.7.4. Istnieje możliwość że masz uszkodzone pliki LIB, spróbuj zainstalować Bascom'a na nowo.
Podejrzewam że problem jest z odbiorem danych z pilota. BASCOM i GETRC5 nie za bardzo sobie z tym radzi. No i czy masz na pewno pilota RC5? Dodano po 1 Zobacz to: [syntax=basic4gl] $regfile "m8def.dat" 'konfiguracja mikroprocesora $crystal = 4000000 'konfiguracja kwarcu Config Portb = &B11111111 Portb = &B11111111 Config Portc = &B1111101...
Albo używasz jakiejś archaicznej wersji Bascoma, albo masz babola w programie w całkiem innym miejscu - obstawiam to drugie. (choć praktyka pokazuje że wielu ludzi z lubością używa starych wersji kompilatorów a później się dziwi że to i owo im nie działa na nowszych prockach) Bo całkiem normalnie daje się kompilować obsługę RC5 w Bascomie z użyciem...
Zaraz sprawdzę... Ale popraw ten tehn...
Drogi administratorze- nmie wiem czemu został tytuł zmieniony. nie pytałem co znaczy instr Gosub tylko zapis w pierszym moim poscie z uzyciem Gosub...
Tak współpracuje z Bascomem - Bascoma trzeba tylko odpowiednio skonfigurować. mam tylko pytanie czy styki na wyjściu programatora podłączamy bezpośrednio do pinów procka czy trzeba jeszcze jakieś elementy Nie potrzeba dodatkowych elementów - podłączasz bezpośrednio do procka.
Przerwanie przerwie wykonanie instrukcji Wait. Po wykonaniu podprogramu obsługi przerwania uC dokończy wykonanie instrukcji Wait. Wniosek - instrukcja Wait nie wstrzymuje działania uC.
Na forum pomagamy osobom które wykazują chęć nauki lub maja konkretny problem. Jak uruchomić zegarek z pełnym kalendarzem itd. jest opisane w Helpie przy instrukcji "Config Clock" Jeśli Ci się nie chce czytać lub nie masz czasu to zleć napisanie tego programu. Osoba z doświadczeniem napisze Ci go w jeden dzień z wszystkimi wodotryskami. Pisze to bo...
tak jak pisał kolega wyżej 34/10=3 (pod warunkiem deklaracji jako liczba całkowita) 34 mod 10=4
dondu - totalnie mylisz pojęcia. BOD i WD to dwa zupełnie różne układy, wyzwalane zupełnie różnymi bodźcami. WD powinien być stosowany w każdej aplikacji, jako dodatkowe zabezpieczenie. I bynajmniej nie z powodów o których piszesz. Jeśli program może wchodzić w dziwne stany to jest po prostu źle napisany - rozwiązaniem jest napisanie go poprawnie. A...
Zastawia mnie po co ciągle robisz warunek w warunku jak np. tu If Pinb.4 = 0 Then Waitms 1 Incr Setki If Setki = 10 Then Setki = 0 Incr Tys If Tys = 7 Then Tys = 0 End If End If End If Jak już mówiłem wcześniej, jeżeli zaprzęgnąłeś timer to wykorzystaj go do odliczania sekundy wtedy pętla główna zostaje do twojej dyspozycji i bez problemu tam umieścisz...
No i słusznie. C.6 pewnie też Ci nie działa. Jak podajesz taką deklaracje to do pinów C.6 i C.7 należy podłączyć kwarc zegarkowy i zliczanie czasu masz obsługiwane automatycznie. Poczytaj HEPLa.
Jeżeli we wszytkich IF występuje to samo sprawdzenie, to trzeba go zrobić raz na początku, co uprości kod: Zamiast: If M1 = 1 And K = 1 Then test.0 = 1 Else If M2 = 1 And K = 1 Then test2.0 = 1 Else If M3 = 1 And K = 1 Then test3.0 = 1 End If End If End If Czytelniejsza konstrukcja: IF K=1 THEN If M1 = 1 Then test.0 = 1 Else If M2 = 1 Then test2.0 =...
DDR to nie instrukcja tylko rejestr portów np. DDRB - rejestr określający kierunek portu PortB (wejście czy wyjście). W bascomie konfigurujesz np. Config portb.5=output lub np. config portb=input Po szczegóły odsyłam do dokumentacji procesora i języka Bascom.
Slyszalem, ze bardzo proste programy nawet specjalisci od C pisza wlasnie w Bascomie :) Nie chce mi sie w to wierzyć. Nawet pisząc prosty program używam debugera, którego w Bascomie brak.
twój LCD jest na sterowniku zgodnym z HD44780 czyli powinień smigać bez problemu... Czy masz jakiś problem z wysterowaniem tego LCD ? Działa ilaczej czy coś innego ? pozdr KN
Przerwanie miałbyś z częstotliwością 32000Hz(8000000/250), gdybyś tylko przeładowywał Timer w przerwaniu. [syntax=basic4gl] Prztimer1: Load Timer1, 250 '<----- w tym miejscu na przyklad Incr Licznik If Licznik > 100 Then Licznik = 0 End If[/syntax]
Nie ma, timer2 na as i liczysz na piechotkę , oczywiście kwarc musi być podłączony (32768 na osci osco).
Np. Bitwait Pinb.0, Reset 'czekaj aż na PB0 będzie stan niski
Rozwiązanie: Dim Mcureg As Byte Dim Watchdog_flag As Byte Mcureg = Peek(0) If Mcureg.wdrf = 1 Then ' Czy uruchomienie wywołał WATCHDOG ? Watchdog_flag = 1 End If
w bascomie jako tako się orjętuje ale w C to błądze jak Andzia w parku... Mimo wszystko dzięki - doceniam "gest". :)
Witam Szczerze mówiąc nie mam pojęcia czy ktoś napisał jakieś procedury do obsługi magistrali I²C przez LPT-ka. Trzebaby poszukać i popytać. Jeśli nic się nie znajdzie to trzeba przejrzeć specyfikację tej magistrali i poprostu napisać cały protokół od podstaw. Zwracam uwagę na fakt, że wyświetlacz pracuje przy mniejszym napięciu, tzn. poniżej 5V....
F4, wybrać typ procesora tak jak pisali koledzy wyżej i kliknąć to: http://obrazki.elektroda.net/9_125426753... A potem kliknąć „Write Buffer to flash ROM" (jest 2 przyciski w prawo).
Jak już tak uparłeś się na liczenie to rozwiązanie masz w tematach przyklejonych w tym dziale: Dim Mcureg As Byte Dim Watchdog_flag As Byte Mcureg = Peek(0) If Mcureg.wdrf = 1 Then ' Czy uruchomienie wywołał WATCHDOG ? Watchdog_flag = 1 End If
Schemat jest ci nie potrzebny :P Załatw sobie STK200 i jazda :) Programator wpinasz w złącze zaznaczone w załączniku. Bascoma ściągniesz za free ze strony [url=www.mcselec.com]Link. Pozdrawiam Dawid.
Hej, ja też nie znam C (Bascoma i adxl335 też nie), ale rozwiązania poszukałbym w podręczniku do matematyki (trygonometria). Stawiam na gimnazjum, ale mogę się mylić. Ostateczne Google i dokumentacja układu. Dokładnie: matematyka trygonometria i fizyka równoległobok sił. Zadanie brzmi: przyrząd odczytuje po swoich osiach przyśpieszenia -0,32g,0,7g...
Kabel LPT to jest najzyklejszy kabel drukarkowy, cena myślę, że nie przekracza kilkunstu złotych. Jeśli chodzi o programy, to ja jak narazie programuje w Assemblerze i używam do tego środowiska programistycznego AVR Studio 4. Assembler jest dość trudnym językiem, ale umożliwia za to całkowitą kontrolę nad pisanym programem i fukcjami uProcesora. Do...
Witam... Można to zrobic na wiele sposobow. Sa bardziej lub mniej prymitywne. W zaleznosci od potrzeb stosuje sie rozne metody "detekcji", "programowych blokad" itp Ja zrobilbym to np tak: ----------------------------------------... 'Blokada zadeklarowana jako zmienna bitowa If P1.1 = 0 Then Goto Instrukcja blokada...
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...
ad2. napięcia nie przekarzesz chyba ze bedziesz mial w procku przetwornik AC i CA. przekazać możesz stan logiczny np ( procek 8051 ) na p1.0 masz jedynke logiczna (5V) to możesz stan tego portu przeniś na inny pin np p3.0 bascomie robisz to chyba tak ( nie wiem dokladnie bo w bascomi nie siedzialem od 2003 roku) p3.0 = p1.0 a jaesli chcesz potrzebujesz...
chyba nic nie zrozumiales z tego co koledzy ci pisza. Nie potrzebujesz assemblera, w bascomie tez to zrobisz. Jak? tak jak ci koledzy napisali powyzej.
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...
np tak: (to tylko pogladowo bo to nie jest program) a-enable b-data c-clk dana-dana do wyslania c=0 b=0 'obie linie w stnaie spoczynku maja 0 a=1 'zaluzmy ze wysoki stan uaktywnia odbiornik danych dana=??? for x=0 to 7 b=dana.x 'wystaw bit c=1 'zaluzmy ze narastajace zbocze wpisuje bit c=0 next x a=0 'jesli na tym jednym bajcie chcemy skonczyc transfer,...
Witam. Zaprogramowałem AVRa do odbioru sygnału RC5 według instrukcji w helpie. Układ odbiera sygnał lecz dopiero po 2 sekundach trzymania przycisku na pilocie. Czym to może być spowodowane?? Czy to zależy od kwarcu, czy może instrukcja GETRC5 nie jest doskonała?? Chciałbym sterować obiektem i takie opóźnienie nie jest zadawalające. Z góry dzięki za...
Witam, chciałbym się doradzić w jaki sposób mogę odebrać dane z modemu SIM900A przez RS232 atmegi8 i zapisać je do zmiennej nie przerywając działania programu. Jakich funkcji użyć? Programuję w Bascomie.
u mnie krzaki to rzecz normalna i nie przejmuję się nimi. Zawsze będzie tak że do bufora coś wpadnie. Od czego są polecenia: InStr i ChKey i Mid? Ważne że między krzakami jest odpowiedź.
Mam windows 98 i am pytanko czy jeżlei zrobie formatke i zaistaluje windows XP i Bascom AVR to będę mugł programowa cprocki ?? Bo słyszałm że xp ma problemy z portami ...
To mniejwięcej "brzmi" tak: ... ;r16-wejście ;r17-rezultat rol r16 ror r17 ;... ;powyższe 2 instrukcje , są "odpowiednikiem" 4 poniższych instr. 51-ki ;a-wejście ;b-rezultat rlc a xch a,b rrc a xch a,b ;... Poza tym , jeśli ktoś zna assemblera na procki X , to "przejście" na procki Y nie jest chyba trudne :?: Piotrek
Czy wystarczy jeden TSOP1736 do lampki rgb?Czy ktoś mugł by mi dać kod w bascom do TSOP1736? Prosze:)
Czas zapisu Eepromu wynosi typowo 2,5-4ms. W tym czasie nie powinny byc dokonywane zadne inne operacje na pamieci Eeprom. Informacja o zakonczonym zapisie znajduje sie w rejestrze Eecr (bit 1). Wyzerowanie tego bitu = koniec zapisu Po instrukcji writeeeprom mozesz dac polecenie: bitwait Eecr.1, reset wtedy program bedzie zatrzymywany jedynie na czas...
A w ogóle to ten input zadziała Ci tylko raz, po uruchomieniu programu (poza pętlą Do...Loop), ponadto w przypadku takich urządzeń nie robi się "eliminacji drgań styków". A ma szanse się skompilować i ba, nawet działać, tylko chyba bascom nie dopuszcza porównywania stringów wprost, dlatego zastosuj odpowiednio skonfigurowaną funkcję INSTR. Ale pierwsze...
Witam, miałem ten sam problem. Prawdopodobnie wykonujesz projekt wedlug mikroprocesorowej oslej laczki. Nie sprawdzalem tego jak jest w AT902313 na bazie ktorego pisany byl kurs(dziwne że nic o tym nie pisza w kursie) ale w Attinie faktycznie musisz przestawic fusebity bo domyslnie masz taktowanie 1MHz. W bascomie robi sie to bardzo prosto:Program-->send...
a tego nie wie... powiem szczerze że sciągnąłem to z przykłądowego programu... nawet o tym nie pomyślałem Ale jeśli tak, to powinna sięwyświetlić chodziaż ta pierwsza literka W takim razie jakiej komendy muszę użyć? instr lub input? input - program się zatrzymuje (jakby się zawiesił i czekał na jakieś dane) instr - wyskakuje błąd
Przy okazji co to był za program? Co działało wolno? Może nie używałeś sprzętu i wykorzystałeś programowe protezy SPI, I2C, UART? Może użyłeś bibliotek... Używałem modułów, bo jak wcześniej wspomniałem pisałem w LUA Program miał za zadanie jedynie odczytać ADC i porównać z zadaną wartością, a następnie tak ustawić PWM, aby napięcie na wyjściu było...
Z całym szacunkiem to jest to po prostu wioska. Nie zadałeś sobie trudu sprawdzenie biblioteki o której pisałem. Powinienem to tak zostawić , ale nie mogę na to patrzeć. Nie dość, że nie możesz używać standardowych instrukcji Bascom takich jak Lcddat, Showpic itd to jeszcze potrzebujesz 512 Bajtów na bufor.. Dyskwalifikuje to ten kod dla mniejszych...
Zewnętrzny RAM można dołączyć tak samo jak zewnętrzny Eprom (np. z programem), czyli do portów P0 i P2, przy czym do portu P0 dołącza się zatrzask np. 74LS373, służący do zapamiętania części adresu. Jest to typowy schemat, znajdziesz go w literaturze. Do programowej obsługi zewnętrznej pamięci RAM, służy instrukcja MOVX, w asemblerze, natomiast w Bascomie...
Po pierwsze - użyte procedury z innych bibliotek powinny się znaleźć w lini $EXTERNAL: [_I2C_RBYTES] $EXTERNAL _I2C_READ _I2C_RBYTES: Mov R17,R18 ; copy slave address Cpi R24,0 ; bytes to send Po drugie można wplatać instrukcje BASCOM tylko trzeba to zrobić z prefixem: *BASIC: waitms 1 Po trzecie chcesz coś wysłać, a zatem nie _i2c_rbytes...
Wykorzystują przy tym analizę przebiegu programu na podstawie banalnie prostego założenia - program zawsze startuje z adresu 0x0000 (zarówno '51, jak i AVR) i dalej disasembler śledzi w którym miejscu znajduje się kod podążając za wszystkimi instrukcjami skoków. Tylko ty mówisz o "inteligentym" disasemblerze, czy połączeniu disasemblera z symulatorem,...
Witam Jestem w trakcie tworzenia projektu mającego na celu zczytywanie temperatury z magistrali 1Wire i przesyłanie dalej za pomocą Ethernetu (Wiznet w3100a). Udało mi się skonfigurować Wizneta, pingował się świetnie. Ponieważ miałem problemy z utworzeniem serwera postanowiłem dodać kilka diodek za pomocą których mógłbym debugować program. Kiedy wgrałem...
Dzenki!!!!! Jak byś napisał program w bascomie i dał schemat tego urządzenia to bym sobie wykonał i zaprogramował !!!!!Mogę 10zł zapłacić za pobraniem!!! Dodano po 10 Dzenki!!!!! Jak byś napisał program w bascomie i dał schemat tego urządzenia to bym sobie wykonał i zaprogramował(najlepjej cztery odbiorniki i jak złapie sygnał kturyś odbiornik to procek...
Musisz dobrać taki kwarc, który da się podzielić tak by uzyskać częstotliwość pracy UART = 31250 Hz +/- 1% Komunikat MIDI składa się z 2 lub 3 bajtów. Jeżeli bajt ma ustawiony najstarszy bit to jest on (ten bajt) traktowany jako rozkaz a jezeli nie to są to dane do rozkazu (ogólnie dane są przesyłane w porcjach 7 bitowych). Dekodowanie jest dość złożone,...
Być może bascom'owe instrukcje obsługi lcd nie patrzą na kierunek w jakim działa port, tzn. w w funkcja "Config Lcdpin" ustawia wybrane porty jako wyjścia a pozostałe instrukcje obsługi lcd nie sprawdzają czy to się nie zmieniło. Spróbuj przed instrukcjami od lcd czyli przed obydwoma "cls" ręcznie przestawić wyprowadzenia uC jako wyjścia. Druga sprawa...
...może jakaś sugestia please ;) Zapomniałeś o $hwstack = 32 $swstack = 32 $framesize = 16 Wartości w/w parametrów mogą być inne(czytaj:większe) , jeśli "obrabiasz " długie stringi. Poza tym , komplikujesz niepotrzebnie proste rzeczy(czytaj:nie "wgryzłeś się" w help-a) ;) Function Scanstrsp() Local I As Byte I = Instr(text , Sep) 'zwróć...
Gdzie są takie ograniczenia co do ifów? Pokaż mi miejsce w instrukcji bascoma gdzie o tym pisze...
...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ę...
Poszukaj w hepie bascoma instrukcji Config Pin, oraz w dokumentacji procesora jak się włącza pull-upy.
Też myślałem o tym żeby instr .Wait pobrała czas ze zmiennej z adc! ale nie wiedziałem czy tak można Wait ze zmienną. dziś to sprawdzę! thx!
Post był raportowany. Przeniosłem z: DIY Pozostałe i Newsy
... Może Bascom w ogóle nie potrafi tej 16tki odczytać? Pozdrawiam, Damian. Bascom potrafi , tylko Ty nie rozumiesz jak działa instrukcja I2creceive :( A działa tak: I2creceive 68 , W 'i2cstart 'i2cwbyte 68 OR 1 , czyli 69 'i2crbyte W 'i2cstop Z tego jasno wynika , że zawsze odczytasz tylko jeden bajt i zawsze będzie to pierwszy bajt z Twojego PCF-ka...
To proste, wykorzystaj warunek. IF wyrażenie then instrukcja else instrukcja end if
W bascomie i ASM trzeba najpierw ustalić gdzie znajduje się zmienna temperatury. Potem w bascomie użyć funkcji peek i poke(zajrzyj do helpa) a w ASM wysyłać kolejno wszystkie bajty zmiennej(pewnie przez akumulator albo jakiś inny rejestr) do pamięci i potem tak samo to wywoływać. Zresztą nawet w C powinno być coś jak peek i poke(wkońcu to i tak określenia...
Napisz tak: Dim Zmienna As Byte Zmienna = 0 Config Intx = Low Level | Rising | Falling [ | Change ] 'Konfiguracja reakcji na sygnał przerwania 'za x podstaw nr przerwania wybierz jeden ze sposobów pobudzenia kocówki uC Enable Interrupts 'Uruchomienie przerwań globalnych Enable Intx 'Uruchomienie przerwania INTx On Intx Obsluga_przerwania 'wskazanie...
Struktura powyższego programu jest co najmniej dziwna... W najprostszej postaci najpierw badaj stan przycisku, jeśli wciśnięty to zmień stan portów (dwie instrukcje toggle - po jednej dla każdego pinu) i znowu sprawdzaj stan - jeśli puszczony to przejdź do dalszej części programu czyli... do początku w tym wypadku :) Poprawiłem tylko config portów,...
Witam. Mam taki problrm. Napisałem program do obsługi pralki automatycznej w Bascomie. Problem w tym że pralka działa niby poprawnie bo jak symuluję to jest ok ale jak zaprogramuje mikrokontroler to od razu się wykłada. Pomija niektóre instrukcje nie wiem dlaczego. Zamieszczam cały projekt może ktoś będzie wiedział dlaczego tak się dzieje. Stanem aktywnym...
Myśłem, że jest do tego jakaś biblioteka, ale w takim razie przejdźmy do rzeczy. Funkcja INSTR(); zwraca pozycje znaku czyli ja tu wstawie ",". Poda mi pozycje pierwszego przecinka (tak się domyślam), a co z resztą? Wycinać przeszukany już tekst po kawałku ? Jak to zrobić najoptymalniej?
no i dodałem faktycznie teraz lepiej chodzi :) chyle głowe tylko czemu takich rzeczy nie pisza tylko trzeba samemu dochodzic inaczej bym plytke skonstruowal...
Nawet jeżeli tak jest, to i tak instrukcja asc zmienia tylko pierwszy pobrany znak na liczbę. Kombinowałem na różne sposoby niestety bez efektów.
Może gubisz przesyłane znaki bo gdzieś pętla jest za wolna. Jeśli taką komunikację wrzucisz do większego programu to problem się tylko pogłębi. Lepiej skonfiguruj bufor i Bascom będzie odbierał wszystkie znaki w przerwaniu. Nie przegapi żadnego znaku. ->Config Serialin0 Widać, że dodajesz Enter na końcu stringów. Możesz to monitorować i parsować dane...
U mnie działa coś takiego: Odczytaj_sprzetowy_uart: Uart_txt = "" Do 'Odbierz znak po znaku Kod = Inkey() Uart_txt = Uart_txt + Chr(kod) 'Zapisz w Uart_txt Bufor = Ischarwaiting() 'Zakoncz jeśli CR lub brak znaku w buforze Loop Until Bufor = 0 Or Kod = 13 Return Odczytaj_uart: Bufor = Ischarwaiting()...
hmmm a czytales tą instr progr do bascoma ze stronki mcselec? o ile mnie pamiec nie myli to gdzies w poczatkowych stronach bardzo precyzyjnie ktos opisal tą czynnosc....
Jak napiszesz w C i zobaczysz wynik działania kompilatora to w podglądzie będą co najwyżej opisy co dana instrukcja robi w języku ASM a to piszący w ASM już przecież wiedzą. Nie dowiesz się co Autor miał na myśli. W Bascom biblioteki są napisane w ASM, ale mają komentarze co, po co i w jakim celu. Co by ktokolwiek sobie o Bascom nie myślał to te biblioteki...
GPS masz tutaj: http://www.allegro.pl/show_item.php?item... (najtanszy jaki znalazlem, ale patrzylem tylko na 1 strone, moze sa tansze) Do tego podlaczasz kabel o ktorym pisza - z wyjsciem PC- RS232, za tym dajesz uklad MAX232 podpiety np do 89c2051. Piszesz prosty program w bascomie, ktory np co 30 sekund odczytuje z GPSa dane, wyciaga z nich...
ponoć w elektronice praktycznej był jakiś projekt zwiazany z połączeniem AT90S2313 i cc1000 moze ktoś byłby w stanie zrobić ska tego artykułu i przesłać go na forum. pewnie nie tylko ja byłbym wdzieczny za ten gest.....
Witam. Pisze maly programik do prostego termostatu. Planuje zrobic to na komparatorze jaki posiada Atmel AT90S2313, jednak mam maly problem... jak skonfigurowac przerwanie od tego komparatora ? :) Nota katalogowa jest pisana raczej pod asma, natomiast w instrukcji do bascoma zbyt wiele na ten temat nie pisza. Pytanie drugie - czy da sie w jakis prosty...
Witam Moj terazniejszy problem dotyczy kontroli napięcia jakie daje mi bateria, do zasilania mikrokontrolera At89C2051. 9V baterie daje na stabilizator 5V i z niego na zasilanie mikrokontrolera. Chcialbym by jak bateria bedzie miala mniej niz 6V , to mikrokontroler poinformuje mnie o tym, zapalajac diode. Programuje w bascomie Czytalem o instrukcji...
Nie słyszałem żeby BASCOM obsługiwał programator równoległy. To,że programator jest podłączony do portu równoległego to nie znaczy,że jest on równoległy. Nie slyszales bo malo ludzi tu piszacych je ma, albo malo z tych co maja, rzadko je uzywa w tym mode, albo jeszcze rzadziej korzystaja z tej kombinacji w Bascom. Jezeli masz programator STK500 ("pelna...
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)...
Dla niewtajemniczonych: proszę sobie wleźć na witrynę http://8051help.mcselec.com/ i odszukać co robi instrukcja WAIT, niestety nie da się podać linku bezpośredniego, a szkoda. określenie waitms 1000 jest jak najbardziej błędne. Dlaczego? Proszę odnaleźć na powyższej witrynie opis instrukcji. ... sprawdź analizatorem stanów logicznych czy na P1.4 zmienia...
No właśnie... czy w bascomie da się stworzyć strukturę do przechowywania danych i wrzucić ją do wbudowanego w AVR EEPROMA ? (np. struct konfiguracja o polach np. konfiguracja.id konfiguracja.haslo, etc...) ? a jesli tak, to jak to zrobic ? W helpie oczywiscie o tym nie wspominaja (malo o czym pisza)... Pozdrawiam Patryk
Bitwait S1, set Przepisz proszę na CC++. Zakładam, że przez "Bitwait S1, set" masz na myśli instrukcję, która czeka na ustawienie (set) konkretnej wartości bitu, np. oczekiwanie na to, aż przycisk (oznaczony jako S1) zostanie naciśnięty. W językach niskiego poziomu, takich jak assembler, operacje na bitach są bardzo często wykorzystywane...
tak :D set ISC01 , procesor będzie reagował na zbocze opadające :) ale w 2051 trzeba rc zastosować... Hmmmm .... nie ustąpię :D Do czego służą bity IT0 i IT1 , w rejestrze TCON :?: Piotrek
Dzięki za rady, ale żadna nic nie wniosła do tematu. Dalej nie wiem czy dobrze robię inicjalizację i czy moja funkcja działa poprawnie. Zerknij na biblioteki do Arduino (z tego co wiem sa), osobiscie nie bawilem sie w sterowanie 8bit... do tego jak patrze na Bascoma to drgawek dostaje i nie chce mi sie tego analizowac czy to dziala poprawnie... dlatego...
jak kolega mysli ze teorie CAN opanuje bardzo szybko to sie myli... Zeby wysterowac czym kolwiek z CAN to nie takie proste jak tu koledzy pisza... Zastanow sie najpierw co chcesz wysterowac. Najlatwiej byloby jakbys zrobil dwa uklady z CAN i komunikacje midzy nimi. na jednym i drugim ukladzie wyswietlacz LCD i jakas klawiaturka i bylo by OK. na poczatek...
Nie masz wyjścia, jak zacząć bawić się AVRStudio ... :D Bascom potrzebuje SRAM-u, którego ten procek nie posiada... A kodzik, proszę bardzo, ale za jego kompatybilność z Bas-monster nie odpowiadam ;) : #include "m8515def.inc" ; Prohibits use of non-implemented instructions (ATmega8515) .cseg ;—————R...
Można sprawdzać czy string zawiera "+CCLK:" [syntax=vbnet]Helpb = Instr(Somestring , "+CCLK:") If Helpb > 0 Then Helpb = Helpb + 6 Helpstr = Mid(Somestring , Helpb) 'odetnij +CCLK: End If[/syntax] Potem w samym stringu mozna szukać spacji lub przecinka poprzez CHARPOS i sprawdzać czy > 0 albo zrobić tablice stringów i na tym SPLIT dzieląc przecinkiem...
Witam. Jestem początkujący jeżeli chodzi o mikrokontrolery. Chciałbym prosić kogoś bardziej doświadczonego o sprawdzenie poprawności mojego programu. Działanie: Sterowanie 3 silnikami BLDC i 1 serwo za pomocą PWM. uC otrzymuje przez UART literę oznaczającą funkcję, następnie ma ją zrealizować. Silniki podłączone będą przez regulatory modelarskie, a...
coś takiego: Przerwanie_timer1: 'przerwanie co 0,0015625 sekundy (640Hz) Ie = &B00000000 'wylacz przerwania Th1 = &HFC : Tl1 = &H00 P3.7 = 1 : P1.0 = 1 : P1.1 = 1 : P1.6 = 1 : P1.7 = 1 Incr Wyswietlacz_licznik If Wyswietlacz_licznik = 5 Then Wyswietlacz_licznik = 0 Wyswietlacz_dane = Poczatek_wyswietlacz_cyfra_kopia...
bascom instr demon instr matiz instr
at90s2313 zamiennik silniczek krokowy civic kondensator pobór prądu
Lampki kontrolne w bojlerach: czerwona czy zielona? Zamienniki dla tranzystora C 37 B: 2SC37, 2T301B, BC337B