Dane możesz wprowadzać na zasadzie przesuwania czyli np. po odebraniu danych przepisz to co jest w pomiar pomiar[1] = pomiar[0]; pomiar[0] = odebrane_dane; roznica_bezwzgledna=sqrt((pomiar... /* lub tak if(pomiar[0] >= pomiar[1])...
(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...
Bardzo prosto :D jedna linia to dane druga to zegar ;) w skrócie zbocze/stan na clocku powoduje zapamiętanie stanu linii danych w rejestrze przesuwnym i w każdym kolejnym cyklu ta dana jest przesuwana o jeden bit do przodu aż dojdzie do 95 kolumny ;)
Lepiej żeby tablica "bity" była typu char, zajmie mniej miejsca w RAMie :) Drugi sposób bez przesuwania danych to: unsigned char i; unsigned char bits[8]; unsigned char byte; for(i=0;i<8;i++) { if ((byte & (1<<i)) > 0) bits[i] = 0x01; else bits[i] = 0x00; } Z tym, że na...
Strumienie raczej nie służą do edycji danych, jak sama nazwa mówi. Aby móc manipulować danymi musisz wczytać je do stosownej struktury (np tablicy dynamicznej lub listy), następnie tam przykładowo wykonać zmianę kolejności i ponownie zapisać.
Widzę, że wolisz kopiować niż się uczyć, więc pozostaje życzyć powodzenia. ... a jak dorobić scrolla Scroll to takie okno w ciągu danych - przesuwając to okno po tablicy uzyskujesz efekt przewijania. Oczywiście nie da się tego zrealizować w przykładzie, który podałeś, bo są tam hardkodowane nazwy poszczególnych opcji menu i na sztywno przypisane im...
Pamięć jest zorganizowana w komórki 16-bitowe, objawia się to np tym że wskaźnik programu wskazuje na słowo (2 bajty) a nie na bajt. Wszystkie instrukcje muszą być więc wyrównane do granicy dwóch bajtów. Jakkolwiek z poziomu samego programu pamięć flash jest zorganizowana bajtami, więc spokojnie można w niej umieszczać tablice bajtów bez utraty pamięci....
Cześć, rzadko się ostatnio udzielam ale chciałbym poprosić wyjadaczy o radę. Chce zaimplementować kolejkę FIFO (w C), dla której będzie możliwość usuwania elementów z jej środka. Jak najłatwiej się za to zabrać? Mam następujące pomysły: 1. Deklaruję zwykłą tablicę x elementową, oraz zmienną informującą o ilości zapisanych danych. Dodawanie kolejnych...
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...
Podchodzisz do problemu od złej strony. Najpierw radziłbym się zastanowić się nad strukturą klas odpowiednią dla takiej gry, jakich algorytmów/struktur danych użyć itp. Interfejsem użytkownika czyli jak przesuwać pionki na planszy zajmiesz się na końcu. Masz już przetestowane warcaby w wersji na konsolę? Jeśli dobrze zaprojektujesz strukturę klas, to...
Baniak puchnie.... Znowu dopada mnie załamka. Mam wielkie chęci do nauki, ale zdolności już nie te i załamuję się przez trudności w przyswajaniu wiedzy. Ale po co to robisz ? Skoro identyfikator ma być unikatowy, to właśnie nie powinieneś go zmieniać. Jedyne założenia to dodawanie rekordów na końcu pliku a usuwanie z dowolnego miejsca. Przesuwanie...
Tablica, a w niej zapisujesz dane/statusy produktów które zmieniają się w każdej pozycji. z cyklem maszyny przesuwasz dane w tablicy. na początku albo na końcu nadajesz nr i zapisujesz do pliku. jak duża tablica to korzystniej zmieniać wskaźnik bieżący.
Gdy siłownik wpycha partie mikstury w formach do piekarnika, szerokość formy 580mm, wrzucam do tablicy T Zanim wpiszesz receptę do T[0] przesuwasz dane w tablicy ?
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ą...
Zajrzałem do mojego starego kodu prostego oscyloskopu. Mam tam tablicę std_logic_vector o wielkości 640 słów. Co każdy cykl danych z ADC wszystkie próbki są przesuwane w tablicy o jedną pozycję a najświeższa próbka jest dopisywana na początku: for i in 0 to 638 loop samples(i+1) <= samples(i); end loop; samples(0) <= i_data Gdzie i_data to jest...
Brak schematu w zasadzie uniemożliwia podpowiedź. Jeżeli poszczególne rejestry przesuwne obsługują kolumnę diod to przesuwanie w napisu zgodnie z szeregiem rejestrów jest banalne, ale przesuwanie napisu "pod prąd" lub wykonanie jakichś innych efektów wymaga "odświeżenia" całości matrycy czyli wysyłania kolejno całych kompletów danych.
Po łebkach opisany algorytm... 1.Rysowanie wektora robisz tak a)rysujesz kreskę b)rysujesz trójkąt na końcu (pozycję obliczasz z wykorzystaniem zamiany wartości x/y c)wypełniasz trójkąt czarnym kolorem d)jeżeli jest włączona opcja przesuwania wektora to dodatkowo rysujesz 3 kólka (na początku, na środku do przesuwania całego wektora i na końcu) 2.Dane...
Przy użyciu tablicy będzie to bardzo niewygodne i mało elastyczne. Np przy usuwaniu musiałbyś przesuwać wszystkie elementy albo mieć tablicę pomocniczą z informacją czy dany samochód został usunięty. Lepiej zainteresuj się kontenerami, w tym wypadku najlepszym rozwiązaniem chyba będzie std::vector (na pewno prostszym niż std::list , bo nie będziesz...
Jak kopiujesz dane binarne to memcpy() a nie strcpy(), choć tutaj równie dobrze można zrobić to na pętlach for(). Do zrobienia jak to określiłeś szufladek, deklaracja tablicy powinna wyglądać raczej tak: [syntax=c]char pamiecRx[105][8][/syntax] Możesz też zadeklarować tablicę o rozmiarze 8*105 i przesuwać się po niej.
Nie miałem nigdy potrzeby czytania pliku binarnego więc jak to dokładnie jest to ci nie powiem. Nie powinno być jednak kłopotu ze znalezieniem opisu w sieci. Pamiętam że w procedurze czytało się określony blok danych z wybranego strumienia. W twoim przypadku tym blokiem może być 1bajt. Następnie rozbijasz go na bity (przesuwanie i maskowanie) i wstawiasz...
Dla pierwszych 8 ramek, które podałeś, wyszła prosta zależność. dotyczyło to trzech ostatnich bitów danych (0,1,2) , czyli ostatni nibble w zakresie 0 do 7. dla 00 CRC jest 7B, czyli 7B xor 00 (00 = odwrócone bity 00) :) dla 01 CRC jest FB, czyli 7B xor 80 (80 = odwrócone bity 01) dla 02 CRC jest 3B, czyli 7B xor 40 (40 = odwrócone bity 02) dla 03 CRC...
Oczywiście w żaden sposób nie zrobisz tak, aby jeden kanał DMA transmitował dane do trzech różnych, niepowiązanych ze sobą adresów. Ja rozumiałem twój opis tak, że przy jednym wyzwoleniu chcesz przesłać dane do 2-4 rejestrów CCxBUF, ale z kolejnych adresów tablicy. Jeśli to wszystko ma być chaotycznie porozrzucane to się nie da. Prościej zmienić ułożenie...
Ale to nie są tablice tylko wskaźniki Tablic (w moim patrzeniu) to w C nie ma nieprawda, język C wspiera operacje na tablicach. To że mozna ją zdefiniować róznorako to inna inszość, dajmy przykład: char napis[20]; // jest tablicą dwudziestoelementową typów 'char' co nadaje się na trzymanie tekstów struct MyStruct struktury[20]; // jest...
Podczas przeciągania (przesuwania) możesz widzieć linie (będzie to bardziej naturalne). Musisz jedynie stworzyć tablicę z danymi opisującymi linie (np.X,Y,L,kąt). Następnie po wprowadzeniu danych poszczególnych linii wyprowadzasz je na Formę w pętli która pobiera dane z tabeli. Ta pętla rysująca będzie wywoływana przy zdarzeniach: wprowadzania nowej...
74164 nie ma zatrzasku ale to nie szkodzi - przy szybkim taktowaniu danych - zmiana jest niewidoczna przecież na czas wpisywania danych można wygasić sygnał wyboru linii (żadna linia nieświeci).. hm.. pomysł bardzo dobry.. można powiedzieć że przewyrzsza mój pomysł prostotą i końcową ceną.. ostatecznie można zrobić tak jak ja to pokazałem ale zamiast...
Witam Mam Arduino Uno niedawno udało mi się podłączyć wyświetlacz graficzny 240x64 na sterowniku T6963c - użyłem biblioteki U8glib https://www.elektroda.pl/rtvforum/viewto... Potrafię już wyświetlać tekst - różne czcionki oraz grafikę. Grafikę trzeba przerobić na tablicę danych i wyświetlić w programie. Teraz mam pytanie czy...
wykres nie musi być bardzo płynny, ważne żeby w ogóle odwzorowywał dane To będzie wyglądać żałośnie. wykres ma zajmować cały ekran, czyli nie licząc osi to wielkość 180x275p 180*275*2 = 99kB do przesłania. W AVR nie ma tyle pamięci, w ŻADNYM!, jak pamiętam nawet XMEGA tyle nie mają). Więc właściwie należałoby powiedzieć, nie da się! W zasadzie to prawda....
Najlepszym rozwiązaniem jest notepad z win 2000 i XP , albo wordpad. Cenie je dlatego, że z szablonu html bardzo łatwo rozwinąc skrzydła do jezyków w stylu php. Jakbym miał to robić w jakimś edytorze graficznym to skończyło by sie to moim zdaniem katastrofą - Jakbym powstawiał zmienne tablice i fragmenty baz danych jesli po przejściu przez jakiś WYSIWIG...
Po pierwsze - Kod napisany niechlujnie bez znaczników code, brak komentarzy, skąd mam wiedzieć jak działa funkcja Multipleks() czy Wyślij(). Po drugie jeśli jest to kod zawarty w procedurze obsługi timera (czego się mogę tylko domyślać), to jest on stanowczo za długi (operacje mnożenia i dzielenia są bardzo pracochłonne) Procedura przerwania ma wyglądać...
Brakuje Ci struktury, która będzie przechowywała wszystkie książki. Strukturę "biblioteka" zmieniłbym na "książka", bo tak na prawdę, możesz w niej trzymać tylko jeden element. Skoro masz ograniczenie na 100 elementów, najbardziej prymitywnym rozwiązaniem byłaby tablica 100 obiektów typu "biblioteka" ("książka"). Przy czym tu musiałbyś rozważyć działanie...
Sprawa jest trochę skomplikowana, bo hiperłącza w Excelu nie lubią sortowania, a sortowanie nie przesuwa odpowiednio hiperłączy. Do tego jeszcze funkcja HIPERŁĄCZE nie obsługuje tablic, tylko pojedyncze komórki. Być może jest to do zrobienia z wykorzystaniem funkcji LAMBDA, nie próbowałem, ale obawiam się, że mogłoby to być dość powolne rozwiązanie....
Witam, potrzebuję Waszej pomocy, a mianowicie mam tablicę danych pomiarowych, w której znajduje się aktualnie 10 próbek pomiarowych char dane[10]={1,2,3,4,5,6,7,8,9,10} następnie potrzebuję przesunąć wszystkie elementy o 1 w prawo w tej tablicy (ostatni element odpada), następnie na pozycję dane[0] wpisać nową próbkę pomiarową. Napisałem coś takiego:...
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...
Sortowanie jest banalnie proste. Dla 10-ciu elementów w tablicy możesz użyć czegoś takiego: For i:= 1 to 9 do Begin loc = i; for k:= i + 1 to 10 if tablica[k] < tablica[i] then loc = k; tmpint:=tablica[i]; tablica[i]:=tablica[loc&... tablica[loc]:=tmpint; End Dla tablicy o rozmiarze...
Już wyświetla poprawnie, dzięki. Jeszcze mam pytanie: Do napisania procedura, która usuwa wprowadzonych użytkowników. Zrobiłem do tego specjalną tablicę boolean, której wartość przy dodawaniu zmienia się na true jw. I chcę zrobić tak, żeby przy usuwaniu użytkownika wartość danego indeksu zmieniała się na false. Wtedy w razie potrzeby można "przywrócić"...
https://obrazki.elektroda.pl/3788950300_... Kiedyś dostało się w moje ręce takie oto pół metra wyświetlacza alfanumerycznego o znakach wysokości 50 mm. Nie mam pojęcia do czego on służył, a opisy widoczne na maskownicy nic mi nie mówią. Poszukiwania w Internecie dają tylko parę ofert sprzedaży oraz kilka pytań na różnych forach, głównie...
Witam. Szczęśliwie dla użytkowników praktycznie wszystkie wyświetlacze alfanumeryczne LCD obsługuje się tak samo. Ich chipy sterujące są zgodne z HD44780. W skrócie obsługa LCD'ka wygląda tak: - inicjalizacja (zestaw komend sterujących, ustawia się min. sposób podłączenia 4/8 bit, ilość linii itp itd.). Sprawa dosyć dobrze opisana w większości datasheet'ów...
Odpowiedź jest wyżej: 5ms/div Zrobiłem zgodnie z propozycją: zakomentowałem linie dotyczące USART. Wynik: USART zakomentowany, linia z przesuwaniem value "aktywna". http://obrazki.elektroda.pl/7410206800_1... Niektóre jedynki są pomijane. Nadal obstaję przy swoim, że modyfikowanie value w przerwaniu trwa zbyt długo, a USART nie ma tu...
Tak jak pisze kolega ElMapet . Tablice w S7 300 maja postac blokow DB. Tam adresujesz swoje stale/zmienne i okreslasz ich typ. Gdybys chcial zrobic to np w SCL adresacja odbywa sie w nast sposob: Table1[0] := 01h ; Table2[1] := 02h ; gdzie wczesniej musisz zeklarowac rozmiar tabeli okreslajac ja nastepujaco: TYPE Table1 : ARRAY [0..255] of DWORD Wygoda...
Nie jest to na pewno optymalne rozwiązanie. Każda z diod jest sterowana osobnym sygnałem PWM z procesora. Wygląda to tak, że za pomocą SPI dane wysyłane są do 6 rejestrów przesuwnych (6*8 = 48). Dane są wysyłane co każdy krok podprogramu PWMa. Takich kroków jest tylko 12 ze względu na dosyć długi czas wysyłania danych. Mimo wszystko wystarcza to do...
Jak do tej pory myślałem że wyrównanie dotyczy głównie struktur i to takich które chcemy używać do przesyłania danych np. po RS232, zeby się nie okazało że ślemy jakieś głupoty wynikające właśnie z braku wyrównania. Możesz takim razie wyjaśnić, co u mnie powoduje to niewyrównanie? Poza tym zauważyłem, że ta moja funkcja do konwersji tablicy charów na...
Podaj SMART dysku. http://obrazki.elektroda.pl/5252616000_1... Na której partycji były cenne dane czy była tylko jedna partycja ? Na F: czyli tej większej Tylko ta jedna była zapełniona bo druga na tym dysku była pusta. Przy tak cennych danych zdecydowałeś się przesuwać początek partycji dla 10 GB bez kopi danych ? Bardzo ryzykowne...
Będzie szybciej, bo przy makrze, które stosowaliśmy Excel przy każdej luce w datach dodaje wartości i przesuwa zakresy danych i ma co najmniej dwa kontakty z arkuszem. Dla całej kolumny (nie wspominając już o 20) tych kontaktów będzie całkiem pokaźna ilość, a z tego co wiem, to właśnie podczas pobierania danych z arkusza i powtórnego wrzucania ich (to...
I2C to jest protokół komunikacji między uC, a sprzętem (np. tym czujnikiem). Może być zrobiony programowo "ręcznie" (wystarczy na 2 pinach ustawiać '0' i '1', oraz odczytywać jeden z nich w odpowiedniej sekwencji), ale to dodatkowa robota - lepiej mieć to w postaci gotowej biblioteki, a jeszcze lepiej załatwione przez sam uC sprzętowo. Multipleksowanie...
Witam! Jak dla mnie, to wcale nie jest dziwne że ten kod nie działa, nawet po zmianie adresów. unsigned char licznik[6] = {0,0,0,0,0,0}; void licznik(void) { ... } Nie możesz mieć w programie dwóch symboli (w tym wypadku tablicy oraz funkcji) o tej samej nazwie. Prawdopodobnie nie jest to jednak powodem złego działania,...
W zasadzie można do Word odczytać Byte. Ale na zasadzie konwersji typów. A Lookup nie pozwala na konwersję typów. Typ odczytywanego parametru jest narzucany przez typ zmiennej do której się odczytuje, a więc siłą rzeczy te typy będą identyczne. Jeżeli więc odczytujesz do zmiennej typu Word, to Lookup zawsze będzie odczytywało po 2 bajty. Musiał byś...
Rozwiązałem problem ze zmienna, podaje cały kod jeszcze raz, jeśli ktoś ma chwile zerknąć na obsługę przerwania czy tak może zostać, oczywiście zostanie mi poprawić kod na czytelniejszy i kilka innych małych zmian. Dołączyłem jeszcze kilka ledow, wiec doszła mi jeszcze jedna tablica oraz zmienna "d" która służy do opóźnienia wczytywania danych z tablic,...
ja widze ze to ma być bardzo uproszczona baza danych nawet to bardziej podchodzi pod tablice rekordów niż pod baze danych a ponieważ wnioskuje o średnio-niskim poziomie pytajacego toteż bawienie sie zgodnie z moim pierwotnym postem odradzam natomiast jeśli załozymy ze dane w tabeli bedą stałe ustalane w czasie pisania programu wiec spokojne mozemy postąpić...
Niestety wpisałem polecenie fixbot po usunięciu linuxa . Wcześniej jeszcze przed instalacją linuxa przesunołem pratycję przed partycję c żeby gruba dać na początek . Oczzywiście przesuwałem partycję z zainstalowanym już systemem xp. Wywaliłem wszystkie partycje po linuxie . I utworzyłem nowe w miejsce po linuxie. Następnie wpisałem polecenia fixmbr...
Witam, Od jakiegoś czasu Atmel/Microchip wprowadził do oferty nowe układy ATMEGA i TTINY z nowych serii określanych jako 0-series 1-series. Ponieważ zacząłem wykorzystywać układy z tych serii postanowiłem napisać do nich własny bootloader z szyfrowaniem danych algorytmem AES. Założeniem było aby go zmieścić w 768 bajtach kodu (mocno zoptymalizowany...
Witam! Projektuje domofon, a raczej przerabiam stary. Jednym z jego elementów będzie wyświetlacz LCD 16x2 , na którym to chciałbym wyświetlać dane o mieszkańcach. Imię nazwisko, adres zamieszkania, ale w sposób ciągły. To znaczy planuje zrobić to w ten sposób aby tekst przesuwał się z prawej do lewej, ale nie w paczkach danych jak to ma miejsce przy...
Mam drobny problem z odbiorem danych używając przerwania na RFM12B. Chcę użyć przerwania aby uniknąć ryzyka przegapienia danych z modułu nadawczego, gdy procek odbiornika zajmie się czymś innym. Źródła zaczerpnąłem z linków podanych wyżej w tym temacie. Nadaje ramkę w ten sposób: //======================================...
Cześć. Rozumiem, że to ma być ruchomy tekst? Tutaj jest tutorial dla After Effect, gdzie można zmieniać parametry scrolla. Efekt nie jest identyczny, ale bliski wzorcowemu, który pokazujesz na zdjęciach. Można z pewnością go zmodyfikować odpowiednio aby był bliższy oryginalowi. Ale nie wiem czy o to Ci chodziło? Zależy gdzie (na jakim wyświetlaczu)...
(...) ?$filter=business_date eq '${todayDate}'`;\n\nreturn msg;\n","outputs":1,"noerr":0,"initializ... Bezpośrednia odpowiedź na pytanie Aby funkcja „115” w Node-RED odczytywała dane z godziny poprzedniej, trzeba zmodyfikować sposób obliczania indeksu (który wybiera odpowiedni przedział czasowy z Twojej tablicy „value”). Poniższy...
:arrow: Zdarza się ... - To są konkretne układy, i połączone w konkretny sposób, więc albo coś jest, albo nie ma - i trzeba to sprawdzić oglądając połączenia, a nie snuć hipotezy bez podstaw do nich. Sensowne jest połączenie szeregowe, pozwala sterować wszystko trzema sygnałami. Czy przy połączeniu Q7 z MR następnego widzisz możliwość wpisania wszystkich...
Ja nie chcę zmieniać szybkości transmisji, tylko odpowiednio opóźnić włącznie sygnału SCK względem danych. Matryca ma 8*8 diod led. Zasilanie wierszy jest włączane bezpośrednio z mikrokontrolera przez tranzystory. Kolumnami steruje rejestr przesuwający. Moim pomysłem było wysyłanie całego tekstu (dłuższego niż matryca) i włączanie/wyłączanie w odpowiednim...
wskaźnik składa się z z 32 bitów. najmłodsze 3 bity to numer bitu, dalej bajty Np wskaźnik AR1 będzie na 1.3 czyli = 0000 1.011, tam dalej jeszcze 24 bity wskaznika po pierwsze jeżeli nie używasz bitów, 3 pierwsze muszą zostać skasowane, można to robić okreżną drogą, ale nie trzeba, do tego użyjemy przesunięcia SLD jeżeli masz z licznika np 2 = 0000...
Stwórz sobie własny protokół żeby procek odbierał komendy i dane Przykład wersji uproszczonej komenda ( np #200 zapis do eepromum #201 odczyt itp) długość ( długość danych) dane i wysyłasz #200 ( kod komendy) #10 ( długość danych) #adr_hi ( adres do zapisu) #adr_lo ( adres do zapisu) #dana1 (dane do zapisu) #dana2 #dana3 #dana4 #dana5 #dana6 #dana7...
Kolego danthe mylisz się. Matryce tylko teoretycznie są jednakowe jednak poszczególne diody w matrycach różnią się od siebie zwłaszcza napięciem przewodzenia właśnie. Jednak masz rację, że obniżenie napięcia zasilania wierszy pozwoliło by na delikatną redukcję mocy wydzielanej na driverach. Jednak należy zachować margines i w tym celu są właśnie rezystory...
Klawiatura jako taka nie ma swojego buforu. Jak tworze bufor? rezerwuje np 32 bajty pamieci (tablica 32 bakty) i tworze zmieną "licznik" W procedurze przerwania odebranie nacinietego klawisz i jego zdekodowanie wpisuje do kolejnych komorek kod klawisza. jednoczesnie zwiekszam zmienna licznik. Przy "wyciąganiu" danych z bufora odczytuje pierwszy bajt...
Rzeź to nie będzie, tylko proste szukanie właściwego sposobu liczenia crc. Crc jest na tyle przewidywalne, że mając poprawne crc dla samych zer oraz zmianę crc dla każdego jednego bitu można generować wszystkie poprawne sumy. Działa tutaj ten sam mechanizm, co w twojej tablicy CRC8_TABLE, przez który dla dowolnych a i b zachodzi: T[a] ^ T[b] = T[a^b]...
(at)ElektrodaBot jak dodać większą czcionkę np. font16x16 do biblioteki arduino TVout? Bezpośrednia odpowiedź na pytanie - Aby dodać większą czcionkę (np. 16×16) do biblioteki Arduino TVout, należy przygotować własną tablicę danych (bitmapę) dla poszczególnych znaków i zaimportować ją do biblioteki jako czcionkę w formacie PROGMEM. - Następnie w plikach...
Jakiś czas temu w moje ręce trafiła tablica świetlna. Chciałem wykorzystać całe urządzenie lecz ze względu na brak dostępnej dokumentacji (protokół transmisji) postanowiłem zbudować własny sterownik w oparciu o ATmega32. Co do protokołu pytałem w tym temacie lecz nic z tego nie wyszło. http://www.elektroda.pl/rtvforum/topic22... Trudno mi określić...
http://obrazki.elektroda.pl/8851662100_1... Witam wszystkich Chciałbym tu zaprezentować swoją konstrukcję sześciocyfrowego wyświetlacza LED z interfejsem 1wire. O tym że 1wire jest chronione patentem dowiedziałem się już po zlutowaniu płytki w trakcie pisanie program. Mam nadzieję, że zmiana protokołu komunikacji pozwoli uniknąć złamania...
Od czasu, gdy w przypływie szaleństwa, kilka lat temu udało mi się spłodzić pakiet zmiennoprzecinkowy na '51 (4 działania+ kilka podstawowych funkcji), cierpię na uczulenie w tym temacie. Dlatego proponuję prostsze rozwiązanie, które nie tylko uprości program, ale również powinno zredukować do minimum czas obliczeń. Stosowałem ten sposób parę razy do...
Witam, nie do końca wiadomo, co dokładnie chce osiągnąć Autor tematu. Ja pisałem o metodzie cyfrowej. Przecież to są pojedyncze linijki kodu. Heterodyny: pobieranie danych z tablicy sinusa (albo po prostu liczenie sinusów, jak ktoś ma odpowiednio mocny procesor). Mieszacze: Zwykłe mnożenia. Filtry: Formuła z kilku mnożeń i kilku dodawań. Jeżeli jest...
Witam, mam taką prośbę do kolegów jeśli ktoś posiada dostęp do sterownika S7-1500 lub S7-300 i ma chęć i ochotę przepisać poniższy kod oraz uruchomić go na sterowniku i podać czas realizacji cyklu (minimalny, średni, maksymalny). Będę bardzo wdzięczny a w nagrodę podam czasy realizacji poniższego kodu na sprzęcie: - Wago 750-8213 dla programu w CodeSys-e...
https://obrazki.elektroda.pl/7268233500_... Ten artykuł powstał w odpowiedzi na propozycję kolegi (at)Techekspert i jest rozwinięciem mojej prezentacji przedstawionej na konferencji The H(at)ck Summit w dniu 20 października 2023 r. Samą prezentację możesz pobrać stąd: Wyrzucamy algorytm Gutmanna do kosza Podstawowe informacje o niszczeniu...
Kolego BlueDraco, skompiluj to, pokaż co wyjdzie w ASM dla przerwania. Nie analizuj algorytmu, bo nie on jest problemem. Programowaniem (w tym mikrokontrololerów) zajmuje się już tak długo, że łohoho, skoro wziąłem taką tablicę lokalnie to uznałem, że tam może być (akurat tutaj nie musi, ale może), bo zostaje mi jeszcze sporo pamięci. Nie czepiaj się...
Panowie, w pracy mam spore problemy z netem, także teraz w domu na spokojnie wszystko sobie przygotowałem, jednak mam ten sam problem> W załączniku przesyłam mini projekt skupiający się tylko na przesuwaniu rejestru błędów w bloku danych: https://obrazki.elektroda.pl/8054753000_... W UDT2, mam przygotowaną strukturę błędu, która...
20 taktów na jeden bajt co najmniej. 3 porty po 8 wyprowadzeń, 8 wierszy, przyjmijmy odświeżanie 50Hz, i już mamy strumień danych: 20*3*8*8*50 = 192000 kilobitów/s. Oczywiście aktualizacja nie powinna być podczas wyświetlania linii, więc częstotliwość trzeba by zwiększyć i to znacznie - a i tak mamy słabe parametry. I2c zdecydowanie nie wyrobi. Przy...
Masz rację z można to zrobić na tablicach. potrzebuje zapamiętać 4 zmienne dwie trzy typu string i jedną long. zrobię 4 oddzielne tablice i będę się odwoływał do wszystkich za pomocą tego samego indeksu wtedy będę miał dane po kolei, w tablicach tez łatwo mogę przesuwać. Nie wiem tylko czy mi pamięci wystarczy. Chciałem to zrobić jakoś ciekawiej, ale...
Witam, Chciałbym narysować przebieg sygnału mierzonego przez przetwornik A/C mikrokontrolera. Niestety za nic w świecie nie potrafię tego zrobić. [syntax=c]#define F_CPU 16000000UL #include <avr/io.h> #include <avr/pgmspace.h> #include <util/delay.h> #include <stdlib.h> #include <avr/interrupt.h> #include "pcd8544.h" //...
Witam. Po raz kolejny potrzebuje waszej pomocy. Mam następujący schemat (przepraszam za mocne uproszczenie). http://obrazki.elektroda.pl/2178470000_1... Jak nie trudno się połapać jest to coś w rodzaju tablicy LED. Wiem że linie wejść lepiej buło by dać przed rezystorami (połączyć je bezpośrednio z wyjściem poprzedniego rejestru) ale takie...
Mam napisac taki oto program na '51: mam sobie tablice w pamieci zewnetrznej o wielkosci 1,2,3....x256 zaczynajac od adresu 2000H i mam poukladac elementy w tej tablicy rosnaco. Program napisalem wykorzystujac sortowanie babelkowe, tylko cos jest nie tak. Czy ktos moglby na to rzucic okiem i napisac, gdzie ewentualnie tkwi blad. Z gory dzieki $mod51...
Witam, Staram się zrozumieć rozkazy w jezyku C do wyświetlacza LCD ze sterownikiem HD44780. Nie moge do końca zrozumieć tej tabelki z rozkazami która jest na tej stronie: #include <reg51.h> // definicja rejestrów 8051, plik nagłówkowy #include <stdio.h> // definicja rejestrów 8051, plik nagłówkowy char xdata LCD_WR_S _at_ 0xfff0; // wpis...
W jakim trybie używasz DMA ? Jak ja robiłem I2S to wykorzystałem DMA w trybie Circular ze zdefiniowanymi przerwaniami od transfer complete oraz half transfer complete. Po wystąpieniu się przerwania uzupełniałem danymi część bufora, która aktualnie nie jest transferowania. Wszystko działało płynnie. W trybie wyzwalania jednorazowego tzn. po wystąpieniu...
Posiłkując się książką Kerningham, Ritchie "Język ANSI C" udało sie stworzyć funkcję "prawie idealną" ;) Kod wstawiam dla potomnych... DS18S20_FAMILY_CODE 0x10 DS18B20_FAMILY_CODE 0x28 DS1822_FAMILY_CODE 0x22 Jak widać, aby to było kompatybilne i działało z różnymi czujnikami FamilyCode musi być zapisywany/porównywany. Co do kwesti CRC. Jego zapisywanie...
http://obrazki.elektroda.pl/8464088900_1... Witam, Chciałbym zaprezentować wszystkim swoją konstrukcję, która była również tematem mojej pracy inżynierskiej. Jest to LED Cube 4x4x4, który mruga w rytm muzyki. Układ sterowany jest za pomocą mikrokontrolera STM32F4Discovery. Sześcian można podzielić na cztery kolumny oraz cztery ściany....
(at)Boruc95: Płytka z pierwszego zdjęcia była robiona jako pierwsza - po prostu zapomniałem na końcu odwrócić tekstu ;-). (at)bobo Moje matryce 8x8 5mm mają chyba około 6cm (chyba 57mm), więc jest to kwadrat o boku około 22,8cm lub prostokąt 45,6cm x 11,4cm. Co do przewodów to faktycznie, nie wyglądają zbyt estetycznie, ale jednak zdecydowałem się na...
Co do pierwotnego programu to przyspieszenia można by dokonać zmieniając pewne rozmiary danych (np. index może być 8 bitowy) Można by jeszcze stablicować rozmiar kroku >> 3 odpadnie przesuwanie diffq = step >> 3; robione na zmiennych 16 bitowych Jaka jest rozdzielczość próbek wejściowych 16 bitów czy mniejsza ? Pewne sprawdzenia też są do...
Dzieki za odpowiedź, ale tak się zastanawiam, ile to sie bedzie wykonywać. Wiem, że C dla uP-ów powstało po to, żeby było łatwiej, ale chciałbym jakoś możliwie najmniej czasożernie to zrobić i żeby co odpalenie przerwania to się wykonywało tyle samo czasu. Jakieś przesuwanie bitowe, coś w tym stylu. Może by wczytywać z tej tablicy dane do jakieś temp...
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...
Witam. Nie mogę sobie poradzić z pewną sprawą dotyczącą oprogramowania wyświetlacza LCD. Mam napisany program obsługi LCD, jeśli numery wyjść portu C mam ustawione w ten poniższy sposób to LCD działa: [syntax=c] #define DDR_LCD DDRC #define PORT_LCD PORTC #define RS_LCD 2 #define EN_LCD 3 #define DB4_LCD 4 #define DB5_LCD 5 #define DB6_LCD 6 #define...
Cześć Mam problem, którego sam nie potrafię rozwiązać i liczę na Waszą pomoc :-) W dużym skrócie mój problem polega na tym, że mam dwa zakresy danych, na podstawie wartości z jednego zakresu muszę wyszukać wartość w drugim zakresie, jeżeli makro znajdzie tą wartość to zostawia ją bez zmian, jeżeli natomiast wartości w zakresie jest brak to usuwa cały...
Nie ma mnożenia, najwyżej przesuwanie w lewo o 1 - jedna instrukcja, jeden cykl. Oczywiście jeśli dane w tablicy mieszczą się na jednym bajcie, to powinny mieć typ bajtowy, a nie 16-bitowy.
Kolego kwarc mam 12MHz. Fuski oczywiście dobrze ustawione. Sprawdziłem też na wewnętrznym 1MHz i 8MHz - też nie działa. (Oczywiście we właściwościach projektu też zmieniłem) Hehe, dopiero teraz zauważyłem, że sprawdzam flagę zajętości we funkcji do jej sprawdzania ;) To też poprawiłem, ale dalej nie działa. EDIT. OK, wiem już co było nie tak. Dodanie...
bjonix : TvWidget pisał o próbowaniu czujnika którego użył. Czyli jakiegoś ADXL. Dlatego próbkowanie to było 25Hz i to była prawidłowa wartość (prawidłowa w tym sensie że możliwa). Natomiast to co podajesz czyli 50...120kHz to nie jest próbkowanie czujnika FGM-3. To jest jego sygnał wyjściowy w postaci częstotliwościowej. Choć tą częstotliwość wyjściową...
Witam. Bardzo was proszę o podawanie stron internetowych w których znalazłbym odpowiedzi do tych pytań: Przesłanki do konstrukcji i stosowania. języki w programowania. Wymagania dla JP. Panorama JP. Definicja JP. Elementy przetwarzania kodu źródłowego. C. Bibliografia. Leksyka C. Jednostki leksykalne C. Odst©py. Komentarze. Identyfikatory. Sowa...
Wzmocnienie wzmacniaczy zmienia ci tylko jeden współczynnik przez który mnożysz/dzielisz w programie, nie ma się czym przejmować. Czy czułość masz określoną dokładniej, niż rezystory ustalające wzmocnienie wzmacniacza? Bo jeśli nie, to nie ma powodu robić ponownej kalibracji po zmianie wzmocnienia. Czyli jeżeli na przykład czułość wynosi 175mV/g, to...
https://obrazki.elektroda.pl/7554464800_... Jak działa rejestr przesuwny? Jak można kaskadować rejestry przesuwne tak, aby uruchomić 48 diod LED za pomocą jedynie dwóch linii - zegara i danych? Tutaj postaram się to zademonstrować na przykładzie płytki z elektrośmieci, którą też najpierw przeanalizuję. Rozpoczynamy zwiad. Na płytce...
Tutaj chodzi o sygnał audio, zwyklą muzykę. Chcę z tych 24 bitów zrobić 16 bitów bo taką mam pamięć SRAM. Potem ten sygnał będzie "domiksowany" do sygnału głównego, 24-bitowego. Skoro nasz sygnał muzyki jako już zedytowany, znormalizowany materiał to faktycznie 16 bitów wystarczy w zupełności bez kompromisu jakościowego. Zauważ zresztą że miksując...
https://obrazki.elektroda.pl/7393623100_... Witajcie, dziś dla odmiany mała zabawa programistyczna. Przedstawię tu jeden prosty trik na oszczędzanie pamięci przy zapisie typu integer w języku C i nie będzie to po prostu rada w stylu "użyj typu 8-bitowego zamiast 32-bitowego". Pokazany tu typ sam dobierze sobie potrzebną ilość bajtów...
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...
https://obrazki.elektroda.pl/8661538600_... Zainspirowany podcastami o historii komputerów (podcast #19 - Toksyczna pojemność - rtęciowa, akustyczna linia opóźniająca Linia opóźniająca opiera się o zjawisko przewodnictwa akustycznego w różnych materiałach. Dźwięk w powietrzu rozchodzi się z prędkością 343m/s. W wodzie morskiej, ze...
Dzięki serdeczne za odpowiedz!!! Problem polega na tym że poprawne dane (te które przeszły CRC) muszą trafiać do jakiegoś bufora... następnie mając całą poprawną ramkę w buforze chciałbym po rozpoznaniu funkcji (odczytanie która to funkcja to banał wystarczy odczytać ramka[2] i porównać ze wcześniej zdefiniowanymi stałymi) WYŁUSKAĆ z pola "DANE" odpowiednie...
FFT da widmo. Teoretycznie dominujący prążek jak tym którego szukasz. Czasami, prościej zastosować transformatę z definicji niż robić FFT. Myślę, że kodów na FFT w C jest w necie setki tysięcy. Kilka punktów do rozważenia: 1) Jeśli nie ma się szybkiego komputera, lub czegoś ze sprzętowym liczeniem zmiennoprzecinkowym, stosuje się stałoprzecinkowe obliczenia...
Witam jeszcze raz. Znowu mam problem. :/ Napisałem już mniej więcej funkcję, która będzie pobierała znaki z pola Memo1 kodowała je i wysyłała na mikrokontroler. Oto ona: void __fastcall TForm1::Button1Click(TObject *Sender) { if(!Memo1->Text.IsEmpty() & Memo1->Modified) { String Tekst = Memo1->Text;...
Przedstawię tu wnętrze i naprawę bardzo prostego "skanera diagnostycznego" 24DIAG Vag Lite. V-Tooltech Mini-VAG Dostałem ten tester od znajomego, który dwa lata temu temu zamienił samochód grupy VAG na nową Koreańską KIA Sportage. Po podłączeniu "skanera diagnostycznego" do samochodu VW Polo 6R, urządzenie nie potrafiło nawiązać komunikacji ze sterownikami....
Witam wszystkich urzytkownikow forum probowalem wysterować Wyświetlacz 2x16 LCD przez I2C na 4 bitach przez I2C (sterowanie przez 8-bitowy port I2C PCF8574) niestety cos mi ten program nie chce dzialac[procek 2313]! Problem chyba tkwi juz przy samej inicjalizacji.Czy ktos juz cos takeigo robił? Ponizej sa pliki z tym co zrobilem. Samo wysylanie i odbieranie...
zapis danych tablicy odczyt danych eeprom tablicy odczyt danych tablicy bascom
termostat lodówki regulacja śrubki uszkodzony zasilacz telmor zmieniłem ustawienia monitora
zwrotnica magnat quantum kalkulator simlock nokia
Bezpiecznik Webasto w Fiat Ducato 2016 - lokalizacja Zakres pracy ciągłej kotła: Efektywność i bezpieczeństwo