Co rozumiesz pod pojeciem zmienna ? Jezeli chodzi Ci o komorke pamieci RAM to jest banal: mov zmienna,A Wczesniej oczywiscie musisz zadeklarowac zmienna np. zmienna equ 50h Od tej pory gdy kompilator napotka slowo zmienna to bedzie wiedzial ze to znaczy 50h. Instrukcja mov przepisze zawartosc akumulatora do komorki o adresie 50h. Jesli chcesz to od...
Ale ja się domyśliłem że jest zewnętrzny i dlatego dałem odczyt za pomocą procedur (które jak się domyśliłem już miałeś). No to teraz tak: On INT0 Int0_handler Config INT0 = Falling Enable INT0 Int0_handler: Gosub Get_ADC_16 ADC_Offset = Napiecie Rerurn Get_ADC_16_2: Disable INT0 'Żeby wciskanie przycisku nie przerwało normalnego pomiaru. Gosub...
1Hz to raz na sekundę. 8MHz to osiem milionów razy na sekundę. Sekunda jest tu kluczowa. W ciągu sekundy procesor taktowany 8MHz przetworzy około 8mln instrukcji (pomijam te które wymagają dwóch taktow) no a jak podłączysz do procesora taktowanie 16MHz to odwali dwa razy tyle roboty w ciągu sekundy . Zerknąłem na twoje kody i mam kilka rad. W Bascom...
Witam Buduję sobie zasilacz regulowany na moje potrzeby do zabawy elektroniką. Wymyśliłem sobie, że nastawę napięcia wyjściowego zrobię za pomocą enkodera. Na wyświetlaczu mam pokazane napięcie początkowe np.: 0,000V Czyli w kodzie będzie to zmienna String Teraz chcę każdą z tych cyfr z osobna zmienić, tzn ich wartość od 0 do 9. Chodzi mi o ustawianie...
Zaczyna mieć jakiś sens. Wyrzuć ten waitms200 z przerwania. LCD wstaw do głównej pętli. Wyrzuć LCDbus- przecież definiujesz piny do LCD. Time1 as word- przecież timer1 jest 16-bitowy- zmienna nie będzie dłuższa.
Witam. Od kilku dni próbuje napisać prosty,jak mi się wydawało kilka dni temu ,programik. Chodzi o to żeby zmieniać stan portu w odstępach czasowych z możliwością ich regulacji. Proszę o jakąś ,na razie drobną podpowiedż .
Nie zmienia, bo masz błąd w innym miejscu. Dokładnie to miałem na myśli-że błąd jest gdzieś indziej. Zastanów się, co oznacza nazwa trybu CTC (?) – w ang. jest to ‘Clear Timer on Compare’ (pol. - wyzeruj zawartość licznika/timera, gdy jego zawartość jest równa wyznaczonej z góry i ustalonej, bądź to wyliczonej jakiejś wartości w zmiennej...
Spróbuj może tak: Dim Zmienna As Byte Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111111 Portd = &B1110111 'właczony T2 Zmienna = 121 Writeeeprom Zmienna, 3 Do Readeeprom Zmienna , 3 'odczytaj liczbę 1 z eepromu i wyświetl ją na ekranie Portb = Zmienna Loop End Jak to nie zadziała, to masz coś nie tak EEPROM - zmień egzemplarz mikrokontrolera....
..a na marginesie zapytam od kiedy rodzina Attiny ma zaimplementowane mnożenie? A gdzie masz mnożenie ? . Tworząc jedna zmienna przy każdym wyświetleniu jej na LCD robisz konwersję której nawet nie widzisz ale ją robisz . Czym się róźni 6 zmiennych w ram od ramu który nie jest używany dla nas niczym chyba że go nie ma fizycznie ale zawsze można to...
Witam kolegów mam taki problem: mimo różnych prób nie mogę ustawić na portd.0 stanu 1. Oto kod: Konfiguracja portów: [syntax=basic4gl]Config Pinb.1 = Output Config Pinb.2 = Output Config Pind.0 = Output Config Pind.1 = Output Config Pind.2 = Input Portb.1 = 0 Portb.2 = 0 Portd.1 = 0 Portd.0 = 1[/syntax] Obsługa portu: [syntax=basic4gl]If Grzalka = 1...
Jeżeli całe C tak działą jak ta komenda printf to bascom jest ze trzy razy lepszy. I jeszcze jedno - wszyscy co używają C chwalą się że to jest lepsze od bascoma bo szybsze ale w takim razie ja się pytam jak kod który jest dłuższy może działać szybciej? Chyba się tak nie da zrobić. Proponuję sprawdzić bo może jest też funkcja typu printbin a jeżeli...
Właśnie chcę to dokładnie zrozumieć by nawet bez kalkulatora móc to wyliczyć :) choć on bardzo ułatwia i nie trzeba za bardzo wysilać szarych komórek :) Kalkulatory jak najbardziej się przydadzą i za nie wielkie BÓG ZAPŁAĆ :) Z pierwszego kalkulatora zauważyłem, że Timer0 i Timer2 są 8 bitowe natomiast Timer1 i Timer3 16 bitowe Attiny13 ma tylko jeden...
Hmm...Bascom działa lepiej kiedy się wie co się robi :D Wiesz co robi instrukcja Config Clock = Soft ? Konfiguruje Timer który w mikrokontrolerze jest przygotowany do pracy asynchronicznej. Dodatkowo potrzebny jest rezonator kwarcowy 32768 Hz dołączany do pinów mikrokontrolera oznaczonych TOSC1 i TOSC2 Nie będę opisywał wszystkich przypadków, ale dla...
Hejka Podświetlanie już działa na zadany czas ;-) faktycznie znalazłem błąd w kodzie. Jednak teraz gdy załącze podświetlanie i program ma się wykonywać przez dany czas, to nie działa mi pomiar temp z DS18B20. Jak usunę pomiar, to program działa normalnie, wykonuje wszystkie podprogramy. Doszedłem do tego, że przerwanie powoduje, że komenda 1Wreset nie...
Witam po przerwie! Wasze rady znacznie uprościły algorytm za co szczerze dziękuję. Liczę na Waszą pomoc i w tym problemie. Otóż idąc za ciosem chcę w określonym co najważniejsze RÓŻNYM przedziale czasu korzystać ze zmiany jasności LEDa w tym okresie czasu i robić zmierzch korzystając z PWM. Problem w tym, że nie chcę zakłócać pracy programu głównego...
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...
Witam Procesor przechodzi w stan Powerdown po ustalonym czasie kiedy zmienna L=1. Ustawiłem wybudzanie z przycisku (podanie 0 na int0) no i nie działa . Przepatrzyłem już chyba wszystkie tematy na forum i robiłem z milion kombinacji. Już nie mam pojęcia co robić czy to może być wina BASCOM, procesora , prosilbym o konkretne wskazówki jak ustawić aby...
witam ponownie mam do was prosbe mam do napisania Zegarek w bascomie 8051 ni mam tu moj programik moze rzucilby ktos okiem czy nie ma bledow :wink: Dim Sekundy As Byte 'deklaracja zmiennej SSEKUNDY jako liczby z zakresu 0...255 Dim Minuty As Byte 'deklaracja zmiennej MINUTY jako liczby z zakresu 0...255 Dim Godziny As Byte 'deklaracja zmiennej GODZINY...
Nie używam i nie znam BASCOMA. Próbuje swoich sił w Arduino IDE (ATMega328(at)16MHz). Po pomocy ze strony przyjaznych niewiedzącym: BlueDraco , nsvinc , tmf mogę stwierdzić że: Ten uC ma na pewno możliwości, aby obsłużyć te przerwania (zakładam ok. 33kHz). Problem nie polega na wywołaniu zaprogramowanego przez Ciebie przerwania (ale to już zauważyłeś),...
Niestety kod "by Atom" nie działa. No ale przy mojej znajomości programowania to pewnie nawet nie potrafiłem go dobrze wkleić. Ale ponieważ dzisiaj mam od wielu miesięcy pierwszą wolną sobotę to mogłem przy tym posiedzieć. I co znalazłem? Oczywiście moją bezdenną głupotę. Przecież zmienna "paczka" nie musi być rozmiaru 8 bitów. Ona tylko liczy przerwania....
Witam po długiej przerwie. Informacje w wiązce może i są ale rozszyfrowanie transmisji to byłby duży problem. Przez cały ten czas udało mi się napisać prawie cały program do kompa, ale Bascom jest strasznie pamięcio-żerny no i jakoś nie kumam języka basic. Aby z ciągu znaku wciągnąć jedną literkę to się trzeba nakombinować. Więc zmieniłem troszeczkę...
Czy jest możliwość obsłużenia tego w Bascomie? Funkcja GETADC() Przeznaczenie: Pobiera wynik przetwarzania z wbudowanego przetwornika ADC na wybranym kanale. Składnia: zmienna = GETADC( nr_kanału , offset ] ) gdzie: zmienna - zmienna typu Word do której wpisana będzie przetworzona wartość, nr_kanału - numer kanału przetwornika ADC. Zwykle z zakresu...
teraz kolega rakuś widzi że nie tylko ja miałem problemy ze zrozumieniem problemu No moi drodzy - analiza wymaga czytania! Nawet Lenin mawaił: CZYTAĆ! czyli napiszmy to jasno, ukontroler dostaje z PC wektor o jaki musi przesunąć frez, czyli x, y, z, no i jakaś informacja o czasie jaki na to mamy, lub prędkosci freza, bo inaczej to bez sensu. No wreszcie...
Witam. Z definicji liczba instrukcji w obsłudze przerwania powinna być minimalna, by mogło się ono maksymalnie szybko wykonać. Tymczasem w przypadku mojego programu liczba instrukcji w obsłudze przerwania była stosunkowo duża. By wybrnąć z tego problemu zamierzam w przerwaniu ustawić flagę która oznacza, że przerwanie zostało wygenerowane, natomiast...
Wiec trochę to trwało by cokolwiek napisać ( brak programatora działającego z bascom trochę mnie stopował) Zrobiłem juz prosty algorytm tego co potrzeba zrobić i podzieliłem prace na 4 etapy: 1) wejścia adc dla map sensora ( zrobione ;) 2 wejście dla enkodera ( muszę zakupić jakiś impulsator i napisać parę linijek) 3 pomiar czasu pracy każdego z wtryskiwaczy....
Witam Z wycinków kilku programów chciałem zrobić jeden duży barkuje kilku rzeczy i zwiazku z tez pytania W jaki sposób mogę zwiększyć ilość wejść i wyjść żeby zmieścić wszystko ? ( patrz 1 PINY ) brakuje ustawiania podlewania względem kalendarza zielonego pojęcia nie mam jak z pcf mogłbym ustawić godzinę i czas podlewania np 18:00]przez 1 min ? brakuje...
Hmmm według pobieżnego przeglądu not aplikacyjnych wyglada, że to to samo. Przyznaję, że angielskiego nie znam, więc nie mam możliwości wgryzienia się w tekst. Ale z przebiegów i tabel wygląda to samo, czyli jakoby zamiennik. Patrząc na przebiegi to widać, że przy wejściu w cykl to Busy ustawia się w stan niski a po wyjściu ustawia się w stan wysoki....
Pisząc program stanąłem przed problemem odbioru kodu RC5 z pilota ale z użyciem przerwania. O ile w BASCOM 8051 GETRC5 w przerwaniu działa doskonale, to w BASCOM AVR jest to kompletna porażka. Wadą Bascomowej funkcji GETRC5 jest: 1) Dziadowskie działanie w przerwaniu (niby działa ale traci pierwszy pakiet z pilota) 2) Zastosowanie jej w programie powoduje...
Zwiększaj tylko jeśli zmienna <255 z zmniejszaj jeśli >0
Wczoraj jakaś pomroczność mnie dopadła :D ..ale spróbujmy dzisiaj. Zobacz czy tak nie zadziała ;) Varptr to skrót od variable pointer Const Zmienna = Varptr(Dane(_base)) i potem LDS R1, {Zmienna}
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...
Po prostu nie możesz korzystać z instrukcji Input tylko z instrukcji np. Inkey i odbierać 128 bajtów o dowolnej zawartości (nawet bajtów zerowych) Po odebraniu 128 bajtów sprawdzić sumę kontrolną, tak jak pisał kolega mirekk36. Jeśli odebrałeś wysłasz ack spowrotem np. z sumą crc ramki Instrukcja Input się nie nadaje do tego celu. Tylko odbieranie za...
Parametr Ack i Nack dotyczy instrukcji I2CRBYTE, nie wykorzystujesz go przy I2CWBYTE. W przypadku wystąpienia błędu, zmienna ERR zwraca 1. W przeciwnym razie będzie ustawiony na 0. [url=http://avrhelp.mcselec.com/index.ht...
Dim Ustawienie As Byte -zmienna Chyba nigdzie nie używana Ustawienie: -etykieta Jakieś to dziwne.
$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ć...
O ile dobrze zrozumiałem idee to cyklicznie negujesz wartość poprzednio wpisną do portu. Nie znam AVR ale może to być taki przypadek jak w 51 , Ustawianie portu polega na wpisaniu wartości do rejestru, ale odczyt następuje z pinów procka. Podciągając lub nie pin rezystorem do +Vcc a sterując zerem, to nawet ustawienie pinu na zero przy odczycie zwróci...
$crystal = 8000000 $regfile = "M8def.dat" Config Pinb.6 = Output Config Pind.4 = Input P Alias Pind.4 'switch-wejście D Alias Pinb.6 'dioda -wyjście 'Dim Mruganie As Bit 'nie wiadomo po co ta zmienna Set Portd.4 'podciąganie wejścia do + zas. Do If P = 0 Then Waitms 500 'D = 1 'a tu jest pułapka-można użyć Config pinx.y=output/input ale nie...
zmienna err to zmienna bascoma ,jeśli ma wartość 0 to transmisja danych była ok ,jeśli = 1 oznacza błąd transmisji
"pwm" to zmienna dopisz dim pwm as word
Dwustart ;) Ja bym zrobil tak... Po wcisnieciu przycisku ustawiasz flage ktora kasujesz po 300ms, wcisniecie drugiego przycisku zadziala tylko wtedy jak flaga bedzie ustawiona. A zeby ponownie ustawic flage przycisk wczesniej wcisniety musi byc zwolniony, znaczy to tyle ze trzymanie przycisku nie moze powodowac ciaglego wlaczania licznika odliczajacego...
Przeznaczenie: Pobiera wynik przetwarzania z wbudowanego układu A/D. Składnia: zmienna = GETADC( nr_kanału [, offset ] ) gdzie: zmiennazmienna do której wpisana będzie przetworzona wartość, (c) Zbigniew Gibek, 2002-2005 (c) MCS Electronics, 1999-2005
Przetestuje to nigdy jeszcze takiego czegos nie robilem Czyli mowisz ze by zrobic zmienna typu string A i dopisac ten kod co podales?
A w czym piszesz program? W bascomie masz zmienna = 1WSEARCHFIRST( ) dla pierwszego układu, a następne zmienna = 1WSEARCHNEXT( ) dla kolejnych, w wyniku otrzymujesz ich 8 bajtowe numery. Wtedy już wiadomo który jest który.
Przeczytałem to co jest wyżej napisane i... nie rozumiem co chcesz zrobić :) Co to znaczy: Potrzeba mi zapamiętać max. 4 liczby które będą następować po sobie dość szybko jednak Atmega potrafi je zdekodować bo jak dobrze się przypatrzę to liczby się zmieniają dobrze, i więc właśnie niech ktoś podpowie, co dopisać by procesor zapamiętał liczby i ustawił...
Tak jak w tłumaczeniu języków nie da się lub nie trzeba/nie powinno trłumaczyć dosłownie tak i programowaniu dosłone tłumaczenie najczęściej nie jest optymalne. Dlatego proponuję [syntax=c] //$regfile = "m32def.dat" ' procesor //$crystal = 8000000 'kwarc //powyższe ustawić w IDE uint8_t I; //Dim I As Byte ' zmienna I DDRA = 0xFF;//Config Porta = Output...
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
witam chciałem napisać program (istotny kod) Dim O As "?" ... Wait O który jak widać w zależności od parametru O zatrzymywał by działanie programu na określony czas. Wydaje się być dosyć oczywiste, niestety zadeklarowanie jakiegokolwiek rodzaju zmiennej za wyjątkiem Byte sprawia, że program się nie zatrzymuje. Co zrobić żeby ustawić czas np 300s ? Różnego...
Ta zmienna "flag" jest po to żeby odbiornik był jednorazowo ustawiony w tryb oczekiwania na dane do momentu ich odebrania. Spróbuj wyłączać poszczególne podprogramy żeby sprawdzić co Ci blokuje.
(...) osobnym PinX i oczekuj na stan niski ADCx2 aż do spełnienia tego warunku. Jeśli na ADCx2 napięcia równe 0 mrugnij diodą Led1 jeden raz przez 300ms, wyłącz Przekaźnik1 na PinX Po czym wróć do góry procedury, do oczekiwania na napięcie na ADCx1 To właściwie tyle. Dziękuję za uwagę i wszelaką pomoc. Witam serdecznie na forum! Chętnie pomogę Ci przygotować...
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...
wcześniej nie wpadłem na to aby w przerwaniu ustawić flagę, więc dzisiaj to wypróbuję . Tylko jeszcze mnie dziwi, bo nawet jeśli procedura wykonuje sie dłużej niż tutaj ustawione w przerwaniu 100ms, to dlaczego zawsze jet błędnie wyświetlana zmienna "BIEG", pomimo tego ze do procedury przekazywana jest jako pierwsza, i w procedurze również wyświetlana...
zmienna bascom bascom zmienna bascom zakres zmienna
czujnik grzałki pralka wskazać reflektometr tulei wachacza
monitor samsung monitor samsung
Fartuch pralki Mastercook PFD-73P a PFD-73 - kompatybilność Awenta CVU 400 - Problemy z uruchomieniem wentylatora