http://www.elektroda.pl/rtvforum/topic14...
Zobacz http://wiki.mcselec.com/bavr/CONFIG_SING...
Ja zrobilem tak: licz = 789 Setki = Licz / 100 Temp = Licz Mod 100 Dziesiatki = Temp / 10 Jednosci = Temp Mod 10 Reset Wysw3 Liczba = Lookup(jednosci , Znaki) Waitms 3 Set Wysw3 Reset Wysw2 Liczba = Lookup(dziesiatki , Znaki) Waitms 3 Set Wysw2 Reset Wysw1 Liczba = Lookup(setki , Znaki) Waitms 3 Set Wysw1 i dziala bez problemu
Myślałem o czymś takim :) Dim Ax(7) As Byte , X As Byte , Pozycja As Byte Dim Suma As Long Config Debounce = 100 ' lub ... jak kto woli ;) Poz Alias P3.7 Zmien Alias P3.5 Star Alias P3.1 Pozycja = 1 Cls Do Locate 1 , 1 Lcd "wprowadz liczbe" ; Pozycja Locate 2 , 1 For X = 1 To 7 Lcd Ax(x); Next X Debounce Poz , 0 , Incrpozycja...
Read Zmienna Portc.0 = Zmienna.0 Portc.1 = Zmienna.1 Portb.0 = Zmienna.2 Portb.7 = Zmienna.3 ...
Jeden problem rozwiązany Jak zrobić zmienny waitms... Zerknąć do Help-a i tam przeczytać , że argumentem funkcji Waitms jest Byte , czyli maksymalna wartość to 255. Jeśli dokładność odmierzanego czasu może być PI * OKO , to skorzystać z dobrodziejstwa , jakim jest Subroutine(Arg) lub Gosub To Label .Jeśli chcemy osiągnąć w miarę dużą dokładność , to...
Dokładnie, poza tym to wcale nie musi być zmienna w EEPROM, SRAM przecież przez WD nie jest ruszany. Więc o ile Bascom ma coś takiego jak nieinicjalizowane segementy pamięci to zmienną można trzymać w SRAM i inkrementować po odczytaniu statusu z MCUCSR.
Jest to kod z Pana Wiązani być może nieudolnie przerobiony. Oryginał ma tak: Dim licz_8ms As Byte Incr Licz_8ms If Licz_8ms = 125 Then ............. I to działa, czyli ja nie mogę używać liczby stałoprzecinkowej . No dokładnie. To działa tylko dla Byte (i podobnych). Chociaż typ danych Single mówi, iz może przyjmować wartości stało i zmiennoprzcinkowe....
Zamiast wysyłać przez RS232 binarnie - co często przy przesyłaniu większych porcji danych przez początkujących będzie się kończyło samymi problemami - to nie łatwiej ci zamieniać przesyłane liczby na stringi a po odebraniu ze stringów na liczby. Dzięki temu twoja ramka będzie mogła być po ludzku zakończona znakiem ENTER a co za tym idzie wszystko co...
Po prostu zrób zmienną np: liczba=&B101101100----- twoja liczba zmienna9=liczba.0------- najmłodszy bit tej liczby zmienna8=liczba.1------- i tak dalej
Witam "integer" nie jest zmienną tekstową. Integer przyjmuje watrtość liczby całkowitej w zakresie od- 32768 do +32767 Integer nie zapisuje ułamków.
To w takim razie teraz cytat z helpa Bascom'a: Rozdział: Podstawy języka BASCOM BASIC Eksponent jest zapisany jako liczba 8 bitowa ze znakiem w kodzie U2. Jeśli najbardziej znaczący bit jest ustawiony (eksponent > 128) to eksponent jest traktowany jako ujemny. Bit znaku określa znak liczby przechowywanej w zmiennej. Wartość 0 oznacza liczbę dodatnią,...
Widzę, że moderatorzy posprzątali zwyczajowy hejt na Bascoma :D Niestety przy okazji usunięto też ważną informację. Rzeczywiście potrzebujesz instrukcji VAL https://wiki.mcselec.com/bavr/VAL do zamiany reprezentacji tekstowej liczby na wartość liczbową. W drugą stronę, jeśli chcesz wysłać zmienną WORD do komputera możesz zrobić to wprost. Bascom sam...
MUSISZ zmienić na: [syntax=vbnet]Dim R As Byte Dim G As Byte Dim B As Byte[/syntax] Przepraszam bardzo, praktycznie już zapomniałem języka Bascom :(. Lecz jeśli tylko będę mógł udzielić pomocy, postaram się to zrobić.
Nie ma maksymalnej liczby tylko możliwości piszącego program . Jeżeli to są początki przygody z Bascom'em to pozostań przy jednej pętli Do..Loop . A jeżeli nie kompiluje to zaremuj wszystko co w pętli i dopiero krok po kroku dodawaj nowe linie kodu tworzące logiczną całość , cały czas kompilując ( sprawdzając poprawność kodu ) . Nigdy nie pisz programu...
Error 10:Wrong type(bit,byte,integer,word,or string) Linia przy której Bascom protestuje , ma za zadanie zmienić znak zmiennej T2 , na przeciwny.To co przechodzi w BascomAVR , nie działa na Bascom8051-fakt.Każdy , kto chce pisać jakiekolwiek programy na uP czy uC , nie może być z algebrą na bakier :D 2 przykłady: If T2 < 0 Then T2 = T2 * -1 lub...
Zapis koloru w postaci HEXa, to po prostu konwersja liczby z systemu dziesiętnego na szesnastkowy. Np. kolor jasny zielony: rgb(173,255,47) == #ADFF2F
Kłania się po prostu - najprostsza matematyka ;) masz np liczbę 123 i chcesz wyodrębnić poszczególne cyfry żeby je po kolei wrzucić na wyświetlacz LED 1. dzielisz liczbę 123 przez 100 - resztę z dzielenia odrzucasz i pozostanie ci cyfra odpowiedzialna za setki czyli 1 - prawda ? ;) 2. odejmujesz od liczby 123 liczbę 100 - bo wyżej już wykonywałeś dzielenie...
a po co masz incr i decr enkoder? bascom jak juz to sam zwieksza i zmniejsza te liczby jak krecisz enkoderem http://avrhelp.mcselec.com/index.html?en... zajrzyj moze pomoze
W sumie można, lecz autor chciał mieć format byte, domyślam się że potrzebne to mu było do wyświetlania liczby na wyświetlaczach siedmiosegmentowych. Jeżeli tak, to Ciekawy jestem czy autor korzysta z lini Data i instrukcji lookup(), czy może z select case?
Kolego mikroprocesor jest na tyle szybki że jak ty naciśniesz przycisk to on zdąży kilka razy zwiększyć zmienną A. Spróbuj w pętli ustawień wstawić jakieś opóźnienie np. 1 sekundę. Zobacz jak się zmieni działanie programu. Nie masz tez ograniczonej zmiennej A. Trzymając przycisk możesz sobie zmieną A zwiększyć lub zmiejszac że może przyjąć wartości...
Witam Potrzebuję zaokrąglić liczbę zmiennoprzecinkową do liczby całkowitej (do późniejszego wyświetlenia na wietlaczu LED (rozbijanie liczby na pojedyncze cyfry działa poprawnie). Do tego celu wykorzystałem funkcję Round. Zgodnie z instrukcją Bascoma należy zrobić to tak: [syntax=vbnet] dim A as Long, B as Long A=Round(B) [/syntax] Rozumiem, że gdyby...
Hej! Zobaczcie jak ja to robię, może komuś sie to przyda: 'Powiedzmy ze zmienna Liczba(single) wynosi 22.62555426 Temp = Int(liczba) ' dzieki temu poleceniu odcinam czesc setna czyli ' zmiennej Temp(byte) przypisuje liczbę 22 Liczba = Frac(liczba) ' dzieki temu poleceniu odcinam czesc ' dziesiętną czyli zmiennej Liczba(single) przypisuje ' liczbe 0.62555426...
Myślę, że jest to naturalne. Zmienna typu Long zajmuje 4 bajty a Integer tylko 2. Nie da się ciężarówki zaparkować w garażu dla malucha. W helpie jest informacja, że można dokonywać konwersji typów. Oto fragment: Dim I As Integer, S As Single S = 100.1 'przypisujemy liczbę zmiennoprzecinkową I = S 'ta instrukcja zmieni liczbę typu single na Integer...
CRC8 liczy CRC z określonej liczby bajtów danych. Checksum liczy sumę kontrolną ze stringa. Czyli nie dość że działa na innych parametrach, to jeszcze to nie to samo (CRC <> suma kontrolna). Ja bym zrobił tak: W nadajniku liczysz CRC. W odbiorniku też liczysz CRC i sprawdzasz czy zgadza się z tym któro było policzone w nadajniku. Tyle. Licz co...
BASCOM może mieć problemy z odjęciem od liczby 65536 zmiennej Word lub Integer. To po pierwsze. Więc zastosuj zmienne typu Long. W dodatku stosując offset (wartość odniesienia) nawet zoptymalizowanie programu nie pozwoli zastosować zmiennych dwubajtowych, bo niektóre wyniki będą miały wartości większe od 65535 (lub inaczej: dodatnie wartości mogą wyskoczyć...
Więc tak potrzebuje wyświetlić liczbę w formacie x.x. I nie wiem jak to zrobić próbowałem tak iż daną liczbę mnożyłem razy dziesięć zaokrąglałem do liczby całkowitej funkcją round a następnie robiłem dzieliłem na dziesięć ale na wyświetlaczu lcd i tak pojawiało mi się kupę liczb po przecinku w formacie x.x00000001 lub podobne x.x999999991. Jak to zrobić...
. Zamierzam zrobić tak by mogli wprowadzić korektę (jeśli będzie potrzebna) i zapisać w eeprom. czy to dobry pomysł? Jakoś tak; $Crystal=12000000 Config Timer1 = Timer , Prescale = 8 On Timer1 Inter_1mS Inter_1mS: Counter1 = Counter1 + Licznik (64036 - wychodzi z obliczeń, że da to 1ms) /tu odliczę sobie 103/ Błednie to rozumujesz, albo błednie podałeś...
mówiąc o postaci HEX miałem na myśli 2 liczby w zapisie szesnastkowym, np: E1 99, które znajdziesz w prawie każdym programie zapisującym fusebity (w MkAvrCalculatorze są to 2 pola na górze z tymi liczbami zapisanymi fioletową czcionką). Co do CKOPT, odznacz go. Przydaje się on zaznaczony przy większych kwarcach (16MHz i więcej), tutaj lepiej, żeby był...
[syntax=basic4gl] $regfile = "m644pdef.dat" $crystal = 16000000 $baud = 9600 $hwstack = 64 $swstack = 64 $framesize = 64 'konfiguracja pinow wyswietlacza LCD; inicjalizacja wyswietlacza Config Lcd = 20 * 4 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Cursor Off Noblink Cls Dim Wart_adc...
No dobra , będzie łopatologicznie. Na zdjęciu , które sam wkleiłeś powyżej , są 4 rzędy "okienek" , które można zaznaczyć(pojwi się taki ptaszek) lub odznaczyć(puste okienko). Ciebie interesują 2 środkowe rzędy czyli fuse bits.I teraz legenda: *-okienko zaznaczone O-okienko nie zaznaczone Po prawej stronie każdego rzędu, znajduje się liczba w formacie...
Pierwsza sprawa - po Bascomie nie masz się co spodziewać optymalnego programu, to raczej język do zrobienia czegoś na szybko i bez większej znajomości programowania. Niestety, do poważniejszych zadań nadaje się w zasadzie tylko C. Druga sprawa - pewnie jest tak - w C, kiedy tylko zadeklarujesz zmienną, kompilator i tak ją usunie, jeśli jej nie używasz....
Witam Jeśli dobrze rozumiem zdanie: "na zmienienie wartości string odczytanej z eeprom na zwykły tekst" masz na myśli zamianę liczby (zapisanej w kodzie ASCII ?) na jej odpowiednik znakowy. Program, który wykorzystałeś bazuje na kodach ASCII znaków, (komentarz przed tabelą znaków Fontlookop), dlatego też po mojemu niepotrzebnie stosujesz zapis: Czytaj_str...
Witam! Zgadza się, funkcja Rnd() powoduje generowanie liczb pseudolosowych według pewnego określonego algorytmu. Aby uzyskać liczby "bardziej" losowe, oraz inną sekwencję liczb po każdym restarcie układu można zmienić podstawę generatora funkcji pseudolosowej. Dim ___rseed As Word ___rseed = Wartosc Jako Wartosc można podstawić wyjście przetwornika...
Witam, Mam zapytanie, Mam klawiaturę 6 przycisków połączonych do jednego wejśća analogowego A.0 Pytanie brzmi, jak W Bascom napisać program żeby wiedział który przycisk naciśąlem Takie klawiatury zbudowane są zazwyczaj z pewnej liczby oporników, przyciskanie klawiszy powoduje jakieś zmiany ich wypadkowej rezystancji. Musisz zbudować dzielnik składający...
Dzisiaj akurat potrzebowałem rejestru HC595 do rozszerzenia liczby wyjść użytecznych. Poniżej fragment kodu w bascomie. Przypisane nazwy odpowiadają katalogowym. Zmienną Portx traktujemy jak zwykły 8 bitowy port wyjściowy. Kod z pod etykiety 'obsługa rejestru' wstawiamy w pętli głównej programu, aby rejestr był na bieżąco odświeżany. [syntax=basic4gl]...
'do liczby 1536 trzeba by jeszcze coś dolożyć, na wykonanie instrukcji Zasadniczo nie trzeba nic dokładać, bo wartość timera jest inkrementowana sprzętowo od razu (w kolejnym cyklu maszynowym). Czyli już w trakcie obsługi przerwania. Jeżeli obsługa timera zmieści się w 255 cyklach maszynowych, to zmieniany jest tylko młodszy bajt timera - czyli w procedurze...
To nie Bascom jest przyczyną tylko źle napisany program ;). 1. odczyt timera1 16bit odbywa się po przez rejestr pomocniczy TEMP, ten rejestr jest też używany przez inne procedury i funkcje i jeśli jest użyty to właśnie niszczona jest wartość High timer1 bo ona tam jest wpisana gdy używasz komendy. wpisując tak timer1 do tablicy możesz gubić High timer1....
Jak gorzej z programem, skoro Bo chyba nie mówisz o kodzie do PWMa? Tosz to 1 linijka kodu Mamy cię nie namawiać na PLL, sprzężenia zwrotne i głowice sterowane cyfrowo - ok, ale dalej nie rozumiem istoty problemu. Potrzebujesz przecież zwykły DAC. Może jeden kanał, może dwa. Czy ten DAC zbudujesz w oparciu o DPWM, czy o dedykowany scalak, z sprzężeniem...
Kwarc wstaw w obu przypadkach nawet 16MHz. Baudrate jest zależna w zasadzie od jego dzielnika niż od kwarcu. Nie szalej też z dużą szybkością bo błędy mogą wyskoczyć, zacznij od 4800 bps. Połączenie po UART masz zrobić sprzętowo! Timer niech ci obsługuje multiplexing, główna pętla programu sprawdzanie czy w UART coś przyszło i przepisywanie do tablicy....
Nie,ma liczyć litry tak jak dystrybutor . Dodano po 2 Nie wiem w jaki sposób dodawac litry do zmiennej po przekroczeniu okreslonej liczby impulsów z przepływomierza to co znalazłem to liczone wszystkie w czasie a tu chyba chodzi o przepełnienie licznika Czas tu nie ma znaczenia! Użyj dowolny timer w charakterze licznika (Counter), i tak jak sugerowano...
Pytana do układu: 1. P1 i P2 podciągnięte do plusa za pomocą rezystorów? Bo w programie nie masz "włączonego" wewnętrznego podciągnięcia? Jeden z twoich problemów to: Po naciśnięciu guzika zmniejszającego wartość spada ale dzieje się to bardzo powoli tak jak by układ się przycinał na czas odczytu temp. nie dziw się ponieważ w funkcji Odczyt_t podczas...
Wydaje mi się, że najpierw powinno być „uruchomione” odliczanie tych 0,1 sek, wyzwalane pierwszym pikiem z „paczki”. Potem trzeba odczekać te 0,1 sekundy na zanik „szumów” i zacząć zliczanie w czasie 0,9 sek. Ilość zliczonych pików podzielona przez czas da mi częstotliwość. Wynik ma się utrzymywać na wyświetlaczu...
NA "setki" "dziesiatki" i "jednosci" NIE WIEM JAK ZROBIC, zeby przy malych predkosciach (ponizej 10km/h) wartosc na wyswietlaczach byla zmieniana co 1 sekunde (4xtimer1) Dim Speed As Byte ' Prędkość Dim Tmp As Byte Dim I As Byte Dim Index As Byte Dim Mmv as Byte *** Rozbicie na 3 cyfry *** Dim Cyfry(3) As Byte Speed = 147 ' W Polsce to zakazane...
http://obrazki.elektroda.pl/8267947700_1... Ponad 20 lat temu jako amator hobbysta budowałem proste układy elektroniczne. Studia i styczność z informatyką spowodowały, że porzuciłem hobby pod nazwą "składanie elektroniki" na rzecz "składanie programów komputerowych". W bieżącym roku (2011) dzięki uprzejmości kolegi Jacka.M, który okazał...
Dziękuję za zainteresowane. Tak , grafiki będą wyświetlane zawsze w tym samym miejscu, na pełnym ekranie o formacie 240*128. Bitmapy jakie konwertowałem są monochromatyczne 1 bitowe. Rzeczywiście rysuję je ręcznie, piksel po pikselu (masakra) . Jeśli jest możliwość abym nie musiał ich konwertować to by było idealnie gdyż mogę sobie na bieżąco zmieniać...
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...
Witam. Pytanie jak w temacie. Jak wylosowac liczbę z przedziału 0-9 w bascom? Pozdrawiam Soohy_tm
Coś takiego: $regfile = "m8def.dat" $crystal = 8000000 Config Portd.0 = Output Portd = &B11111111 Config Portb.0 = Input Portb = &B00000000 Declare Sub 7 7: Portd = 00011100 Return Do Call 7 Waitms 300 Portd = 00000000 Waitms 300 Loop End Chciałem że by program wyświetlał mi na wyświetlaczu pojedynczym lcd cyfrę 7, odczekał a potem żeby...
Przecież w u32 też się nie zmieści. ps. Zamiast Long możesz użyć Dword ale to i tak za mało na liczbę z Twojego wyliczenia.
W Bascom'ie masz instrukcję VAL. Najpierw deklarujesz zmienne B [byte/word] i S [string*x; x=liczba znaków] a następnie konwertujesz B=val(S) i dalej używasz zmiennej B. W odbieranym stringu muszą być tylko znaki z zakresu 0..9 bez literek ;-) inaczej "krzaki".
Jak zrobic Input w przerwaniach ? mam program dla atmega16 odbierajacy dane w przerwaniach aczkolwiek jest to zrobione w taki sposob ze odczytuje Udr i przypisuje jej wartosc do jakies zmiennej no i nie mam jak "ladnie " wyslac np liczby 53 <przypisywanie rejestru Udr do zmiennej powodoje ze zczytywane sa z klawiatury kody ascii a 53 ma "5">
Jak w bascomie ze miennej typu single wydobyc liczbe po przecinku i wpisac ja do zmiennej byte ?? Przyklad jest liczba single np 12,34 i teraz chce wpisac to co po przecinku (czyli 34) do zmiennej byte Z gory dzieki za pomoc
tak to jest najszybsza metoda wykorzystujaca przesuwanie i dodawanie wartosci 3 .Porownanie czasu tej operacji w asemblerze a sposobow napisanych w basicu pokazuje jakie to sa roznice.Algorytm jest kilka razy szybszy i kilka razy mniejszy.i ta metoda nie jest tylko dla 8-bitowych liczb lecz dla kazdej wielkosci liczby.po prostu zamiast 8 bitow przesuwamy...
mam pytanko : moglbys mnie troszeczke bardziej nakierowac.
Do programowania używam BASCOM AVR i tak jak podałem powyżej zapisałem do EEPROM-u liczbę 320000000 i potem odczytałem bez problemów. Definiując zapis "Long" następuje automatycznie zajęcie odpowiedniej ilości komórek - sprawdzałem są zajęte cztery komórki.
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...
https://obrazki.elektroda.pl/2384864900_... Często się słyszy, że kiedyś czasy były lepsze, że PRL nie był taki zły, a wielkie przedsiębiorstwa w rodzaju Unitry, Elwro, CEMI czy nawet FSO robiły wspaniałe rzeczy, tylko potem ten przebrzydły i zgniły Zachód raczył polski przemysł zniszczyć z zazdrości i w ramach zwalczania dobrego....
Nasza sztuczna inteligencja słusznie zauważyła możliwość przekręcania się zmiennej "Wyswietlacz" ale to nie to... Przyjrzałbym się $swstack = 8 czy nie zwiększyć np na 16. Kolejny trop to przeliczanie tutaj: [syntax=arduino] '************************* 'Rozbijanie Liczby Na Cyfry Cyfra_ok(1) = Liczba_ok / 100 Temp_ok = Liczba_ok Mod 100 Cyfra_ok(2) =...
Co za problem dodać 7? x = rnd(5) + 7 Będzie {7, 8, 9, 10, 11, 12}. Oczywiście jeśli dobrze pamiętam, że losuje od 0 do x. ;)
Czy jest funkcja szukania samych cyfr z buforu rs232? To są odpowiedzi z modułu SIM800. Bazuję na czymś takim: If Pinc.3 = 0 Then Waitms 750 Print "AT+CCLK?" ; Chr(13) ; 'zapytanie o datę i czas Waitms 50 Date_str = Mid(odb_txt , 20 , 8) Time_str = Mid(odb_txt , 29 , 8) End If Ale coś się dzieje i nawet wyświetla litery z odpowiedzi modułu. Da się jakoś...
http://obrazki.elektroda.pl/1661495400_1... Witam. Nie jest to konstrukcja DIY jakie znamy na co dzień, ale uważam że warto się nią podzielić, gdyż może przynieść wiele ciekawych funkcjonalności w domu. Jest to program napisany w BASCOM do obsługi centrali alarmowej INTEGRA. Osobiście testowałem go na Integrze 128 z firmware 1.14 i...
Pulseout jest ewidentnie blokujacy. Procesor zajmuje się wtedy tylko generowaniem podanej liczby impulsów. https://obrazki.elektroda.pl/2830556600_...
próbowałem tylko ze to musi być wtedy typu single bo word nie przyjmuje zmiennoprzecinkowej liczby czyli nie da sie pomnoży razy 10 próbowałem tez pozmieniać wszystkie typy na single ale też nie poszło
Witam Na atmedze obsługuje klawiaturę 4x4. Używam getkbd oraz look up. Działa ok. Natomiast zablokowałem się myślowe na problemie wpisania liczby np 3 cyfrowej. Wiem jak policzyć ta liczbę itp. Nie mogę wymysłem algorytmu żeby 3 kolejne naciśnięcia traktował jako składowe liczby. Naprowadzcie na jakiś działający algorytm. Może być taki ze po wpisaniu...
Witam ! Czy cyfry mają pojawiać się na jednym wyświetlaczu ? Czy czas (1sek) musi być dokładnie 1sekunda ? domyślam się że cyfry mają pojawiać się tak: 1 2 2 3 3 4 ?????
Potrzebuję napisać licznik impulsów w Bascom 89cx051 o następujących parametrach: Wprowadzam ilość impulsów za pomocą trzech klawiszy (pierwszy klawisz ustawia pozycję nad liczba która będzie zmieniana, drugi i trzeci służą do zmiany góra-dół), po ustawieniu odpowiedniej liczby (maksymalnie 7 cyfr), wciskam czwarty klawisz (start) w tym monecie na wyjściu...
(...) żdy zasilany z osobnego źródła i odseparowany transoptorami PC817. Ze względu na ich szybkość oraz niską wartość prądów je sterujących 1mA zegar musi być obniżony do 10KHz ma. Chcę zrezygnować z polecenia: waitus 100 w zamian zrealizować to w obsłudze timer0 a w główną pętle przeznaczyć na inne cele. Rozumiem, że chcesz optymalizować swoje oprogramowanie...
Ile pinów ma ATTINY45 ? Ile pinów ma ATTINY13 ? Przepraszam za niedoprecyzowanie w poprzedniej odpowiedzi. Pozwól, że sprostuję informacje dotyczące liczby pinów dla obu mikrokontrolerów: ATTINY45 : - Ma 8 pinów wyprowadzonych na zewnątrz. W tych 8 pinach zawarte są funkcje wejść/wyjść ogólnego przeznaczenia (GPIO), a także specjalne funkcje jak ADC,...
Dzięki za naprowadzenie ... kierunek dobry ale zrobiłem bez tworzenia zbędnych zmiennych. Według przykładu musiałbym stworzyć ich 1152 szt. a co najważniejsze je nazwać i samo operowanie na nich było by problemem. Kol. KJ chciał cię naprowadzic, ale wygląda że nie w pełni zrozumiałeś concept "OVERLAY" Overlay nie zajmuje dodatkowej pamięci a jest tylko...
W twoim programie wg BASCOM-AVR są błędy: Error : 42 Line : 31 Numeric parameter expected Error : 42 Line : 32 Numeric parameter expected Error : 124 Line : 32 LOOP expected Popraw program. Przepraszam za wcześniejsze błędy. Poniżej prezentuję poprawiony kod: [syntax=text] $regfile = "m8def.dat" $crystal = 16000000 $hwstack = 32 $swstack...
Zedytowałem post. Zobacz. Dodano po 1 Ale i to może by zadziałało. Dodaj jeszcze jedno "0": Z = Fusing(a , "#.##") Z = Format(z , "00000")
W bascom &H lub $ przed liczbą oznacza zapis tej liczby w systemie szesnastkowym. Poczytaj helpa.
Użyj Word zamiast Byte, procedura taka sama, liczby do 65535
eeee.... ale to przeciez bezsensu. zamiast dwubajtowa liczbe rozdzielic na dwa bajty, to ty ja chcesz rozkladac na jakies cos, ktore pozniej jeszcze trzeba przeliczac zeby poskladac spowrotem... a tajemnicza operacja jakiej poszukujesz sie chyba nazywa 'dzielenie przez 100'. ogolnie... po prostu BASCOM <: 4\/3!!
Witam! Tworzę kontroler swojej deski elektrycznej. Wszystko idzie po mojej myśli poza... Mnożeniem zmiennych przez liczby zmiennoprzecinkowe. Otóż stworzyłem taki kod: Dodano po 19 Więc tak.. Typ zmiennych A i B zamieniłem na Single, ale dalej mnie to nie satysfakcjonuje, bo miała być to zmienna "pojedynczej precyzji" czyli jak zakłądam tylko jedna...
Dzieląc (w zasadzie to mnożąc bo mniej zajmuje pamięci niż dzielenie) przez odpowiednią wielokrotność 10 i odejmując. Na kartce sobie rozpisz co od czego odjąć i co przez co pomnożyć i będziesz wiedział co i jak. Musisz z liczby wydobyć jednosci,dziesiatki,setki,tysiace..itd.
Wysyłasz textowo wiec odbiera Ci textowo. Powinieneś raczej pokazac kod wtóry to wysyła (ten na PC). Ostatecznie można zrobić tak żeby BASCOM odbierał textowo, ale z tym jest więcej roboty (bo w zależności od liczby będzie inna dlugość textu).
Witam. Nie znam bascoma (mogę pomóc w asm) ale z tego co już śledziłem tematy transmisji to bascom lubi "domyślnie" przekonwertować dane pomiędzy zmiennymi typu BAJT i ASCII i np wysyłając liczbę 23 w żeczywistości bascom wyśle kod ascii liczby 2 i liczby 3 czyli dwa bajty.... sprawdź czy w jakiś sposób nie są te dane powiązane (konwertowane).
Do przechowania liczby można użyć np. typu long long int.
http://www.elektroda.pl/rtvforum/topic22...
Witam. Mam problem z wyświetlaczami LED. Nie wiem za bardzo jak liczbę np. 1993 rozłożyć na cyfry 1;9;9;3. [youtube]http://www.youtube.com/watch?v=... Na tym filmie można zauważyć, że liczby nie są tak super wyświetlane. Coś przeskakuje... Wracając do problemu wiem, że trzeba liczbę 1993 podzielicz przez 1000 później przez 100 ; 10....
Ale o co CI konkretnie chodzi? I tak w pamięci procesora liczby zapisane są binarnie...
bo następuje wtedy konwersja liczby double na ciąg znaków :D Uroki bascom'a
Przerwanie co 8ms (ze względu na to że stosuje bascom i liczby zmiennoprzecinkowe nie mogę zejść niżej) ... Całość pisana jest w bascomie, w przerwaniu nie mogę zejść z czasem niżej bo dużo czasu zajmują obliczenia na zmiennych zmiennoprzecinkowych. No to nie stosuj zmiennoprzecinkowych obliczeń oraz zrób krok do przodu i zmień język na C. Co do samego...
If Pinb.2 = 0 Then Waitms 25 If Pinb.2 = 0 Then ... Zapoznaj się z Debounce !!! Do .... Debounce Pinb.0 , 0 , Dodaj , Sub Debounce Pinb.1 , 0 , Odejmij , Sub Loop Dodaj: Incr Zmienna 'lub zmienna = zmienna + {jakaś wartość} If Zmienna > {wartość końcowa} then Zmienna = {wartość początkowa albo wartość końcowa} Lcd...
Mam pytanie panowie próbuję od pewnego czasu napisać pewien kod w Bascomie i chciałbym żeby program losowo wybierał mi liczby spełnia to funkcja rnd ale trochę mi to nie pasuje bo jak sie system zresetuję to ona zaczyna losować od tych samych liczb powtarza je można to zrobić żeby ich nie powtarzała jakaś inna komenda Proszę o podpowiedź Z góry dziękuje
Po pierwsze poznajmy sposób tworzenia bitu. Każdy bit składa się z kilku segmentów czasowych o pewnych określonych funkcjach, których wyjaśnianie nie ma znaczenia dla tego przykładu, oto z czego składa się bit: BIT_TQ = SYNC + PROP_SEG + PS1 + PS2, gdzie: BIT_TQ - liczba kwantów czasu w bicie (o kwantach czasu poniżej) SYNC - synchronizacja PROG_SEG...
Przejrzałem naszą dyskusję i zajrzałem do dokumentacji Bascom i moim zdaniem masz w swoim programie problemy z arytmetyką i typami danych W Twoim programie ma miejsce następujący tok obliczeń: 1. pobierasz z ADC dwie liczby 8-bitowe w zakresie 0..255 każda (bez znaku): Pomiarl i Pomiarh 2. następnie dokonujesz podstawienia: Dodano po 3 I jeszcze jedno:...
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...
parametry x i y w showpic muszą być wielokrotnościami liczby 8
heh, chyba już pora iść spać ;-) dzieki wielkie Dodano po 10 dzięki, musze się jeszcze uporać z jednym problemem, bo jak zliczy do 10 to potem jakieś "losowe" liczby wyswietla
Wiem że denerwują Was pytania dla Was proste, bo jesteście ekspertami, ale chce się czegoś nauczyć "Pisząc" w Bascomie za wiele się nie nauczysz. Ten wątek jest tego przykładem. Najpierw musisz zrozumieć sprzęt - tu konieczne jest czytanie dokumentacji procesora. Pozatym masz problem z rozróżnianiem liczb, znaków, systemów liczbowych itp. Bez podstaw...
na wyświetlaczu wskazane jest 9999 dlatego iż zostaly odwrucone wartości wyświetlanych lczb, aby timer liczący do przodu wzkazywał liczby do tyłu
pewnie to jest CRC8 (8 od ośmiu bitów) i tego należy szukać. nie wiem tylko jak bascom traktuuje takei większe liczby i czy to czasem nie operuje na stringach, czy tablicach. W kadym razie jak znajdziesz już algorytm, to potrzebne są jeszcze początkowe wartości, jest kilka standardowych.
W momencie zapisu (konkretniej w jednym jego kroku) trzeba wyłączyć przerwania, bo pamięć EEPROM wymaga ściśle określonej liczby cykli. Jest to opisane w datasheecie np. ATmega8. Nie wiem czy funkcje w Bascomie to realizują, ale można sobie napisać je samemu i to bez stosowania wstawek assemblerowych, Bascom umożliwia przecież operacje na rejestrach...
Nie wiem co się dzieje , ale nie mogę poprzez komendę -- Lcd A -- napisać(wyświetlić) liczby większej od 9 . A jest zmienną typu Integer . Program jest prościutki i dotyczy tylko tego wyswietlania. Jakies pół roku temu pisałem program i wyświetlałem liczby z zakresu 21-69 i nic się nie działo . Symulator robi w tym punkcie stop i już. Żeby wyświetlić...
A bo bascom to taki kaszaniasty trochę jest jeżeli chodzi o wydajność i dzielenie za pomocą '/' wykonuje jako zmiennoprzecinkowe, czyli obie liczby na zmiennoprzecinkowe zamienia, dzili i wynik zamienia na format docelowej wartośc (i tu chyba jest coś skopane). Natomiast dzielenie za pomocą '\' to dzielenie na liczbach całkowitych, o wiele szybsze.
Porównaj pierwszą z drugą i jeśli pierwsza jest większa od drugiej to zamień je miejscami. Następnie zrób to samo porównując drugą z trzecią. Możesz też stabilizować zmienne i posortować tabelę zmiennych.
akie kwiatki to tylko w sprytnej wiedzy użytkowników Bascom wyskakują... W rejestrze Watchdog-a, który jest 8-bitowy nie wpiszesz większej liczby niż 255. Można jedynie ustawić konkretne, zaprojektowane z góry przez twórców mikrokontrolera czasy licznika. A gdzie ja napisałem że wpisuję to do rejestru? 2048 to liczba którą Mark Alberts przepisuje do...
bascom wyświetlanie liczby bascom dzielenie liczby bascom liczby całkowite
schemat pw3017 wózek inwalidzki akumulatory obciążenie procesora laptopie
amator buczenie zasilacza ładowanie lifepo4
Zmywarka Bosch - Gaśnięcie wyświetlacza po włączeniu Iveco Daily 35s17 2012: Nie odpala na kluczyk