Jeżeli między znakami masz jedną kolumnę odstępu, to na pierwszej stronie będą dwie, a nie jedna kolumna z drugiego znaku, no ale to szczegół ;) Nie wiem, jak masz zapisaną "czcionkę". Jak na moje oko, to może być po bajcie na każdą linię i takich linii 7, jedna po drugiej, potem następny znak itd. Nieużywane bity (te z prawej, znaki wyrównane sa do...
Poczytaj w pomocy o instrukcjach: DATA , RESTORE, READ. Kiedyś robiąc skomplikowane menu używałem tego do przechowywania stałych tekstów/opisów. Wszystkie były tej samej długości. Aby nie używać SELECT CASE zrobiłem wstawkę asemblerową. O ile dobrze pamiętam rejestry R8 i R9 są używane jako wskaźnik dla funkcji READ. Możesz też wszystkie swoje dane...
Dobrze by było podac w czym programujesz asembler, C++, bascom??
Witam chciałbym prosić o pomoc w korekcji programu napisanego w bascomie. Skonstruowałem tablice o rozdzielczości 8x80 pikseli na której są wyświetlane: zegar temperatura, imieniny. Chodzi mi o to żeby przystosować tablice do wyświetlania nazw przystanków tak jak jest to rozwiązane w komunikacji miejskiej. Chciałbym aby był do tego sterownik z wyświetlaczem...
(at)zumek Dzięki za kod, ale nie do końca wiem jak on działa. Szkoda :( W1 to tablica wskaźników na W, przesunięta o dwa miejsca? Mylisz się :( W1 , to jakby wskaźnik na W powiększony o 1 element tablicy W , czyli 2 bajty . Natomiast tablica wskaźników , to ... nie z tej bajki ;) A dokładnie rzecz ujmując , to Bascom definiuje tablicę W1 , w obszarze...
Stwórz tablicę za pomocą: Dim Zmienna(5) As Byte 'lub Word, Integer, Long, Single, Double... Przed zapisem aktualnej wartości do Zmienna(1), przesuń wartości z 1, 2, 3, 4 o jeden indeks (na 2, 3, 4, 5). Pamiętaj aby zrobić to tak, by nie "zamazać" wartości przy przesuwaniu. Potem zapisujesz aktualną wartość do Zmienna(1) i masz komplet, który...
Bascom jest tak beznadziejny, że adresuje tablice od 1 a nie od zera. To by jednak dawało przesunięcie o jeden a nie 2.
Tak na szybko - pierwsze skojarzenie: skopiować element tablicy do zmiennej tymczasowej, na niej przeprowadzić przesunięcie, a następnie nadpisać pole tablicy zmodyfikowaną zmienną tymczasową. pozdrawiam
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...
' Na początku kodu Index_tab=0 ...... ...... If Licznik = 1200 Then IF Index_tab=3 Then ' przesuniecie w tył jeżeli pozyskano co najmniej 3 pomiary Pomiar(1)=Pomiar(2) Pomiar(2)=Pomiar(3) Else ' Fragment kodu wykonywany dla Index_tab=0,1 i 2 Incr Index_tab IF Index_tab>3 Then Index_tab=3 End If Pomiar(index_tab)...
I2crbyte Z(i) , Nack Wcześniej masz for i=0 to 5 Nie wyrzuci ci takiego błedu ale zapis jest zly. W bascomie adresowanie tablicy zaczyna się od 1 (z(1) - to jest pierwszy element tablicy) Błąd wyświetla dopiero chyba bascom avr. Daj pętle przesuniętą o 1 i będzie dobrze. Ale uważaj - to przesuniecie (for i=1 to 6) może ci też pogmatwać inne...
Po pojawieniu się PINB.0 = 1 zwiększaj indeks tablicy Idx. Idx to zmienna którą będziesz indeksował tablicę w poleceniu: Lcd Tablica(idx). Ponieważ program może być na tyle szybki, że mógłby przesunąć indeks tablicy o parę kroków naprzód jeśli na PINB.0 utrzymuje się stan wysoki, to musisz też zapamiętać czy zwiększenie zostało już wykonane i pozwolić...
Musisz albo dodać 3 x DAC do procesora, albo wygenerować 3xPWM (o rozdzielczości > 1024) i odfiltrować to dolnoprzepustowo. Do tego dojdzie jeszcze wzmacniacz, żeby uzyskać amplitudę 10V. Przesunięcie o 120° to tylko kwestia odpowiedniego indeksowania tablicy z wartościami chwilowymi sinusa.
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.
16 (liczba nie cyfra) ponieważ temperatura odczytywana jest z dokładnością do 4 cyfr po przecinku, dlatego odczytaną wartość trzeba podzielić przez 16 (przesunąć o 4) Bd(1) = 1wread(9) tu do Bd jest wpisanych 9 bajtów ( liczba bajtów w nawiasie) odczytanych przez 1wread(9) z czego 2 pierwsze to temperatura OK pierwszą rzecz rozumiem Co do drugiej,...
Tak problem został rozwiązany. Zamiast tworzenia tablicy o wielkości 6*Ilość_znaków - w której są przetrzymywane wartości wierszy danej kolumny litery. Stworzyłem Tablicę 30-elementową do której wpisywana jest tylko jedna litera w jednej pętli (od 30-25 komórki tablicy - tak aby jej nie było widać na matrycy), w kolejnej pętli litera jest przesuwana...
Witam Jakoś nie widzę problemu. Po pierwsze można sobie zadeklarować zmienną tekstową, która może przechować do bodajże 255 znaków. Można sobie też zadeklarować tablicę z takimi zmiennymi i odpowiednio operować tymi danymi. Na przykład każdy nowy SMS będziesz wpisywał do pierwszej komórki w tablicy po tym jak poprzednie SMSy przesuniesz o jedną pozycję....
Dopieścić m dobre słowo , lubię dopieszczać , ale Bascoma to nie potrafię zbytnio , pocę się już 2 tygodnie i dopiero dziś po sugestiach kolego coś wydłubałem. A może jak bym przepuścił SIN-us przez 2 klucze otwierane z przesuniecie 90 st. zrobił pomiar napięcia , napisał tablicę X i Y i na tej podstawie stwierdzał przesunięcie ? ale następny temat...
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...
Mnie zawsze to działa, a moim zdaniem jak można tak zrobić to nie niesie to szkód. Zresztą zgodność w fazie ma znaczenie, ale nie zawsze. Jeśli steruję jedną diodą to nie ma to znaczenia. Zresztą czy mógłbyś mi pokazać na diagramach w datasheecie dowód na to, że dioda przy zmianie OCR w złym momencie błyśnie lub zgaśnie całkowicie? Bo moim zdaniem inne...
Małe pytanko do jakiego to jest scalaka? Jesli do ds1822 to strona 3 manuala LSB 62(dec)=3e(hex) MSB 2(dec)=02(hex) cała liczba 023e(hex) cztery najmlodsze bity to wartosc po przecinku temp= 023,e (hex)= 35.... e=1110 0,e=(1/2+1/4+1/8)=0,875 zatem masz za niska temp ciała 35.875 *C :) kod przykladowy dla delphi: temp:=(buf[1] and 7)*16+((buf[0] and...
Witam, proszę o poradę. Wykonałem matrycę świetlną LED 8x8, program sterujący pisałem w BASCOM AVR, matrycą steruję przez układ 74164 plus tranzystory, chciałbym uzyskać efekt przesuwających się liter, schematy zapalanych diod dla danej litery są zdefiniowane w ośmiu tablicach oddzielnie dla każdego wiersza zapalanego w matrycy. Mój pomysł jest taki...
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...
Coś znalazłem jest w kodzie obliczanie pozycji: Sta = B1 * 15 Sto = Sta + 14 Pozycja = Licznik2 - 6 B = Pozycja * 15 Licznik 2 zaczyna liczyć od 6 więc 6-6 *15 = 0 a w procedurze wyświetlającej następuje odejmowanie od b liczny jeden w każdym odświeżeniu więc zamiast ciągu 15,14,13,12... mam 255,254,253,252... i podejrzewam że to jest powodem wariowania...
Wklej kod zobaczymy co wyrzeźbiłeś. Tutaj masz o tym jak wygląda ramka wysyłana przez klawiaturę PC: http://www.beyondlogic.org/keyboard/keyb... Samo odebranie znaku jest proste, gorzej z kodami przyciśnięcia zwolnienia itp, aby algorytm się nie rozrósł trzeba pominąć obsługę tych dodatków i rozpoznawać wyłącznie określone przyciski, myślę że mikrostyki...
Mam takie urządzenie ktore mierzy szczyty sinusoid przesuniętych w fazie z trzech przekładników prądowych. Jako, że jest to też Modbus Slave z baudrate 250kbps to nie chciałem robić ADC na przerwaniu bo te już mają co robić z obsługą komunikacji. Tak więc ADC jest obsługiwane przez pooling flagi ADC. Zamieszczam tylko kawałek kodu. W tym urządzeniu...
Witam. Niestety to nie działa, gdy inkrementacja zmiennych "przesunięcie1 i 2" się zeruje po osiągnięciu len(x) w warunku if...then w głównej pętli, cały napis z Bufor_text zanika i tworzy się na nowo. widoczne na nagraniu: na Lcd pierwszy wiersz jest bufor_text + " "+ zmienna(przesunięcie) 1022010 const gdyż nie są wpisywane w moim projekcie na sztywno...
eh... W bascomie nie piszę bo... to bascom ;) . Ale c też nie jest idealne, nie oszukujmy się. No ale nie o tym miałem. Nie czytacie uważnie opisu problemu. Zaremowane jest żeby było widać, co jeszcze próbowałem i żeby można było samemu w razie czego sprawdzić co robiłem, jak robiłem albo zerknąć co robiłem nie tak i napisać o tym. Opóźnienia są po...
beta to kąt 0 ReX Jeszcze jedna rzecz mi nie pasuje. Beta osiagnie maks wartosc 465 , po podzieleniu przez 32 = 15 ,czyli maks wartosc jaka mozemy wyciaganc z tablicy sinus: Tmp_c = sinus(15 + 8) * Dane tojuz chyba wyjaśniłem ale moge napisac jeszzce raz beta AND 31 daje jako wynik reszte z dzielenia przez 32 czyli liczby z zakresu od 0 do 31. powtażaja...
Sorry zmyliłeś mnie tym koden na 1820(18s20). DS18B20 w pierwszych dwu bajtach temperatura zapisana jest na 12bitah (11 + bit znaku), a w 1820 na dziewięciu (8+1 znaku). 50h i 05h to 0550h (0000 0101 0101 0000binarnie) jeżeli przesuniesz 4 bity w prawo otrzymasz 0000 0000 0101 0101 czyli 0055h czyli 85stC (gotowe stopnie). A w mlodszym niblu mlodszego...
Witam mam problem z programem do trawiarki mianowicie znalazłem na necie program do sterowania trawiarką chciałem do tego dopisać wybór menu żeby było jeszcze był drugi tryb sterowania trawiarką. Wgrałem program do uC i działało poprawnie potem chciałem wgrać ten sam program bez żadnych zmian na inna ATmege8 i okazuje się że teraz program działa trochę...
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...
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...
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. Chciałem zrobić sterownik wzmacniacza audio na bazie kitu AVT2829. Szczególnie zależy mi na uczeniu się dowolnego pilota. Zrobiłem płytkę przystosowałem do niej program, użyłem większego procesora (atmega8) no i program działa ale strasznie ułomnie. Procedura zapamiętania kodów z pilota przebiega jak należy ale już samo działanie jest strasznie...
Kurcze ale malutki jestem... :D Po skrócie 1. Nie używałem JTAG-a i ta wiedza póki co nie jest mi raczej potrzebna. 2. Wiem jak ustawia się fusebits, ale jak napisałem na AT mam wyłączony JTAG a na AT168 nie. Jednak magistrala na AT168 działa bez problemu i to na porcie C z włączonym JTAG-iem 3. Rezystor podciągający dobrałem metodą prób i błędów staneło...
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...
Jest to podobne -owszem. Oczywiście, że jest algorytm do obliczania CRC jak i LRC. Trzeba skorzystać z google i z pewnością coś się znajdzie. Na tym forum jak i na Wikipedii na pewno coś znajdziesz jak obliczyć CRC. Mogę tylko powiedzieć, że całość opiera się na przesuwaniu i używaniu funkcji XOR. Są też gotowe funkcje do znalezienia w necie które przyspieszają...
Witam! Od pewnego czasu usiłuje napisać program do obsługi zegara na pcf8583 i wyświetlaczach siedmiosegmentowych lecz bez efektu. Jest sporo tematów tego typu, ale większość zegarów realizowana jest na LCD. Główny problem polega na wyświetleniu czasu na wyświetlaczach 7segmentowych. Proszę o jakąkolwiek pomoc i podpowiedzi. Schemat układu: http://obrazki.elektroda.net/13_12708371...
I działa to tylko dlatego że bufor został przesunięty???? Tak. Jeżeli zastosujesz taki kod: $regfile = "M32Def.dat" $crystal = 16000000 $hwstack = 128 $swstack = 64 $framesize = 64 '---------------------------------------... Dim Timer1_licznik As Byte Dim Buffer(256) As Byte At 1024 Dim Write_position...
Witam. Buduję zegarek oparty o Atmegę32 i wyświetlacz na sterowniku ST7565R. Układ podobny do mojego [url=http://www.elektroda.pl/rtvforum/to... zdalnego. Skopiowany jest z niego program, oczywiście przerobiony odpowiednio i powycinane co trzeba. Na razie tylko go uruchamiam. I tak jak przy pisaniu programu pod "Panel zdalny" nie...
ale dla mnie wygląda podejrzanie wyrównywanie do całkowitej wyniku sin() i cos(). Tu wzorowałem się na kodzie ze strony http://www.dspguide.com/graphics/T_12_4.... . Tam wynik także jest zamieniany na wartość całkowitą poleceniem CINT - ogólnie obliczenia są prowadzone z użyciem zmiennych całkowitych. Chyba nie - nie wiem, co to za dialekt Basica,...
Kod po zmianach-przeniesienie napisów do eeprom; [syntax=basic4gl] '---------------------------------------... '***************************STEROWNIK AKWARYSTYCZNY***************************... '____________________________________by_... '**********************************RABBI...
Pin OE w stan wysoki i odłącza wyjścia od rejestru szeregowego układu. Pinem OE można nawet regulować jasność świecenia sterując go PWM. Wiersze mają zasilanie z tranzystorów a SCT ściągają odpowiednie kolumny do GND. Czyli z tego co widzę po schemacie tak jak u kolegi. Wpisuje dane do kolumn i włączam tranzystor zasilający wiersz 1. W kolejnym przerwaniu...
Raczej najpierw musisz sie nauczyć C No właśnie próbuję. Przez ostatnie kilka dni przewertowałem więcej PDF od kontrolerów, niż przez ostatnie 3 lata :D Na razie największy problem dla mnie to operacje bitowe - wiadomo w Bascom łatwiej. Kupiłem nawet Attiny4313, coby nie brakło pamięci. Problem był jednak w momencie polecenia włączenia przerwań, były...
Jesli to jest zawsze od najmłodszego bitu do najstarszego to można mieć tablicę pięciu bajtów i tam sie można odwoływać do kazdego bitu takiej tablicy. Na przykład: https://obrazki.elektroda.pl/4298129300_... W nowym Bascom jest mozliwość formuowania TYPÓW (Dim MyType As Type) i z tym pewnie tez by mozna coś pokombinować bo w takim...
Możesz to odwzorować w tablicy i przepisywać ekran. Przy pomocy Locate możesz zmieniać pozycję "kursora" na ekranie, czyli miejsce od którego zaczniesz wpisywanie tekstu. Pamiętaj jednak, że to czego nie nadpiszesz - pozostanie.
U mnie po zmianie tekstu który ma zostać wyświetlony z Bascom AVR na 12, na matrycy zaczęło się coś wyświetlać, ale nie to co powinno. Zamiast 12 wyświetla się 1,8,<,: i $, w różnych odstępach od siebie, i np. 8 wyświetla się dwa razy i to jedna po drugiej. Całość normalnie przesuwa się od prawej do lewej.
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...
Najlepiej wysyłaj określoną ramkę, np.: 0xFF hou minu sek t t1 (odpowiedni typ, jeśli nie jest 8 bitowy to go musisz "pociąć") 0xFF Odbierasz do tablicy w której elementy się przesuwają i co odbiór sprawdzasz czy pierwsza odebrana i 7. odebrana są 0xFF i w takim wypadku przepisujesz odpowiednie elementy tablicy do odpowiednich zmiennych. Da się to zrobic...
nie zapomnij że można wybierać zmienną z tabeli inną zmienną np portd = kolumny(k) a nawet bity portd = kolumny(k).b gdzie k i b to zmienne typu byte Możesz więc stworzony tekst umieścić w tablicy a potem np zmieniając początkową wartość zmiennej k robić przesuwanie tekstu. Ogólnie żeby nie smużyło to tak: portb = zmienna(1) stan na 1 kolumnie czas...
przesunąć tablica bascom przesunąć przesunąć wartość tablica
inwertera schemat arduino przerwanie diody prąd gniazdko lampa
egzamin zawodowy sharp parowanie pilota
Amica WA1S610 CLiSE – silnik nie obraca się, brak obrotów bębna, inwerter Logic Drive, BLDC Toyota Auris 2013 – blokada drzwi po włączeniu stacyjki, aktywacja autolock, Techstream, moduły CAN