... BASCOM nie obsluguje tablic bitow... Bascom-AVR obsługuje tablice bitów , jednak z pewnymi ograniczeniami a)Tablica nie większa niż 256 bitów. b)index/numer bitu , MUSI być zmienną , choć właściwie niekoniecznie MUSI :D Piotrek
No więc ? Tablica: DIM Odczyt(2) składa się z dwóch zmiennych typu Byte. Więc ile masz bitów razem ?
Może ktoś wie jak założyć tablicę 66 elementową ( każdy element to bit) w obszarze adresowanym bitowo, tak by można było odwoływać się do poszczególnych bitów poprzez współżędne w tablicy np. bit22=Tablica(22). Bascom co prawda przyjmuje deklarację Tablica(66) as bit, ale traktuje to jak zmienną 1 bitową tzn. zapis Tablica(22) = 1 ustawia na 1 wszystkie...
Tak po krótce przeanalizowałem wątek TIMER2 tego nowego programu. Po prześledzeniu kilku instrukcji i "śladów skoków" mogę stwierdzić, że nie jest dziwne, że gdy aktywny jest TIMER2 i jego przerwania to wszystko siada. Pojawia się przerwanie TIMER2, program wskakuje do jego obsługi a tam napotyka: GOSUB w inne miejsce, gdzie napotyka GOTO w jeszcze...
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....
Witam Sprawa prosta. Rozwiązać problem można na kilka sposobów. Ja robiłem tablicę 16-to elementową i w pętli z każdym zboczem sygnału zegarowego wpisywałem wartość do tablicy. Po odczytaniu 16 bitów czytałem te komórki, które mnie interesowały i sumowałem wynik z odpowiednimi wagami bitów. Poglądowy program poniżej. Config Pinx.x : Clk alias Portx.x...
Wysyłasz tylko jedną paczke? Jakiej częstotliwości? Zaremuj ífy i wszystkie tablice, zmień x i y na int 32 bit.
1) Multipleksowanie robi się na timerze. To co próbujesz zrobić to jest SYF. 2) Każde malutkie opóźnienie w pętli głównej, nawet samo debounce wprowadza ci SYF do multipleksacji 3) Zrobienie multipleksowania na timerze jest banalne. Używaj też LOOKUP zamiast jakiśch wydumanych tablic do trzymania bitów dla wyświetlacza
Zawsze będzie się to sprowadzało do przesyłania pojedynczych bajtów a w przypadku programowego I2C kolejnych bitów. Tego nie przeskoczysz.
Jak nie rozumiesz całości to ciężko będzie to tak w kawałkach tłumaczyć bo w drugiej funkcji jest wskaźnik na tablice z danymi. Trzeba pobrać adres tych danych u Ciebie i trudno się wypowiadać nie widząc całości. Mam dużo swoich spaw i też nie bardzo mam czas się oderwać. Najlepiej ściągnij jakąś biblioteke do obsługi LCD z Forum Bascom i zobacz jak...
Byte to zmienna 8-bitowa, Word to zmienna 16-bitowa, Byte (1 byte). Bytes are stores as unsigned 8-bit binary numbers ranging in value from 0 to 255. Word (two bytes). Words are stored as unsigned sixteen-bit binary numbers ranging in value from 0 to 65535. nie programuje w bascomie ale zapisywanie 'większej' liczby do zmiennej o 'mniejszej pojemności'...
Jak czytałeś lub nie :) karta ma sekwencje "startu" , nie pamiętam teraz jaki ma format, jest to jakiś 5bit znak, ja najpierw z czytuje cały bitstream od czytnika i potem funkcją szukam startu jak nie znajdę to "przekręcam" bufor (znaczy ostatni bit staje się pierwszym w strumieniu) i jeszcze raz szukam znaku startu, potem już tylko na podstawie tablicy...
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. Moje rozwiązanie wygląda tak: Dim Liczba(128) As Double At &H400 - zapis lokuje 1kB pamięci począwszy od 1024 komórki Odwołanie robię bezpośrednio...
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.
tak, interface wyjściowy to UART TTL ale to w niczym nie przeszkadza i można go podłączyć bezpośrednio do portów uC. Aby Komputer skomunikował się z uC należy: po stronie kompa: -podłączyć moduł radiowy USB(po podłączeniu modułu powinien zamigotać diodkami) -skorzystać z terminala i otworzyć port COM z numerem dla jakiego zainstalował się moduł -prędkość...
Zdaje się że kolega rapid. dał rozwiązanie ale sprawdzę ją dopiero jutro wieczorem bo mam kolokwium :D Myślałem że da się to rozwiązać bez dodatkowych zmiennych no ale trudno. Wszyscy mówią że C daje dużo większe możliwości programiście niż bascom a w bascomie wystarczyło by zmiennaa.1 = zmiennab.7 zmiennaa.0 = zmiennab.6 i tyle.
a dlaczegio chcesz mieć je zapisane w postaci bitów zawsze możesz sobie odczytać dowolny bit rejestru bądź zmiennej i oczywiście dokonywac rotacji tych zmiennych i rejestrów
Nie da rady w ten sposób... Ale... Załóż zmienną typu "byte". W programie możesz odwoływać się do pojedyńczych bitów tejże (np.: set zmienna.1 , reset zmienna.5 )
Shift jest od przesuwania bitów. Ty musisz przesuwać całe bajty w tablicy Buffer_in. Użyj sobie mojej metody odbierania: [syntax=vbnet]Inputbin Dana Buffer_in(in_pos) = Dana Incr In_pos If In_pos = 9 Then 'Jak zmieści się co najmniej jedna cala ramka danych If Buffer_in(1) = &H01 Then 'To sprawdzamy czy jest prawidłowo rozpoczęta If Buffer_in(2) = &H10...
dla opisu programu w pseudokodzie(nieznam bascoma.. wole asm itp..) przyjme że bity sterujące znajdują się w dolnych częściach zmiennych.. i zamiast a..h przyjme tablice stan[0] do stan[7] TMP = 0 pętla wykonywana od 0 do 7 ze skokiem o 1 przesuń tmp o jeden bit w lewo tmp = stan[numer wykonania pętli] koniec pętli w tmp jest skompresowany stan 8 bitów...
Tzn. już dowiedziałem sie o co chodzi. Mam podłączyć do mikrokontrolera przez szynę 1wire kilka switchów (konkretnie układów DS2405) i odczytać z nich numery seryjne i jeszcze chyba stan wyjśćia PIO. O ile z numerami seryjnymi mam tylko taki mały problem, że jak zmieścić 8 bajtów w 1 bajcie?: opis z pomocy Bascoma: Dim Ar( 8 ) As Byte czyli oznacza...
No ok. Ale po drodze musi być zmieniany port. Czyli zwykłe indexowanie bitów odpada. Do tego bity mogą zostać pomieszane. Czyli Przekaznik.3 to może być na przykład PortA.0. No to teraz pomieszanie portów i bitów. Jeszcze większy kłopot. I na koniec możliwość przemieszenia bitów nie tylko w obrębie jednego portu. Czyli już totalna sieczka. Każdy bit...
Mam następujący problem: posiadam tablice diodową 126 na 15 LED i trzeba napisać drugi generator znaków (jeden już mam trochę o nim jest w poście Bascom i cuda które się dzieją jeśli admin uzna że oba posty powinny zostać scalone to proszę scalić zakładam nowy z powodu iż tamten był defakto o problemach z kompilatorem nie o samej tablicy) Sprawa wygląda...
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"...
EDIT: Dobra wszystko sobie dopracowałem, ale nie wiem jak to ująć w jednej tablicy?? Jakbyś mógł wyjaśnij mi mniej więcej jak działają te tablice ;] Ile miałeś czasu na ten wąż w BASCOM 8051 ? Tablice działają bardzo prosto, masz zbiór zmienny o zadeklaarowanym typie w przypadku BASCOM od 1 do n i możesz się odwołać do konkretnego elementu np tab(1)=x...
Zamiast przyporządkowywać daną z tablicy do portu - przyporządkuj dana z tabeli do zmiennej a potem poszczególne bity portów do odpowiednich bitów zmiennej np: ala=lookup(coś tam) pd7=ala.5 pc5=ala.4 itd. zajmie to trochę wiecej miejsca w pamięci ale możesz prawie wszystko
witam, Piszę program w bascomie, jedną z jego funkcji ma być odczytywanie pojemności karty mmc podłączonej do ATMEGI. Nie wiem dlaczego jest ona zakodowana w dość dziwny sposób i żeby ją uzyskać trzeba się posłużyć wartościami z trzech pól rejestru CSD który zczytuję do tablicy. Pola tego rejestru są różnej wielkości np. 2,3,4,5,7,12 bitów więc potrzeba...
a ja myślę że można by to zrobić na prostym AT90S2313 (programator do tego to kilka złotych, program można napisać w bascomie - wersja demo do 2kb czyli tyle ile ma nasz procesorek). Procek ma dwa porty jeden 8 bitów drugi 7 bitów 8x7=56 diodek max (przy najprostrzym sterowaniu, czyli siatka jeden port załącza katody diodek, drugi załącza anody - oczywiście...
Odczytuje z 1wire kolejno 9 bajtów danych do tablicy. Temperatura to liczba 16bitowa, pierwsze 8 bitów zapisanych jest w 1 elemencie tablicy 8 kolejnych w 2gim. Jakim poleceniem mogę połączyć te te dwie liczby aby otrzymać jedną 16bitową? Czy może ktoś ma jakiś inny sposób aby odczytać temperaturę i sumę kontrolną (1,2 bajt - temperatura, 9ty -CRC)...
No nie wiem czy jest lepszy ale: Płytka jest ładniejsza, bo nie mam tranzystorów i związanej z nimi plątaniny ścieżek, tylko ULN'y i UDN'y. Na dodatek rejestr '595 ma zatrzask, dzięki czemu będziesz w trakcie przesuwania bitów nie będziesz miał efektu migania. Po prostu wsuniesz bity, a następnie jednym impulsem przepiszesz je na wyjście. Jak chcesz...
Zrobione, sprawdzone, działa. SPI zaprogramowany na częstotliwość 2.4 MHz. Używana jest tylko linia MOSI, która jest dołączona do wejścia pierwszej kostki WS2812. Bit o wartości 0 jest wysyłany jako 100, a bit o wartości 1 - jako 110. Aby przesłać jeden bajt do WS2812, trzeba zamienić wartość bajtu na 24 bity. Ja użyłem mikrokontrolera z rdzeniem Cortex,...
Zastosowałem lepszy filtr aktywny antyaliasingowy, oraz podałem na we całą sinusoidę - i dalej to samo.. Coś może z algorytmem tym nie tak.. No właśnie, jaki zastosowałeś filtr? Jaka częstotliwość odcięcia, rodzaj charakterystyki? Tak jak pisze krru, lepiej sobie odpowiednio daleko odsunąć f_3dB od twojego pasma użytecznego (żeby nie mieć zafalowań...
Można wyświetlać temperaturę w podmenu "wybór_Ds" ale trzeba zmienić cały program. Chyba nie jest tak trudno zapisać sobie cztery ID czujników i wiedzieć później który gdzie przypisać. Najlepiej osobno podłączać każdy czujnik i na naklejce na kablu przy czujniki zapisać jego ID. Wiedząc gdzie jakie jest ID czujnika można już mu w podmenu przypisać odpowiednią...
ważne jest jeszcze czy czas odstępu ma być liczony od ostatnio otrzymanego bajtu czy od pierwszego i jak w ogóle zaznaczyć początek jeżeli od pierwszego. A może cała sekwencja ma być opóźniona niezależnie na od jej długości - czyli zawsze wartość bitu pojawi się po stałym czasie na wyjściu niezależnie co było przed nim ani po nim ? W takim wypadku minimalny...
Poczytaj dokumentację leniu ;P Tam maz bardzo dużo danych dotyczących sterowania, między innymi ustawień bitów konfigurujących typ sygnału wyjściowego. Czyżbyś od autora tamtego postu otrzymał ten obrazek? Z tego co pamiętam, miał on problemy z ustawieniem przebiegu... Jeśli chodzi o prostokąt to sprawa jest o wiele prostrza i na AVR wydusisz pare MHz...
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...
Wykombinowałem coś takiego :), przykład można uruchomić w symulatorze (dane wejściowe np. porta.1): EDIT: poprawiłem mały błąd w przykładzie, bity można nawet kopiować jeżeli port źródłowy i docelowy jest ten sam [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 64 $baud = 57600 Dim Src_port_str As...
Źle. Czemu do otwarcia butelki używasz łoma? Jak używasz tych odwołań to pewnie masz macro.inc albo coś w tym stylu. I po co? Zrób tablicę stanów wejść i wyjść w formie P1.1 .. .. .. .. P1.2 .. .. .. .. P1.7 .. .. .. .. I wszystkie możliwe przypadki (raptem 4) Potem zastanów się jaka to funkcja logiczna (a jest taka), potem zajrzyj do dokumentacji atmela...
Gdybyś miał termistor NTC tobym Ci poradził żebyś wygrzebał z jego dokumentacji parametry do równania Steinharta-Harta a w razie braku ww. zmierzył temperaturę termistora w trzech punktach i te parametry wyliczył. Następnie radziłbym wybrać(na początek) do dzielnika napięcia opornik o oporności zbliżonej do oporności termistora w temperaturze pokojowej,...
I2creceive 69 , W2 to polecenie odbiera jeden bajt z urządzenia Slave o adresie 69. Jeśli chcesz pobrać od razu dwa bajty spróbuj albo: I2creceive 69, temp(1) , 0 , 2 wtedy w temp(1) powinna być wartość 1 bajtu a w temp(2) drugiego (oczywiście wcześniej musisz zadeklarować tablicę temp()) innym wyjściem jest I2cstart I2cwbyte 69 I2crbyte W, ack I2crbyte...
Witam, Mam problem. Chodzi o listingi z książki Marcin Wiązania - Programowanie mikrokontrolerów AVR w języku Bascom W książce są dwa przykłady sterowania matryca Led 5X7 Pierwszy przykład z książki ma za zadanie wyświetlać znaki po kolei i to działa. Natomiast drugi listing ma za zadanie przesuwać znaki z lewej do prawej. I to już nie działa. Schemat...
Taa, ciekawe, który _cast? Tutaj akurat nie ma i nie będzie, żadnego nadzorowania, bo trzeba przekształcić tablicę bajtów na strukturę. Rzutowanie ma tą zaletę, że nie trzeba niczego kopiować. Hmmm masz rację po głębszej analizie nadaje się chyba do tego tylko reinterpret_cast? Co prawda nic nie będzie nadzorował ale łatwiej go odnaleźć w programie...
Otóż ten "adres" nie przesuwa o bajty, ale o długość zmiennej. Czyli jak masz Word to przesuwa o 2 bajty. Ale zawsze jest to wielokrotność 8 bitów. I przypuśćmy że nie jest istotne czy przesunie o długość zmiennej byte czy o długość zmiennej word... Jeżeli więc odczytujesz do zmiennej typu Word, to Lookup zawsze będzie odczytywało po 2 bajty. ...ale...
Witam! Mam problem z przerobieniem kodu tablicy świetlnej z wyświetlaczem matrycowym led. Posiadam kod z książki Marcina Wiązani - Programowanie mikrokontrolerów AVR w języku Bascom przerobiony według instrukcji użytkowników w temacie: 'Program tablicy świetlnej 'Sterowania multipleksowe wyświetlaczem matrycowym 7x5 LED 'Częstotliwość sterowania kolumn...
Witam Skoro szczytujesz po jednym bicie to po szczytaniu 8 bitów zapisz je w pamięcie, i odczytując je po koleji możesz odtpowrzyć z powrotem. Pozdrawiam Witam. Tylko mnie się wydaje że kol. przemo.t niewie jak z bitów zrobić bajt,choć może się myle :) Moja propozycja brzmi: $map Dim Twojbit As Bit , Wynik(16) As Byte , I As Byte , J As Byte '... For...
Znalazłem kod tablicy świetlnej, 8x8 sterowanej przez rejestr 74164, niestetypo załadowaniu programu na tablicy świecą się tylko trzy kolumny diód :(. Czy ktoś mi pomorze to rozgryść? 'Program tablicy świetlnej 'Sterowania multipleksowe wyświetlaczem matrycowym 7x5 LED 'Częstotliwość sterowania kolumn wyświetlacza wynosi ok. 333 Hz 'czyli częstotliwość...
Witam Zmontowałem sobie układ Atmega32 z pojedynczym wyświetlaczem 5x7 i wszystko działa tak jak należy ale problem zaczyna się w innym miejscu. Potrzebuję połączyć 3 takie wyświetlacze, lecz nie mam pojęcia w jaki sposób to zrobić. Proszę o pomoc Tutaj podaję listing programu http://obrazki.elektroda.pl/2811327600_1...
FFT potrzebuje więcej pamięci niż DFT Są dwa rodzaje implementacji FFT - in-place i jakaś tam inna :D (według tego kryterium, bo samych rodzajów jest całą kupa :D ) in-place potrzebuje mniej pamięci, niż DFT, bo wszystkie operacje wykonywane są na buforze danych wejściowych, a po transformacie dane wyjściowe mamy tam, gdzie wcześniej były wejściowe...
Chciałem przedstawić moje najnowsze dzieło, jakim jest matryca diodowa. Inspiracją do zbudowania urządzenia była jedna z prac dyplomowych znajdujących się w mojej szkole tyle, że tamta zabawka zawiera 7680 dwukolorowych LEDów (120x64). Matryca została oparta o procesor AVR atmega32 wybrałem taki ze względu na sporą ilość pamięci programu oraz RAM a...
Cześć Chciałem prosić kogoś o wskazówkę jak poradzić sobie z problemem wyświetlania wartości "Wartosc2" poniższego kodu. Mój problem polega na tym że w momencie naciśnięcia przycisku ( w programie to Up, Dwn ) gdy na wyświetlaczach jest np 1.1 wyświetlacze "resetują" się i wskazują wartość 00 po zwolnieniu przycisku wyświetlona zostaje poprawnie kolejna...
zmierzyłem stoperem i mam idealnie 30 sekund. Za chwilę podłączę nadajnik ale pytanie czy mam odbierać odbiornikiem tym co zmiontowałem i jeśli tak to czy powiniem zmieniać coś w programie (bo wysyłane wartości to 16 i 125 co nie odpowiada chyba jakiejś temperaturze) czy może mam podłączyć odbiornik 433MHz do przejściówki na USB i patrzeć w terminalu...
Atmega8 ma za mało ramu, żeby obsłużyć kartę SD. Podczas obsługi kart SD odczytujesz sektory po 512bajtów, więc trzeba zrobić w pamięci ram procka tablicę 'unsigned char' o pojemności 512 elementów czyli 512x8 bitów daje 512 bajtów w pamięci. Nic bardziej mylnego ATMega8 ma 1KB RAM. Problem z SD/MMC tkwi w tym, że trzeba obsługiwać system FAT, a w...
W bascomie to pewnie jeszcze dłużej. Ale jest ryzyko. Wystarczy obejrzeć wygenerowany kod. I najwyżej dodać parę NOP-ów. Tak myślę, dlaczego po 8-smym cyklu miałoby się pojawić. Przecież to idzie w "powietrze"- nie ma ósmego tranzystora i wcale nie musi być "ciemno" Kiedy jest stan licznika 7, to na wyjściach 0 do 6 układu 7442 będzie stan wysoki....
Mam jeszcze pytanie o maskowanie bitów Będę odczytywał dane z PCF8563, a on wymaga maskowania bitów po odczycie. Jako, że na aktualnie używanej płytce nie mam RTC PCF8563, na razie na "sucho" wymyśliłem coś takiego: [syntax=c] void Czas(){ // definiujemy sobie dla polepszenia czytelności programu typ wyliczeniowy // wskazujący nam później na odpowiednie...
Napisz dokładnie czy chodzi ci o konkretny bit czy element z tablicy.
dim urx_bufor(5) as byte dim urx_licznik as byte dim urx_odebrano as bit ... urx_licznik=1 'to jest potrzebne dla bascom'a bo tablice zaczynaja sie od 1 a nie 0 enable interrupts ... przerwanie_urx: if urx_licznik<5 then urx_bufor(urx_licznik)=udr incr urx_licznik end if if udr=13 then set urx_odebrano 'odebano ENTER if udr='T'...
A to przykład programu z użyciem Shiftout: (źródło: http://www.sklep.microsense.pl/product.p... "Przykładowe programy...") [syntax=basic4gl] 'Program sterowania multipleksowego wyświetlaczem matrycowym 7x5 LED 'za pomocą rejestru 74LS164 'Znak do wyświetlenia jest ładowany do zmiennej Znak typu String 'Częstotliwość sterowania kolumn wyświetlacza...
Siemka ugh123 :D Co prawda nie mam tego wyświetlacza (Nokia), lecz o wiele większy. Ale do do tematu. Pliki ".bgc" są zapisywane w 8-bitowym kolorze, Ja pracuję z 16-sto bitowymi kolorami, więc konieczna jest konwersja z 8 na 16 bitów. Informacje na temat wymieniony przez Ciebie znajdziesz w sieci (poszukaj). Nie dam Ci gotowca,i sądzę, iż nikt Ci nie...
Witam, Coś ostatnio mało ludzi odpowiada mi na pytania w Bascomie, więc postarałem się napisać swój program w C. Liczę więc na pomoc specjalistów od GCC ;) chciałbym zrobić pilot IR do mojego aparatu fotograficznego Olympus. Ze stronki lirc sprawdziłem sobie co i jak ma być dla pilota RM-1. Powiem nawet że chyba rok temu zrobiłem to w assemblerze i...
Osobiście namawiałbym koloegę na zainteresowanie się C bo wówczas po zadeklarowaniu Unii byłoby to banalnie proste union zamiana { unsigned char bity[4]; unsigned long int dlugaliczba; }; mając coś takiego zmiennej dlugaliczba przypisujesz swoja wartość a na kolejnych pozycjach tablicy bity[] masz ją porozbijaną na poszczególne bajty.
Witam Zmontowałem sobie układ atmega8 oraz 35 LED połączonych w małą matrycę 7x5 Załadowałem kod który jest napisany w listingu do książki Marcina Wiązania.Są tam dwa kody jeden do wyświetlania po kolei wszystkich znaków ASCII który działa bez problemowo oraz drugi który przewija text lecz on nie działa Oto ten kod. Co jest w nim nie tak? 'Program tablicy...
Dzięki kolego za kod, widzę że jest to kod obsługi jakiegoś zegarka, bardzo podobny kod znajduje się u M.Wiązania. 'Program multipleksowego sterowania czterema wyświetlaczami '7-segmentowymi LED poprzez dekoder 4543 'cyfra załadowana do A będzie wyświetlana na wyświetlaczu 1 'cyfra załadowana do B będzie wyświetlana na wyświetlaczu 2 'cyfra załadowana...
Transmisją szeregową bawię się po raz pierwszy i mam taki problem. Na AVR 8535 muszę po RS wysłać komunikat na Wyświetlacz VFD. Format i sposób jego transmisji jest następujący. 1.wysłanie 3-znakowego kodu inicjalizującego: FF , 01, 87, (zapisano hexalnie), 2. wysłanie dokładnie 40-tu kodów ASCII znaków które chcemy wyświetlić, 3.wysłanie 2-znakowego...
Co myślisz o tym żeby użyć tylko jeden Timer? [youtube]https://www.youtube.com/watch?v... [syntax=basic4gl]$regfile = "attiny2313.dat" $crystal = 16000000 '*** Timer0 Config for 500Hz Interrupt CTC Mode *** Config Timer0 = Timer , Prescale = 256 , Compare A = Disconnect , Compare B = Disconnect , Clear Timer = 1 Enable Compare0a :...
Witam, na wstępie zaznaczam, że jestem elektrykiem i uC są dla mnie nie do końca zrozumiałe . Mam problem ze swoim układem . Jest to czujnik poziomu dla 2 zbiorników wody . Dane z każdego czujnika są podawane na uC za pomocą 5 bitów . Wykorzystałem porty B oraz D jako wejscia . W zależności od stanu na wejściu portu , na wyświetlaczu jest procentowa...
Witam, Jeżeli chodzi o Bascom to może to być trudna droga, dawno temu jak Bascom ujrzał światło dzienne zainteresowałem się tym tematem, ale napisałem kilka programików i moje doświadczenia w tym temacie się kończą. Jeśli Bascom ma możliwość kompilacji plików języka C to może. Jeśli chodzi o działający przykład to z biblioteki V-USB załadowałem przykład...
Możesz jeszcze nieco to zmodyfikować: [syntax=c]if(sekundy==0) { if (minuty==0) { if (czas start > aktualna godzina) set bit if (czast start < czas stop) { if (czas stop > aktualna godzina) clr bit } else { if (czas stop < aktualna godzina) clr bit } } }[/syntax] Wszak chodzi o to, aby jakiekolwiek obliczenia / porównania wykonywać tylko...
Mam problem polegający na tym, że na trzy elementowej tablicy BGR(3) as byte muszę wykonać przesunięcie o 12 w lewo czyli wykonać rotate na tych trzech zmiennych tak jakby to była jedna zmienna np: przed przesunięciem: BGR(1) BGR(2) BGR(3) 01000010 01100100 11111010 po przesunięciu o 12 w lewo: BGR(1) BGR(2) BGR(3) 01001111 10100100 00100110 W jaki...
Musisz posprawdzać sobie ile potrzeba Ci pamięci na stosy. Każde polecenie gosub odkłada dwa bajty na stos. Pamięć ta jest zwracana przy wyjściu z podprogramu, ale jeśli z tego podprogramu uruchamiany jest następny podprogram, to nie dość że pamięć nie jest zwracana (bo nie ma prawidłowego wyjścia z podprogramu) to jeszcze następne dwa bajty są odkładane...
http://obrazki.elektroda.pl/4630645200_1... Witam Jako że od długiego czasu czytam to forum i korzystam z informacji na nim zawartych postanowiłem dodać też coś od siebie. Oto jedna z moich wielu konstrukcji (mam w planie zamieścić ich tutaj nieco więcej). Z przyjemnością prezentuję animowana tablice reklamową LED. Postaram się kolejno...
Otóż zrobiłem sobie na M32 w Bas na Lcd 128x240 prosty oscyloskop, taki jak widziałem na innych stronach , dobrze pokazuje kwadrat do ok 4Khz, co jest normalne dla M32. Uwaga, fragment kodu z zapełnieniem tablicy i oscylogramem jest napisany przez kogoś z elektrody, nie pamiętam kogo, Ja go sobie lekko przerobiłem i dopasowałem. oto kod: If B4 = 1 Then...
Wystarczyły by nawet 4 bity byle dzwięk był sinusoidą.Jak umieścić wartości w tablicy , jak wyliczyć to dla 1200Hz ? Dziękuje.
Witam panowie od razu podkreślę że jeszcze uczę się bascoma więc proszę nie krzyczeć i nie usuwać tego postu do kosza Siedzę już nad tym 3 dzień i efekt mojej pracy nie najgorszy ale mam parę pytań po pewnych rzeczy nie rozumiem i nie mogę rozwiązać. Więc tak założeniem był pomiar temperatury przez ds18b20 wyświetlenie je na LCD i 4 wyświetlaczach 7...
Jakby ktoś chciał zrobić coś podobnego, to pewne informacje są w poniższym linku: http://forums.hackaday.com/viewtopic.php... To moje pierwsze próby napisania programu. Jeszcze nie testowałem go w praktyce [syntax=basic4gl]$regfile = "m168def.dat" $crystal = 8000000 '$sim Config Timer1 = Timer , Prescale = 64 , Capture Edge = Falling , Noise...
Witam! Program działa poprawnie. Testowałem z 3-4 programy do obsługi tego czujnika ciśnienia. Wyniki są złe, porównaniem z innym ciśnieniomierzem zaniża o 30..40hPa. Zasilanie BMP180 3.3V, ATMEGA32, 8MHz. Czy ktoś się spotkał z takim problemem? [syntax=vbnet] '----------------------- '| Test modułu BMP085 | '----------------------- 'Uwaga: pomiar jest...
Nie da się ustawić, bo jest to fizycznie niemożliwe, chyba że dostaniesz się do struktury i sobie mostek drutem zrobisz ;]. Multiplekser sygnałów zegarowych, którego wyjście jest jedynym źródłem zegara dla ADC, nie ma doprowadzonego sygnału bez podziału, najmniejszy dostępny to 2. Nie będzie próbkował z taką częstotliwością, bo się po prostu układy...
Kombinuje tak: bajt = 10000000 zmienna = bajt.1 zmienna = 1 ... i tak osiem razy rozkładając bajt na bity i później tylko je poskładać w odwrotnej kolejności. Oczywiście prosto nie jest. O tablicach myślałem ale musiałbym je ręcznie rozpisać na kartce 256 i zrobić obok lustrzane odbicie i przeliczać :D
Witam, Niestety, z powodu braku czasu, zostawiłem ten temat, a problem rozwiązałem w ten sposób że obrazki z karty SD ładuje bez konwersji, tzn w formacie jpg, no i oczywiście w Bascom, tutaj jest wszystko http://www.elektroda.pl/rtvforum/topic18...
zrobiłem klawiature matrycową działa można wprowadzac dane zapisałem dane do tablicy np. dim a(3) as bit a(1)=4 a(2)=3 a(3)=6 pytanie brzmi jak dane z tablicy przekształcić na jedną zmienną x =436 :cry:
Witam Tak Panowie ja się z Wami zgadzam (z racji tego iż w programowaniu jestem jak but) chociaż z tymi diodami i analogowym wskaźnikiem zupelnie nie. Jeżeli chodzi o program to od początku miałem takie wrażenie, że cos jest nie tak. Uważałem, że trzeba to napisać co najmniej w C, ale najlepiej w asemblerze - niestety programista mi nie powiedział w...
Wysyłasz poleceniem: Printbin Bascom automatycznie wyśle 4 bajty z których składa się zmienna Long. A odebrać może poleceniem Inputbin Ale ta metoda nie jest zalecana bo program zatrzymuje i czeka do momentu aż odbierze 4bajty (jeśli odbieramy zmienna Long) Lepiej odbierać dane w przerwaniu i zapisywać je w tablicy a następnie użyć polecenia memcopy....
Kod w C, ale powinieneś łatwo dojść co i jak: [syntax=c] for(uint8_t count=0;count<8;count++) { if(zezwolNaOdliczanie&&(1<<... { if(!OdliczanieMinuty[count]&&!Od... { if(OdliczanieGodziny[count]) { OdliczanieMinuty[count]=60; OdliczanieGodziny[count]--; } } if(!OdliczanieSekundy[count]) { if(OdliczanieMinuty[count])...
Witam koledzy. Zadanko zakończone. Poniżej etykieta funkcji deflcdchar dla Bascom pisana na szybciocha dla adresu znaku 0x40 - interface 4 bity Dim tablica_znaku(8) as byte E_deflcdchar: _E = 1 _RS = 0 _Db4 = 0 _Db5 = 0 _Db6 = 1 _Db7 = 0 Waitus 20 _E = 0 Waitus 20 _E = 1 _Rs = 0 _Db4 = 0 _Db5 = 0 _Db6 = 0 _Db7 = 0 Waitus 20 _E = 0 Waitus...
1) Dokładnie tak chciałem zrobić, czyli przerwaniem INT0 wykrycie zbocza narastającego i uruchomienie TIMER0 do obliczenia „czas” i od razu z automatu stany niskiego „czas” x 7. Czyli 4 bity poskładane w bajt synchronizacji i tym otworzyć „bramę” do odczytu pozostałych które są tworzone w ten sam sposób. Tylko za...
Przedstawiam tylko istotne części programu związane z transmisją danych Na początek Atmega 16 obsługuje klawiaturę, Wyświetlacz LCD i komunikację GSM i inne drobiazgi oraz RS232 z Atmegą 8 Dodano po 10 A tak przy okazji takie pytanie czym różni się transmisja po RS232 dla: A=1 Print A oraz Print "1" Wg ASCII < 1 > ma kod 49 i chyba w jednym i...
Na tym filmie są tylko 2 bariery - na dole i na górze, schodki zapalaja się asynchronicznie (w stosunku do wchodzenia po schodach) z zadaną prędkością - to wystarczy. Nie musisz wykorzystywać sprzętowy pwm - możesz go zrobić programowo w tym przypadku i to od razu 16 kanałowy (lub więcej). Powiedzmy, że wystarczy 20 stopni regulacji jasności - zadeklaruj...
1. Masz gotową funkcję zamieniającą tablicę char na integer w zależności od odebranych danych: function TForm1.CharToNum(Bufor: array of char): integer; var Bajt: integer; Liczba: integer; Waga: integer; begin Liczba:=0; Waga:=1; for Bajt:=1 to Length(Bufor) do begin Liczba:=Liczba+Waga*Ord(Bufor ...
Powiem szczerze, że mam trudności w zrozumieniu tego. Próbowałem kombinować na różne sposoby, ale nie dojdę do tego bez pewnych informacji. Szukałem ich w internecie, ale nie znalazłem nic bezpośrednio z tym związanego. Nawet w polskim helpie Bascoma nie mogłem doszukać się pewnych informacji np. co to jest Overlay ' Tu musisz odczytać scratchpad. Czyli...
Witam, Piszę na Atmedze odczyt danych z BMP085 i dodatkowo zapis danych na kartę SD. Wszystko wydaje się działać poprawnie, a jednak coś jest nie tak. Do obsługi BMP085 wykorzystałem kod z tego tematu: http://www.elektroda.pl/rtvforum/topic18... Oto wykres z odebranych danych, czas pomiaru to około 10min http://obrazki.elektroda.pl/4498963800_1...
Witam Walczę dziś z wyświetlaczem lcd POS 3000 firmy Posnet. Wyświetlacz jest oparty o sterownik NJU6432. Sterowanie niby banalne. Zwykły rejestr przesuwny o pojemności 112 bitów. W zasadzie bardzo podobne do SPI. Próbowałem z sprzętowym SPI i z programowym. Testowałem też Shiftout (zawsze dobrze działał z rejestrami) próbowałem też na piechotę. Wyświetlacz...
witam kiedyś zacząłem projekt ramienia robota ale nie ukończyłem go postanowiłem więc dokończyć co zacząłem ramie miało być sterowane 5 serwami przez klawiaturę matrycową mam prośbę czy może ktoś sprawdzić schemat i kod w bascomie ???? nie znam sie na eagle dlatego prosiłbym o wykonanie płytki w tym programie http://www.elektroda.pl/rtvforum/viewtop...
Witam Mam program, który, po dokonaniu pomiarów, wysyła dane przez RFM12 i zapisuje na karcie SD. Chcę dołożyć wysyłanie danych do Domoticz po każdym pomiarze. Problem w tym, że po dopisaniu obsługi ESP8266 i Domoticz ( zmienne miałem już wcześniej zadeklarowane ) to pojawiają się błędy w zapisie na karcie SD. No i wysyłanie do Domoticz przestaje działać,...
bitów bascom bascom maskowanie bitów bascom odczyt bitów
jasnosc swiatla schemat betoniarka narysować widmo
lodówka liebherr lodówka liebherr
Hyundai i30 2009 - Blokujące się tylne koło i gorąca tarcza Zasilanie silnika w suszarce Babyliss Pro Ceramic & Ionic