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,...
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ź.
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!
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....
wielkie dzięki za sugestie, w związku z tym, że dopiero intensywnie uczę się Bascoma, to dlatego nie zawsze jeszcze jestem w stanie na szybko doszukać się odpowiednich poleceń w helpie jak podany przez ciebie Instr ;) również odnośnie tych paramterów $hwstack, $swstack, $framesize i ustalania ich wartości nie jestem jeszcze w pełni świadomy jak z nich...
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(), ...
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...
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...
- 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...
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...
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...
Zaraz sprawdzę... Ale popraw ten tehn...
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.
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...
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...
tak jak pisał kolega wyżej 34/10=3 (pod warunkiem deklaracji jako liczba całkowita) 34 mod 10=4
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...
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
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.
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
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]
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....
INSTR(), LEN(), MID()
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
... a gdyby tak w programie do zmiennej d podstawić żądaną wartość, a w przerwaniu sprawdzać jednokrotnie czy c=d?
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...
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...
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...
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...
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()...
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...
Drogi administratorze- nmie wiem czemu został tytuł zmieniony. nie pytałem co znaczy instr Gosub tylko zapis w pierszym moim poscie z uzyciem Gosub...
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...
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...
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...
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...
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,...
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
Gdzie są takie ograniczenia co do ifów? Pokaż mi miejsce w instrukcji bascoma gdzie o tym pisze...
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...
...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.
... 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
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,...
Teoria powiadasz. Ciekawe co czytałeś... Mimo iż wyczuwam lekki roszczeniowy charakter wypowiedzi to postaram Ci się coś jednak wytłumaczyć. Kiedy pisałem o podpisywaniu zmiennych to miałem na myśli takie wysyłane osobno. Od razu uściślijmy, że dla takich wartości dwubajtowych jak Word łatwiej to przesłać jako Hexstring. Długość stringa zawsze będzie...
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...
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...
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,...
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.
instr bascom texas instr brother instr
polar whirlpool motorola migający ekran robią paski drukowania
stara zmywarka bosch eeprom samsung reset
Fiat Seicento 1.1 FIRE – brak mocy, nie odpala, iskra i paliwo są, brak reakcji na plaka Unitra P701 – jak zmierzyć pojemność sondy oscyloskopowej do OS701? Metody pomiaru i typowe wartości