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...
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...
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ę....
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...
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...
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...
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...
http://obrazki.elektroda.pl/9090946500_1... Witam. Chciałbym dziś zaprezentować niewielkie, pokazowe urządzenie. Idea zbudowania takiego cyfrowego portfolio sięga czasów, gdy gdzieś tu na elektrodzie pojawiła się "Elektroniczna Wizytówka". Bardzo zaciekawił mnie ten projekt, lecz większość podeszła krytycznie do nazwy "wizytówka". Postanowiłem...
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...
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...
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...
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...
przesunąć tablica bascom przesunąć przesunąć wartość tablica
przeciągać kabel peszlu antena zewnętrzna radia volvo silnika
nissan długo kręci sterowanie wieży
Firmware do chińskich świateł scenicznych - gdzie znaleźć? Błąd fffffc0d podczas instalacji Windows XP Home Edition