No to spróbuj - zmienną wysyłasz jak normalną wartość, w Bascom ustawienie bitów w niej będzie się odbywało tak samo jak majstrowanie z rejestrami PORTn.x.
Masz trzy procedury Praca, Zakonczenie i Ustawienie, na początku programu musisz je zdeklarować: [syntax=basic4gl]Declare Sub Ustawienie Declare Sub Praca Declare Sub Zakonczenie [/syntax] Drugi błąd zmienne niemnogą mieć takiej samej nazwy jak procedury, zmień nazwy zmiennych: [syntax=basic4gl]Dim Ustawienie As Word Dim Praca As Word[/syntax]
Incr - inkrementacja czyli Z=Z +1 Decr - dekrementacja czyli Z=Z - 1 Home - ustawienie kursora na pozycji 0,0. Polecam polskojęzyczny help do Bascoma tam wszystko pięknie pisze :)
Do epromu zapisujesz nastawioną temp - jeśli byś zapisywał z DS to szybko załatwisz procesor. Tak musisz utworzyć i porównać zmienne.
ustawienie wartości bitu i wyzerowanie zmiennej.(literówka) bascom nie pokazał
Zadeklaruj ile i gdzie chcesz przydzielić pamięci. Przykładowo $hwstack = 32 $swstack = 18 $framesize = 8 Połączenie ATTiny13 z bascomem to fatalne rozwiązanie, ale przy odrobinie samozaparcia da się coś zrobić. Z tymi ustawieniami udało mi się użyć 6 zmiennych, przy czym program w symulatorze i tak szedł w krzaki. Jak będziesz pisał to musisz unikać...
Najpierw napisz mi z jakich uc korzystasz oraz jak ustawiłeś fuse bity.
W Bascom i AVR-dos to możliwe;-) Sprawdź jeszcze czy masz ustawioną minimalną ilość uchwytow i buforow w konfiguracji biblioteki.
Po sprawdzeniu załączonego kodu widzę, że procedura Complet_reg zawiera wyłącznie ustawienie częstotliwości. Jeśli chcesz dodać do ramki inne opcje to musisz ustawić odpowiednie bity zmiennej Reg. Umieść to w procedurze Complet_reg: Sub Complet_reg: Reg = Frequency Reg.16 = 1 ' przykładowe ustawienie bitu 16-tego ramki Reg.17 = 0 ' jw bit 17 End...
No oczywiście, ze jest proste: Zmienna.7 - dostęp do bitu 7 w zmiennej set Zmienna.5 - ustawienie jedynki na 5 bicie zmiennej. Jeśli odwrócisz logikę zapalania diod, to mogą Ci się przydać SHIFT i ROTATE
Nikt nie jest w stanie mi pomóc? nie wie wiem dla czego kontroler nie porównuje wartości Rozumiem że jesteś początkujący , ale nawet Ty powinieneś wiedzieć , że nie porównuje się zmiennej binarnej(Us) ze stringiem (Tmp) :( To tak , jak byś porównywał kilogram z czerwonym :D Poza tym , ten program jest niezwykle pamięciożerny(Fusing,Single). Jeśli ten...
W bascomnie ciężko zrobić LED + Ds18b20 wszytko psuje Waitms 750. Zwiększ do 8 a jak możesz do 16MHz kwarc. A od kiedy to musimy czekać 750ms nie robiąc nic innego? Od czego mamy timery? Przepraszam najmocniej Kolegę, ale jeśli Kolega tego zrobić nie potrafi to: 1. Nie oznacza że się tego zrobić nie da - ja nie potrafię zbudować komputera klasy PC...
W Bascom można najpierw uruchomić funkcję Edit -> Proper Indent i to ułoży ładnie kod z wcięciami. Potem w ustawieniach włączyć Configuration -> Environment -> Draw Indention Lines i to połączy pionowymi liniami wszystkie pętle Do-Loop, For-Next etc. Czytasz błędy : Error : 382 Line : 201 variable does not match FOR Patrzysz na kod w linii...
Nie napisałeś , że ten pilot nie pracuje w kodzie RC5 , ale też nie napisałeś , że w tym kodzie pracuje :wink: Inna wersja Twojego programu: $regfile = "m32def.dat" $crystal = 8000000 '11059200 Dim Adress As Byte , Command As Byte , X As Byte , Tmpcode As Word Dim Odebrano As Bit , Flaga As Byte Config Pind.2 = Input : Portd.2 = 1 Config...
Witam! Po pierwsze to z reguły przyciski powinny zwierać piny wejściowe do masy a nie do zasilania. Wynika to z faktu posiadania przez procesory AVR wewnętrznych rezystorów pull-up podciągających wejścia do +vcc, czyli panuje na nich stale stan wysoki (oczywiście gdy zostaną uaktywnione). Po drugie to akurat sygnał CLK ma się zmieniać, podczas narastającego...
Prawidłowo robi się to tak: XH , YH , lub ZH . Kolejnym krokiem jest odczyt młodszej części adresu i odpowiednio przepisanie jej do XL , YL , lub ZL .
Można zerować, ale nie trzeba, bo każda instrukcja, która ją "obsługuje" i tak ją wyzeruje jeśli nie ma błędu lub ustawi po błędzie.
Dziękuję, już jest prawie dobrze, LED jest podłączony tak: https://obrazki.elektroda.pl/6278951800_... Proszę zmień program tak: 1. aby po włączeniu zasilania LED był wyłączony 2. zmień tak aby parzyste naciśnięcie SW powodowało zawsze wyłączenie LEDa. W tej chwili LED nie zawsze wyłącza się. Zaktualizuję program zgodnie z Twoimi prośbami:...
Grala1 - Nie wiem czy ta wersja spełni oczekiwania : '$prog &HFF , &HE1 , &HD9 , &H00 ' Fusebity fabryczne !!! $sim ' dyrektywa opuszczania zwłoki (usunąć ten wiersz przy wgrywaniu w chip) $regfile = "m8def.dat" ' dyrektywa kompilatora o rodzaju procka ATMega 8 $crystal = 16000000 ' określenie kwarca 16 MHz Config Pinb.1 = Output...
$crystal = 14745600 Czy oprócz podłączenia takiego kwarcu ustawiłeś odpowiednie fuse bity? Następna rzecz to nie musisz robić resetu 1wire. Największy błąd polega na tym że nie czytałeś helpa bo gdybyś to zrobił to dowiedziałbyś się że zmienna do której zapisujesz ilość urządzeń koniecznie musi być typu WORD lub INTEGER. Na koniec radzę ci skorzystać...
morswin89 Witam Jeśli chodzi o ustawienie fusebit-ów, może ktoś dorzucić?
Tak, ustaw linie portu jako wejścia. Zapewne przygasa z powodu zbyt dużego prądu wyjściowego uC. może źle się wyraziłem. Ekran przy naciśnięciu przycisku mignie i na 100% nie jest to spowodowanie przez pobieranie zbyt dużego prądu z uC. Ps. ustawienie linii portb jako wejścia, także nie rozwiązuje problemu = ekran dalej miga w takt inkrementacji zmiennej.
Hej, Jeśli chcesz płynnie regulować współczynnik wypełnienia to musisz wybrać jeden z modów PWM i wtedy będziesz skazany na jedną z kilku częstotliwości wynikających z zegara systemowego i tego jak ustawisz prescaler, Jeśli chcesz płynnie regulować częstotliwość to wybierasz mod CTC(clear timer on compare) ale będziesz miał wtedy stałe wypełnienie,...
Ok coś tam rozumiem ale mam jeszcze taki problem albo prośbę bo nie wiem jak ustawić rejestry w attiny13 Tccr0a Tccr0b Admux Adcsra Adcsrb jakbym chciał pwm 8 bitowy (attiny13) z max częstotliwością tj chyba FAST PWM na pwm0a i pwm0b czyli 9600000/256=37500Hz przy działającym ADC. Reszta ustawień zostaje tak jak jest. To już będzie wszystko. Zacznij...
Będzie to kodowanie z offsetem, i to w dodatku z offsetem zależnym od pomiaru w momencie naciśnięcia przycisku. Tak się po prostu nie robi. Czyli jedyna rada, to sprzętowo, za pomocą potencjometru regulować punkt 0? Nie, nie. Chodziło mi o to że jak regulujesz programowo, to zmienne muszą być trochę bardziej pojemne, na przykład typu LONG. Ale skoro:...
Proponuje dodać dodatkową zmienną pomocniczą której zadaniem będzie pamiętanie że program zaczął działać nie jestem pewien tego rozwiązania z bascomem miałem doczynienia dość dawno temu ale możesz spróbować tego $regfile = "attiny25.dat" $crystal = 4000000 Config Portb.3 = Output 'przekażnik Config Portb.2 = Input 'włącznik typu microswitch...
Po wgraniu do czystej Atmegi kodu chcę, żeby wartość wyniosła np.100. Po ustawieniu innej wartości można ją zapisać do EEPROM. Po resecie i zaniku zasilania wartość ta ma pozostać taka jaką ustawiłem (nie ta co wpisałem do czystej Atmegi) Chyba dobrze wytłumaczyłem ?
To Ci będzie sterować kolejno czterema diodami na pinach od B0 do B3. Zalecam wnikliwą analizę, zanim zalejesz mnie pytaniami :) Timery zawsze rób na odliczanie w dół do 0, w przeciwnym wypadku po wpisaniu nowej wartości w trakcie odliczania możesz mieć niezły kwas - pomyśl dlaczego :) Pozdrawiam [syntax=basic4gl]$regfile "m8def.dat" $crystal = 8000000...
A co słyszałeś? cls i ustawienie całego ekranu wyrzuć przed pętle (tak aby wykonało się to tylko raz - przy zmianie menu czy co tam masz): petla_01_pc: cls lcd "jakies menu" petla_01: locate 1,1:lcd" " ;tu trzy spacje w celu wyczyszczenia pola zmiennej locate 1,1:lcd zmienna_1 ... goto petla_01 Coś takiego likwiduje...
No to jest tak: Program działa dobrze. Jak jest normalnie napisany. Tak że chodzi mi o zupełnie inną modyfikację. Ale wpadłem na pomysł- może głupi- że jak zbadam w pętli głównej że żaden klawisz nie jest naciśnięty to dostanę err=0 i pętla swoje będzie robić. A jak nie- to przejdzie do podprogramu obsługi klawiatury. No i z tym nie daję sobie rady....
' Trzy przyciski kolejno .... (TSA ;) ' wersja bez przerwań i Timera czas_a as integer ' zmienna czasowa A czas_b as integer czas_c as integer we_a alias pinx.1 ' wejście A we_b alias pinx.2 we_c alias pinx.3 wy_a alias Py.1 ' wyjście A wy_b alias Py.2 wy_c alias Py.3 stan_a as bit ' stan układu monostabilnego A: 0 - czeka, 1- liczy stan_b...
Zaprezentuj krótszy program tylko z odbiorem, ale z wszystkimi ustawieniami, configiem i deklaracjami zmiennych. Może coś się od razu rzuci w oczy :D Nie wiadomo czy zadeklarowałeś wielkość ramki której Bascom używa do obrabiania danych pracując na stringach lub tablicach ($framesize) Kiedy jest za mała to program może jeździć po innych zmiennych ;)
Cześć. Nie miałem czasu wcześniej tego zamieścić. Nawet teraz go nie mam :D Zerknij. W tych trzech przykładach pokazuję jak można ustawiać zmienną która ma cztery bajty. W Bascom bez problemu możesz nadać Aliasy każdemu bitowi. Wprawdzie zmienna ma cztery bajty, ale to chyba nie problem. Poprzez Shiftout możesz wysunąć tylko 24bity, albo wszystkie,...
Witam. Mam pytanie, może dla niektórych oczywiste, ale odpowiedzi nie znam. W jaki sposób sterować wyświetlaczem za pomocą rejestru przesuwanego, np 74HCT164 ? Czy po wysłaniu zmiennej, dane segmenty się świecą aż do wysłania kolejnej zmiennej? Przy komendzie: SHIFTOUT pin_danych , pin_zegarowy , zmienna , opcje [, il_bitów , opóźnienie ] Co powinno...
Przy ustawienie linii RESETU w stan 0 podczas inicjalizacji wyświetlacza powinna pojawić się linia na wyświetlaczu.
W ustawieniach bascoma mam 4mhz i kwarc 4mhz dzielone przez 64 w preskalerze i 256 w timer0 dają ok 4ms timer1 ma 65536 co daje ok 1s
Takie właśnie zmienne mam zdefiniowane, ale przy porównaniu z aktualnym czasem program wyłącza ale gdy minie czas załączenia nie załącza.
W timerze (np. co 0.5 sek) gasisz albo zapalasz flagę (powiedzmy o nazwie fMiganie) Oczywiście po każdej zmianie flagi (fMiganie) następuje odrysowanie całości wyświetlanego zbioru elementów w najstępujący sposób: 1. Jeśli fPozycja jest poza zakresem zbioru wyświetlanych elementów (np. =0) - wtedy obraz wyświetlany jest bez migania. 2. Jeśli fPozycja...
Witam Jestem młodym elektronikiem. I nie potrafię wykorzystać mojej pamięci eeprom. Piszę w Bascomie. Mam polską wersję, helpu z Bascoma, ale tej nie rozumie. Skoro nie rozumiesz po polsku ;) , to w jakim języku mam Ci to wytłumaczyć :?: Spróbuję jednak po ... polsku ;) Oto próbka kodu, który mi nie działa. $lib "mcsbyte.lbx" $regfile = "2313def.dat"...
Ale PRINT mimo wszysko skonwertuje zmienną na postać textową. To musi być PRINTBIN. ale co to wg ciebie znaczy, że skonwertuje zmienną na postać tekstową - może ja czegoś nie rozumiem. Przecież obojętnie czy napiszę tak: PRINT "A" ; czy tak: PRINT 65 ; czy tak: PRINT chr(65) ; to zawsze zostanie przesłany ten sam - jeden bajt o wartości...
No tak dwa bity z lewej to rok dalsze 2 to 10 dni i ostatnie 4 to dzień zrobiłem taki program Zapisuje na starcie godzinę 23:59:58 i datę 31-12 dzień wpisuję tak &B00110001 , daję mi to 31 dzień miesiąca , kiedy przechodzi data na 1-01 to zmienną dnia wyświetla mi tak &B00000001 ale bity roku nie uległy zmianie. Jak do tego nie dojdę chyba zmienię...
Proszę, napisz to jeszcze raz ale tym razem tak abyśmy mogli dokładnie zrozumieć co chcesz osiągnąć. Reset.
Zmieniłem ustawienie Timer0 na Load 100, wywaliłem 1 zmienną Pwm_main bo liczyła do 100, LCD i jego obsługa jest w programie: podprogram zegar wywoływany co 1s po "przepełnieniu" zmiennej 5Hz. Programowałem Atmegę i dlatego wiem że program idzie "w krzaki" na samym symulatorze się nie opieram.
Pauzę można zrobić za pomocą Disable Timer1/Enable Timer1. Zatrzymanie Timera1 spowoduje również zatrzymanie odczytu z karty a więc nie trzeba dodatkowych kombinacji. Można to zrobić w przerwaniu. Np. [syntax=basic4gl] If Klawisz = 24 Then Disable Timer1 End If If Klawisz = 25 Then Enable Timer1 End If[/syntax] Stop czyli domyślam się zatrzymanie bez...
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
Kolego coś takiego wymyśliłem :[syntax=vbnet] $regfile = "m16adef.dat" $crystal = 80000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Porta = Input 'port A jako wejścia Config Portb = Output 'port B jako wyjścia ' Config Portd = Input 'Port D Jako Wejścia Config Portc = Output 'port C jako wyjścia Config Sda = Portc.1 'konfiguracja pinu magistrali...
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...
"zajęte" timery. zawsze możesz dopisać tak jak pisałem z dźwiękiem. w przerwaniu timera pomniejszasz zmienną o 1 oraz gdy jest równa 0 wyłączasz podświetlanie. w obsłudze klawiatury dodajesz zapalenie podświetlenia (pewnie ustawienie jakiejś nużki w odpowiedni stan) oraz ustawienie tej zmiennej na odpowiednią wartość (trzeba wyliczyć z prędkości z jaką...
Cytat z książki Wiązani: "Funkcja oczekuje na odebranie znaku z klawiatury, czyli wstrzymuje działanie programu. Przerwanie pętli oczekiwania może nastąpić przez ustawienie zmiennej Err, na przykład w podprogramie obsługi przerwania". Przyznam, że robiłem coś kiedyś na klawiaturze AT, ale nie kombinowałem z "wstrzymywaniem" programu.
"Wykrywany kod naciśniętego przycisku"? Chyba kod wykrywający naciśnięcie przycisku. Nie bardzo rozumiem jak to ma działać. Są 3 zmienne pomocnicze. Temp0, M1 i M2. I z tego co widzę to jedynie gwarantuje jednorazowe wykonanie się Gosuba podczas trzymania przycisku. A do tego wystarczy jedna zmienna. Ale to nie ma zabezpieczenia przed drganiami przycisków....
No tak, bo ja nie mam w zamiarze mieć alarmu dźwiękowego. Więc usuń z programu także deklaracje odnosnie wymiarowania zbędnych zmiennych i uzupełnij poprawki j.w. Wytestuj program w symulatorze running "step into code" (F8) i w odpowiednich momentach kodu uzupełniaj 'ręcznie' zmiany logiczne pinów a także symulowane wartości zmiennych (np: odczyt temperatury...
Witam... Kolego <PiotrzePitucha> troszeczke nie rozumiem zapisu... nie spotkałem się jeszcze z takim zapisem.... mógłbyś mi to wytłumaczyć..?. Chciałbym jeszcze dodać kawałek kodu o który właściwie toczy się moja batalja.. Otóż chciałbym móc ustawiać zmienną SINGLE i zapisywać tą wartość do pamięci eeprom. Kod programu: Sub U_termostaty Cls Lcd...
Nie ma to jak menu w bascomie, poczytaj o sub`ach. Najpierw sobie rozplanuj porządnie to menu-określ liczbę tych ustawień. Następnie niech każde twoje ustawienie odpowiada innemu sub`owi, czyli deklarujesz zmienną np. miejsce_menu i po każdym naciśnięciu góra/dół sprawdzasz aktualną wartość miejsce_menu i skaczesz do odpowiedniego sub`a, w którym masz...
Teoretycznie wystarczy, ale jak już było powiedziane rozjadą sie czasy. Ja np. zawsze robię obsługę DS w przerwaniach i nigdy nie mam błędów... dla początkującego może to byc trudne, bo trzeba zdążyć z obsługą przed kolejnym wywołaniem przerwania. Odpowiednie ustawienie stosu i ramki to kolejny ważny element aby zmienne przyjmowały właściwe wartości...
To pewnie wynika z tego że powstało dużo różnych AVR`ów. Jeśli na początku ktoś korzystał tylko z jednego typu to mógł sobie w IDE ustawić konfigurację dla stosów a nawet wyświetlacza LCD czy I2C. Stąd dla wstecznej kompatybilności dalej tak można zrobić. Na przykład ustawienia dla stosów są tutaj tylko moje są już zmienione bo mogę szybko wkleić to...
Witam wszystkich, mam problem z podłączeniem zewnętrznej pamięci ram - 6264. W bascomie ustawiłem $xramstart = &H1060, a rozmiar w opcjach -> kompilator -> układ, na 8KB. Dołączam schemat podłączenia pamięci do mikrokontrolera. Układ po zdefiniowaniu zmiennej nie zapisuje danych w pamięci zewnętrznej: Dim Zmienna As Xram Byte Zmienna = 10 pamięć jest...
Dziękuję bardzo autorowi. Wszystko działa super na płytce testowej. a mam jeszcze pytanie jak zrobić aby wchodzić do tego menu i zmieniać te zmienne a nie tak jak teraz że od początku jest w ustawieniach. chodzi tu o zmienną program, jak ze zmiennej program=2 przejść do program=1, czyli do ustawień i później wrócić do głównego obrazu ??
[syntax=basic4gl]Config Timer0 = Timer , Prescale = 1024 Enable Timer0 : On Timer0 Przerwanie0 Dim Tmp As Word Tmp = 0 Dim Ptimer1 As Word Ptimer1 = 0 Do If Klawisz = 0 Then If Ptimer1 = 0 Then Ptimer1 = 100 End If If Ptimer1 < 95 And Klawisz = 0 Then Tmp = 1 End If End If If Tmp = 1 And Ptimer1 < 85 And Ptimer1 > 70 Then If Klawisz = 1 Then...
Hm przy próbie kompilacji bascom mi wywala błąd: Wprowadziłeś do porogramu zmienną "A" bez jej deklaracji (wymiarowania). Ponadto masz błąd w konfiguracji portów . Ustawiłeś cały portD jako wyjścia, wszystkie piny od d0 do D6 mają stan wysoki (1) i masz zamiar podłączyć sie pod D0 i D1 z przełącznikiem (przyciskiem lub podobnym) zwierając wyjście w...
Witam. Piszę sobie sterownik temperatury w Bascom '51 i mam problem z przerwaniem. Otóż serce układu to AT89C52 do niego jest podłączony RTC DS1678. Ustawiłem RTC, aby na wyjściu INT generował co sekundę impuls. Podaję ten impuls na wejście INT0 procesora. W obsłudze przerwań dałem ustawienie zmiennej Bit na 1, na podstawie jego inicjuję w pętli głównej...
To jest proste jak świński ogon :D ahahahaha, ale napisz kawałek kodu. Czy masz tam jakiś LCD czy nie, czy masz tam jakiś Timer ustawiony do odmierzania sekundy czy Wait`ujesz :D Czy w dokumentacji czujnika pisze, że nadaje tez na końcu niewidoczne w terminalu znaki 13 lub 10? EDIT: aaa masz tu taki prosty. Napisałem przy śniadaniu więc błąd mógł się...
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...
Kolego mirek36 podaj jakiś przykład jak to wykonać na dim eram. Próbowałem ale... coś mi nie poszło. A co to znaczy "coś mi nie poszło" ??? - no jak można tak opisywać swój problem i oczekiwać podpowiedzi? zupełnie nie rozumiem takiego podejścia na forum. Po pierwsze to wyskakiwał błąd gdy zmienna eram chciałem jakoś wykorzystać. No pewnie pisz tak...
No więc, tak jak obiecałem jakiś czas temu postaram się przybliżyć i wytłumaczyć kwestię programowej obsługi popularnego układu RTC – PCF8583. Układ ten ma zarówno zwolenników jak i przeciwników, a jedni i drudzy mają swoje racje. Są układy prostsze w obsłudze programowej, posiadające wszystkie interesujące nas dane w osobnych rejestrach prostych...
Nie bardzo rozumiem. Przy takich ustawieniach jak podałem procesor powinien "wchodzić" do podprogramu "Licznik" dokładnie co 1 sekundę i w tym podprogramie zwiększać zmienną dokładnie o 1. W pętli głównej zmienna jest wyświetlana na LCD. Niestety dzieje się to szybciej niż powinno...
Witam Mam następujący problem, może znajdzie się jego rozwiązanie: Program napisany w bascomie. Deklaruję zmienną jako bajt i jej wartość ustawiam na 0. Następnie wysyłam ją po rs232. Na terminalu ustawionym na odbiór stringów mam prawidłowo odebraną daną - czyli 0. Jak ustawię odbiór hex'ów to wyświetla mi 30 30 0D 0A. Jak jest ta dana konwertowana...
Nie rozumiem co się tutaj dzieje. Zmienna Reference nie ma żadnej przypisanej wartości początkowej. Jak np uzyskać 50% świecenia diody? Nie chodzi mi o stopniowe przyciemnianie, po prostu chciałbym mieć możliwość w dowolnym miejscu programu ustalenia jakie napięcie ma być na danym wyjściu. Nie potrzeba żadnej wartości początkowej, jest to zmienna typu...
Witam Do tej pory pisalem programy w Bascom'ie. Mam zainstalowaną wersje Bascom 8051 Demo. Wykonalem programator taki jaki w helpie czyli 4 rezystory i pod LPT. Skompilowane pliki HEX wysylam wlasnie przez ten program, z plikami HEX tworzonymi przez bascom radzi sobie swietnie, wszystko dziala super...ale gdy napisze program w c w Keilu lub MIDE-51(SDCC)...
Przerwania PCINTx wykonują się przy każdej zmianie stanu logicznego, niema możliwości konfiguracji np. tylko dla zbocz narastającego lub opadającego. Stan zbocza na poszczególnym pinie sprawdzasz w przerwaniu. Attiny13 ma 6 pinów PB.0-PB.5 (PCINT0 do PCINT5) które mogą wywołać przerwanie. I tu jest jedna myląca rzecz :) dla tych pinów jest tylko jeden...
Problem nieprawidłowego zaokrąglania liczb zmiennoprzecinkowych uprościłem i przedstawiam na poniższym przykładzie: $regfile = "m8def.dat" $crystal = 16000000 --------------------------- Dim Nr As Byte Dim Tau_s As Single Dim Tau_w As Word Cursor Off Noblink '.............ukrycie kursora na LCD Cls Do Restore Tab '...............ustawienie się na pierwszej...
Witam. Napisałem program na at90s2313 (pilot do centralki alarmowej) i aby sprawdzić czy zawartość wszystkich zmiennych przy kodowaniu się zgadza wykorzystałem wbudowany uart. Kiedy wszystko się zgadzało wyłączyłem RS-a i przystosowałem program do attiny13 i... na tym skończyło się prawidłowe działanie programu. Czy ktoś wie czy w BASCOM-ie trzeba dodać...
a umiesz może programowac w bascomie, bo ja już około 10 godzin przeznaczyłem jak nie więcej na próbę odczytu temperatury z proteusa (ale wpierw kod trzeba w bascomie zrobić) no i nie działa. Już mnie ch_ujnia strzela. Mój program wygląda tak (ale był 100 razy zmieniany i żadna wersja nie działała): Do Spiinit 'Inicjalizacja SPI oraz portów Set P3.1...
dzięki za pomoc. deadline projektu jest zbyt bliski, żebym był w stanie nauczyć się C i napisać w nim 3000 linii. bod włączone i dzięki temu np szybkie wyjęcie i włożenie wtyczki do kontaktu nie zawiesza procka tylko resetuje. wd włączone na 2048ms i działa. co dziwne, po resecie w rejestrze mcucsr (rejestr przyczyny resetu) niema śladu po resecie WD....
Dzień dobry! Mam program do obsługi DHT22. Działa wyśmienicie. Jak dodać obsługę ujemnych temperatur? Na początku miałem obsługę DHT22 z TIMER0 pora przyszła na odchudzenie programu. If Temperaturew.15 = 0 Then 'Ciepło + temperatury Tempstr = Str(temperaturew) Locate 2 , 3 Lcd " " ; Format(tempstr , "0.0") Locate...
Witam. Już rozumiem , działam tak jak podpowiedziałeś. Ale mam jeszcze pytanie. Kiedyś za czasów delphi 5 miałem taką rozpiske gdzie był opisane podstawowe komponenty wraz z opisem ich właściwości i akcji. Np komponent xyz właściwości np 'visible ' ustawienie true sprawi że komponent xyz będzie widoczny a false sprawi że będzie nie widoczny itd. Miałem...
Jeśli chodzi o opcję Byte End - ja ustawiałem na 7Fh. A że to adres początku stosu , to dziś się dowiedziałem jak przeczytałem post wyżej. Tylko jak to jest że u mnie z tymi ustawieniami (7F) działało bez problemu wiele programów? Nie napisałem że początek stosu, bo akurat tego nie czytałem w pdf od '51 - na dzień dzisiejszy najbardziej w AVRasm siedzę,...
Witam. Jestem początkujący w programowaniu więc proszę o wyrozumiałość. Potrzebuje program sterowania klapą (otwieranie i zamykanie dwie krańcówki góra dół i silnik lewo prawo). Chce aby jazda w gore lub w dol odbywała się w momencie zmiany stanu pewnej zmiennej zewnętrznej konkretnie zboczem rosnącym. Wyczytałem, że w Bascomie można zrealizować t przerwaniem...
Użyj timera do generowania przerwań, i co przerwanie będziesz inkrementować zmienne np R, G, B, i jak osiągną zadaną wartość ustawisz stan wysoki na odpowiednich pinach. gdy zmienne osiągną np 255 to je zerujesz. To się dzieje w przerwaniu. a w funkcji głównej masz pętle nieskończoną w której to mogą się zmieniać wartości R, G, B i tym samym tworzyć...
Witam. Jestem obecnie na etapie budowy stacji pogodowej. Po pokonaniu problemów ze stacją bazową, nadszedł czas na budowę czujnika zewnętrznego. Będzie się on składał z mikrokontrolera AtMega88PA, czujnika SHT11, nadajnika RTFQ2 i czujnika mierzącego prędkość wiatru (kontaktron lub dioda + fototranzystor, jeszcze nie zdecydowałem). Czujnik będzie zasilany...
Witam ! Mam pytanie do Bascom-owców czy w symulatorze programu zamiast terminala można faktycznie użyć łącza COM ? Chodzi mi o to że w programie jest np instrukcja <Input #1, A > w czasie symulacji czeka aż mu coś klepnę w okienku symulatora i nacisnę ENTER a chciałbym aby pociągnął sobie zmienną bezpośrednio z COM1. Niby jes funkcja "check to...
Case`ów nie dotykaj. Napisz wszystkie a program określi które wyświetlić a które pominąc ;) Zapis tylko jednej zmiennej do Eeprom. Za to po przepisaniu z eeprom do SRAM możesz sprawdzać każdy bit z osobna. Na dodatek numer bitu może być zmienną czyli jeśli zmienna ma 16 bitów to drugą zmienną możesz określić o który bit Ci chodzi. Jeśli zmienna Menu...
W tym drugim (niedziałającym) programie nie ma flagi. przekazuję tylko dane w 2 zmiennych. no i masz co masz - przez akurat takie przekazywanie, przecież efekt sam widzisz Nawiasem to tam w Twoim przykładzie powinno być bit zamiast byte. Może być Bit ale nie musi - ja zawsze stosuję Byte bo czasem u mnie flaga może przybrać inne wartości niż 0 albo...
Zgadzam się z kolegą. Używanie polecenia wait to tak jakbyś strzelał z działa przeciwpancernego do muchy... Przykładowe skonfigurowanie licznika 16-bitowego w BASCOM tak żeby zliczał do 1s przy częstotliwości taktowania 16MHz: ( wszystkie ustawienia konfiguracyjne oraz deklaracja zmiennych ) Config Timer1 = Timer , Prescale = 256 ' konfiguracja licznika...
Witam. Mam następujący problem z zewnętrznym ramem. Mianowicie podłączyłem dokładnie tak samo jak zwykle podpinam do atmegi128 - zatrzask 74HC573 i do niego ram. Niestety jest problem. Piszę w bascomie - jak na razie. Ustawiłem w compiler xram na 64kb i zadeklarowałem zmienną jako xram byte ale niestety zmienna zawiera cały czas stałą wartość pomimo...
W tej chwili w pokoju mam 22,5 st. i wskakuje 22,6 i spada 22,5 i znowu 22,6. Nie jest tak cały czas. Jest tak "randomowo". Nie mam pojęcia od czego to zależy. Dodano po 13 Dzięki Niveasoft. Kurcze ustawiałem zmienną HIST jako integer, ale wydawało mi się że jest źle. Teraz ustawiłem z powrotem i jest ok. Jak temperatura spadnie nawet o 0.1 st. i wzrośnie...
Tzn. program może przejść do następnej linii w trakcie rozświetlania tylko nie wolno mu zmieniać nr diody w tym czasie. Od tego włąśnie jest zmienna "Go", która przyjmuje wartość zero jeśli dioda już jest w pełni jasna lub ciemna. Ustawienie tej samej zmiennej (czyli podanie jedynki dla "Go") jest sygnałem że aktualny nr diody ma znowu wygaszać (lub...
Witaj :D Według mnie tablica jest niezbedna poniewaz to w niej sa zapisane wlasciwe znaki , i wydaje mi sie ze nauczuciel sie myli bo samo polecenie getatkeyb() zwrocilo by numer wcisnietego klawisza a nie konkretna literke , liczbe czy znak . Przykladem moze byc fragment polskiego helpa do bascom-a w ktorym jest opisane dzialanie tego polecenia Funkcja...
ja bym to zrobił inaczej, bo Twoje rozwiązanie według mnie nie zadziała. Według mnie najpierw wszystkie porty ustawisz jako wyjścia a zaraz potem jako wejścia. Ja bym to zrobił tak, utworzył dodatkową zmienną <code> dim kierunek_portu as bit do if pinc.1 = 0 then toggle kierunek_portu endif if kierunek portu = 1 then config porb = output else...
Jaka jest najmniejsza i największa temperatura jaką mierzy ten czujnik oraz jaka jest najmniejsza i największa temperatura jaką chcesz zmierzyć? Pokarz schemat jak masz wpięty ten czujnik. Jaki schemat? Toż to 2 kabelki, jeden do uc drugi do GND przez 100nf. Zakres jaki chcę uzyskać to 10°C-120°C. temp = 60 + (600 - wartosc)/10 To działa ale...
Ale po co kolega chce koniecznie wysyłać te 2 bajty? Domyślnie ADC działa z 10 bitową precyzją i taki jest też rezultat (zatem 2 bajty ... 2 8bitowe rejestry ADCH i ADCL). Normalnie 2 najstarsze bity są w ADCH, a reszta w ADCL. Jeśli ustawimy ADLAR to wynik jest przesunięty w lewo, zatem 8 najstarszych bitów jest w ADCH i tu w tym konkretnym programie...
Wykonałem powyższy projekt jednak mam problem, nie dostałem niestety AT90s2313, użyłem zamiennie Attiny2313(oczywiście ustawiłem FuseBity) jednak układ nie zapamiętuje komend z pilota. Po kompilacji oryginalnego pliku .bas od autora pojawiło się kilka błędów, głównie dotyczącej zmiennej ADD, z tego co udało mi się ustalić że ta nazwa jest zarezerwowana...
Zrobił bym jeszcze inaczej, jeśli czas nie jest potrzebny co do milisekundy. Ustawił bym: Config Debounce = 25 masz 4 Debounce ,czyli opóźnienie 100ms. Zadeklarował bym 2 zmienne: 1 pomocnicza do włączenia naliczania po Pr4 i druga do naliczania 5 min. Po naliczaniu do X=5 min skoczył bym do drugiej części Pr4. Oczywiście wartość X dobrał bym eksperymentalnie...
Chodzi o to, że masz dużo skoków do podprogramów z których nie powracasz i w dodatku w nich masz kolejny skok gdzi indziej itd. Każdy skok wykorzystuje stos do zapamiętywania stanu rejestrów. Stos to obszar pamieci deklarowana w ustawieniach lub za pomocą dyrektyw kompilatora. Nawet stawienie bardzo dużych wartości nie pomoże gdy program nie jest napisany...
Pomimo ustawienia stosów prosto z programu - wcześniej ustawiłem nawet większe, bazując na ilości procedur i zmiennych lokalnych - niestety błąd dalej się powtarza. Tak jakby w którejś z bibliotek lub w zasobach kompilatora nie było wymaganej procedury _LCD_CONTROL . Próby zmian trybu graficznego w poleceniu Config Graphlcd , jak też zmiana biblioteki...
Nie porównuj programu z BASCOM 8051 do programu z BASCOM AVR bo to dwa różne kody wynikowe. W układach AVR wszystko odbywa się szybciej. Mniej taktów zegara przypada na wykonanie jednej instrukcji. Poza tym tam nie musisz na nowo uruchamiać licznika - działa on stale od momentu gdy ustawisz preskaler. Uproszczenie procedury przerwania w sposób przez...
ustawiłem I2CDelay = 10 czyli 100 KHz dałem też więcej ms w podprogramie zapisu Mógłbyś sprawdzić, czy zmienne są właściwego typu ? Wszędzie w przykładach zapisywana zmienna jest typu Byte , a ja używam Integer , Byte nie przepuści powyżej 255 ( czyli u mnie temp 25,5 ). Jak robiłem dzielenie przed zapisem i łączenie przy odczycie to wyniki były inne...
http://obrazki.elektroda.pl/8074733100_1... Witam, Ostatnio wpadła mi w ręce karta VGA sterowana poprzez złącze szeregowe SPI. A a ponieważ w domu poniewiera się kilka starych monitorów VGA to postanowiłem zbudować zegar wyświetlający czas i datę na monitorze VGA (bez udziału PC) Takiego zegarka na elektrodzie chyba jeszcze nie było....
Dzięki za odpowiedź. Wzorowałem się na Start_menu - myślałem, że If Menu_ustaw = 0 And Start_menu = 1 Then Incr Start_menu End If If Menu_ustaw = 0 And Start_menu = 5 Then Start_menu = 1 End If to załatwi problem. Wolałbym zostać przy Case , wtedy mam możliwość zmiany dowolnie wybranych wartości. Czy przy każdym podprogramie dla każdej wartości powinienem...
Dziękuję za zainteresowanie i już spieszę z odpowiedzią: oloam, zastrzel, uduś, powieś, podłóż na tory , nie wiem czemu to działa, ale to dla mnie było oczywiste dopóki słusznie nie namieszałeś mi w głowie :). Najpierw w kodzie pobierana jest wartość z PCF i chodzi zegar na nim oparty, same warunki wykonywania poleceń są na końcu. Rozumiem co chcesz...
Nie wiem o co chodzi- czy mu się zasoby skończyły...? Pamiętaj o tym, że istnieją dyrektywy $hwstack, $swstack, $framesize. W poprzednich wersjach źle był domyślnie ustawiony $swstack.
zmiana zmiennej bascom bascom zerowanie zmiennej bascom wyświetlanie zmiennej
napięcie świetlówki laptopa citroen xsara centralny zamek hulajnoga xiaomi przycisk
echosonda lowrance polecane odkurzacze
Iveco Daily 2005 - Wycieraczki działają tylko na maksymalnych obrotach Setting Timezone on Windows, Linux, Android, iOS