UCSRC = (1<<URSEL)|(1<<U... // z manualna Atmegi zapożyczone:) i działa jako 8b czyli UCSZ0 = 1 oraz UCSZ1 = 1 ;) (3 << UCSZ0) to jest 11 przesunięte o miejsce w rejestrze bitu UCSZ0 Dodano po 8 01 to raczej 7b po mojemu:]
RC5 to przede wszystkim Philips. Natomiast Panasonic prawdopodobnie wykorzystuje jakiś swój protokół (ten mój pilot chyba też w nim pracuje). Według książki "Mikrokontrolery w systemach zdalnego sterowania" Z. Hajduka, Panasonic nadaje w 48 bitowych ramkach, o czasie trwania 76ms, z kodem typu SPACE. Starsze modele Panasonica miały ramkę 22bit i czas...
Nie skopiujesz sam takiej karty. Nie ma takiego pojęcia"czysta karta" bo jej numer nadawany jest od razu w fabryce. Czytałem kiedyś, że komuś się udało ale to wymaga pewnie dużej wiedzy i sprzętu. Podstawową cechą tych kart to właśnie unikalny numer. Każda karta wysyła 64 bitową ramkę danych (preambuła synchronizacji, znacznik początku ramki, dane kart...
Chwilka, jeśli używasz max488/490 w konfiguracji jak na rysunku w pierwszym poście to nie ma prawa działać - masz tam zwarte wyjścia układów. Ten układ nie ma pinu DE/RE więc można go stosować wyłącznie w układzie full duplex jak na rysunku z twojego poprzedniego posta. Czyli dwa układy, nic więcej. Aby zastosować wiele układów, musisz użyć np. max489/491,...
Jeszcze powinno się wiedzieć, że przez UART przesyła się bitami słowa mające charakter typu char. Przesyłane dane nie mają żadnego typu. Typ narzuca programista interpretując dane. I tu jest problem, bo po obu stronach interpretacja nie musi być taka sama. Ale to zupełnie inny temat, który może omówię w kolejnej części. Z drugiej strony, w programach...
Można było - jednak wbudowany kontroler LCD jest tu najważniejszą zaletą. Większość AVR ma SPI jednak nie obsługują zmiennej długości słowa. Ogólnie muszę zastąpić kontroler LCD HT1621 który to ma 12 bitowe słowo kontrolne. Muszę jeszcze zdjąć analizatorem ramkę - jeżeli okaże się że wysyłana jest cała zawartość pamięci (128bit) , adres i 3 bity początkowe...
Czy da się poprzez CAN wykorzystując protokoły OBDII odczytać stan zamknięcia drzwi w pojeździe? Przeszukałem kilka baz danych z informacjami jakie można wygenerować zapytania przez OBDII (Service ID + PID), ale nie znalazłem tam żadnego PID, który by w odpowiedzi udostępniał taką informację. Czy jedyną możliwością jest czytanie "surowych" ramek CAN...
Rezystor pomiędzy AB to właśnie terminator, powinien być na obu końcach sieci. Oprócz niego potrzebujesz rezystory polaryzujące linie A i B. DE i RE łączysz razem, wszystkie odbiorniki mają je tak wysterowane, aby przełączyć transceiver na odbiór. Tylko nadajnik ma odwrotnie. Swoją droga, wykorzystaj 9-bitowe ramki i jeśli te slavy to mikrokontrolery,...
Dane można zakodować 7-mio bitowo. Wtedy zajęte będzie tylko 7 bitów a ósmy bit będzie miał wartość 0 (w danych). A bajt kończący ramkę będzie pełny 8-mio bitowy i jego ósmy bit powinien być stawiony i po tym by się go rozpoznawało. Albo żeby nie bawić się w konwersję 8-->7bitów i potem spowrotem 7-->8bitów, to można zastosować RSa 9-cio bitowego. Wtedy...
Możesz załączyć wawe'a tego sygnału... wrzucę w analizator może da się ustalić jaki to typ transmisji... podłączyłeś to do terminala ??? coś się pokazuje ??
Z tego co mi wiadomo to offset 03h jest rejestrem LCR. 3-5 bity to ustawienia kontroli parzystości. bit 2 to ustawienie bitów stopu. Jak to sie ma do wpłynięcia na "dziewiąty bit"? pozdr.
a nie jakieś ramki bitowe z przykładami z GPS No to prześlij ramki IntelHex i raczej nie bitowe a bajtowe. Najczęściej wzoruje się właśnie na IntelHex, jakiś start (w IntelHex ':' często daję '#" lub '(at)'), liczby koduje jako tzw HexAscii, i stop, najczęściej CR+LF. Dlaczego ASCII? Niby strata, dwa znaki ASCII na bajt, ale jak nie przysyłam często...
A wysyłanie ramki 9-bitowej, zamiast 8-bitowej? W 9-bicie mógłbyś umieścić dodatkowe informacje, np. znacznik końca ramki.
Nie wiem czy to miałeś na myśli, ale teraz się doczytałem, że ramka chyba miała być 11 bajtowa (nie bitowa). Jeśli te znaki miały być kodami szesnastkowymi, to wydaje mi się, że powinny być zapisane '\x8A\x54\x01'. Masz możliwość zapętlić porty, żeby zobaczyć dokładnie jaka jest różnica między ramką wysłaną z Windows'a i z Linux'a?
Pasałem o ramce bitowej - jest inna niz "standardowo" w PC 1 + 8 + 1 + 1 - chodzilo mi o 1 start + 8 dane + 1 parzystosc + 1 stop bit Predkości sie zgadzaja? Max... nie powinien stanowic problemu. Zrób jakis loopback test - to sie wszystko wyjasni. (tzn w sensie jakie drugie ustrojstwo po drugiej stronie np drugi Rpi i sprawdz)
Nadałeś identyfikator wiadomości: msg.id.std = 0x00; Możliwe żę powinien byc inny. Sprawdż jaki wogóle powinien byc identyfikator 11 czy 29 bitowy, czy należy wysłac zwykłą ramkę danych czy żądanie transmisji.
Jedyne co mi sie rzuca w oczy to brak nawiasow. Nie majac tabelki priorytetow wykonywania operacji przez kompilator trzeba uzywac nawiasow zeby uniknac niespodzianek...
Dobrze myślisz. Polecam Elektronikę Praktyczną, nr 3/2014 (dostępny już za darmo) i 12/2015 (w sprzedaży). Na F0 i L4 możesz wysyłać ramki po 12 bitów i kodować po 4 bity w przerwaniu SPI. Na pozostałych - 8 albo 16, wtedy lepiej jest użyć DMA, chociaż w przerwaniu też da radę. Potrzebujesz 24 bitów na składową, czyli 6 ramek 12-bitowych albo 4.5 ramki...
Gdyby był problem z sprzętowym CS (wg. user manual SSEL) zawsze możesz użyć innego pinu do wybierania CS i sterować ręcznie, sam nieraz tak robię. Zajrzałem do UM LPC2016 pozwala na 5 bitowy rozmiar ramki, konfiguracji dokonujesz w rejestrze SSPCR0. Algorytm byłby taki: 1. Ustawiasz 5 bitowy rozmiar ramki 2. Wpisanie polecenia dla przetwornika do rejestru...
Można też wysyłać dwie ramki 12-bitowe. Do zakończenia transmisji można wykorzystać bit LASTXFER (Last Transfer) w rejestrze SPI Transmit Data Register.
dwa źródła problemu - rozjazd czasu nadawania i ramki oraz odpłynięcie F nadajnika poza pasmo przepustowe filtra wejściowego plus zakłócenia i interferencje na tej F Ale ten rozjazd F nadajnika musiałby być naprawdę spory bo odbiornik jest bardzo prymitywny, ma tylko jeden filtr rezonansowy na wejściu i to niezbyt selektywny. Z kolei to okno czasowe...
Zobacz na to: https://obrazki.elektroda.pl/3006808900_... Generalnie kombinowałem z tymi danymi. Jednak jakby z tego nie kopiować ramki, to nie zgadza się CRC. W danych jest też bardzo dużo zer. Jesteś pewny, że masz prawidłowo ustawione parametry transmisji (przepływność bitowa, format ramki)?
Panowie, bez jaj. Ten LCD mam 128x160 pixeli, łącznie w trybie 16-bitowym ramka ma 40 kB. To dla SPI 10 MHz (ATMega) daje daje ponad 30 fps. Dla XMEGA (SPI 16 MHz) daje prawie 49 fps, dla ARMa dostaniemy tyle samo. Dlaczego? Bo wystarczy rzut oka do noty, aby się przekonać, że maksymalny zegar dla trybu SPI tego kontrolera to 15 MHz, połowa z tego przy...
A co to za nowy program do monitoringu na 64 bitowym windowsie ? Podpatrzyłeś ramki odpalajać guardx'a ? Wydaje mi się że tak chyba najprościej ...
Wpisz w googlach tiny rtc i2c znajdziesz schemat modułu :) Krótko o I2C: ramki są 8 bitowe, chcąc zapisać cokolwiek do slavea trzeba w pierwszej ramce wysłać jego adres i następnie adres pamięci / rejestru do którego bedzie zapis, po czym wysyła się daną lub dane. Jeśli chodzi o odczyt ze slavea trzeba wysłać w pierwszej ramce jego adres i nastepnie...
Powinieneś iść w stronę nadajnika różnicowego czyli np. RS485. Jeżeli masz sporo zakłóceń to powinieneś wysyłać ramki z bitowo zakodowanym stanem poszczególnych klawiszy zabezpieczone CRC i potwierdzeniem z odbiornika. Program do mikrokontrolerów będzie bardzo prosty.
Kiedyś używałem pilota od segmentowego zestawu audio SONY i ten pilot nadawał 12-bitową ramkę danych.
Ale ten sposób wysyłania ramek to trochę nie teges. A jak poprawnie się wysyła takie ramki i czym? Nie możesz po prostu sprawdzić w opisie programu jak należy formatować dane? Bo domyślam się że to jakiś terminal jest. Na Wikipedi jest opisane tak: "Minicom to program do kontroli modemu oraz emulator terminala dla systemów uniksowych" Ciężko Ci pomóc...
Na wszelki wypadek nie pokazałeś kodu obsługującego transmisję, a to w nim jest zapewne problem. Poza tym proponuję przestawić SPI na ramki 16-bitowe. Oczywiście najlepsze będzie rozwiązanie DMA; ale nei ma powodu, żeby takie bez DMA jakoś nie zadziało. Pewnym problemem może też być użycie bibliotek - kod jest koszmarnie długi i wolny.
Kodu żadnego z obu uC nie pokazałeś, a wróżki śpią, więc nie oczekuj pomocy. A tak na marginesie - skąd pomysł, żeby dane pomiędzy dwoma uC przesyłać równolegle, a nie np. po SPI? Przepustowość ta sama albo lepsza (możesz przesyłać ramki 16-bitowe), połączenie i obsługa - prostsze.
Witam. Komunikowałem się z programem AMD-F do odczytu danych z falownika. komunikacja była na: ramka 11-bitowa dla znaku 8 bitów czyli 8,N,2 Uruchomienie falownika odbywa się za pomocą adresu 2000H czyli wysłanie 12h czyli praca w lewo. Jak skomunikować się z twido ;/ %MW0 := 16#0012 ;/ Czy ktoś próbował komunikować się z podobnym sterownikiem. Pozdrawiam.
(...) gnał, widzę tylko cyfry w debugerze. Z kolei do PCM5102 jeszcze nie pisałem prostego kodu, chociażby sinusoidy, to jest w planach. 7. Połączenia są poprawne. Zasilanie zgodne z dokumentacjami technicznymi, PCM1808 respektywnie ma dostarczone zarówno 5 V jak i 3.3 V, PCM5102A ma dostarczone tylko 3.3V. Dziękuję za dodatkowe informacje i szczegółowy...
Zamień sobie 0x4E na zapis binarny, wklej to w ramkę (pamiętaj, że ramka jest 7-bitowa) gdzie masz jeszcze start, stop, parzystość i sprawdź ile razy w tej ramce będzie się zmieniał stan z wysokiego na niski. W praktyce oznacza to, że każdy przejeżdżający samochód wygeneruje kilka zbocz (ile to sprawdź sam) i te 2400 będziesz musiał podzielić przez...
Jest taka komenda SpiOut, zobacz w manualu jak to oprogramować i powinno wszystko być jasne. Powinieneś wysłać dwie 8-bitowe ramki ale to już wynika z budowy Twojego potenciometru. Pozdrawiam
WS2814A ... cóż, szczerze mówiąc, pierwszy raz widzę ten układ, ale wykazuje on znaczne podobieństwo do diod WS2812. Sprawdźmy arkusz danych: https://obrazki.elektroda.pl/6439973400_... Taktowania są podobne.... ale ramka jest 32-bitowa, a nie 24-bitowa jak WS2812B. Wymagałoby to pewnych dostosowań w naszym sterowniku, ale mimo to nasz...
Nie skopiujesz sam takiej karty. Czytałem kiedyś, że komuś się udało ale to wymaga pewnie dużej wiedzy i sprzętu. Podstawową cechą tych kart to właśnie unikalny numer. Każda karta wysyła 64 bitową ramkę danych (preambuła synchronizacji, znacznik początku ramki, dane kart czyli jej unikalny numer zapisany na pięciu bajtach, sumę kontrolną CRC8, potwierdzenie...
Witam! Mam następujący interface z urządzeniem. Ramka danych: 1 bit startu 32 bity danych 1 bit parzystości 2 bity stop Prędkość nadawania bitów ramki 10Mbps Odstęp pomiędzy ramkami około 100-150us. Czy uC AT32UC3A jest w stanie łyknąć taką transmisję poprzez interface SSC (10MBps)? Proc musi się znając odebraniem danych, przerzuceniem w bufor i wypchnięciem...
Popatrzyłem się trochę w te liczby i chciałbym kolegę trochę naprostować. Struktura tych plików jest znacznie prostsza:) Pierwsze 8 bajtów nagłówek. Następnie dane są w 64 bitowych (2x 32 bity) porcjach. Piewsza porcja to dwa słowa 32 bitowe o wartości 0x0 :) Potem są kolejne dane po dwa słowa 32 bitowe (4bajty). Pierwszy jest jakimś adresem, może offsetem...
Dzięki za dobre słowo, myślę że na stabilność pracy systemu składa się kilka czynników, przede wszystkim prostota protokołu i zastosowanie komunikacji przewodowej. Opiszę teraz pokrótce jak wyglądają ramki danych i jak się to przekłada na funkcjonalność. Tak jak pisałem, magistrala jest 2 przewodowa,CLK + DATA. Linie sterowane są podobnie jak w I2C...
W jednej ramce nagłówek znaczący początek, potem adres i dalej dane. Tzn. skleić np dwie 8 bitowe ramki [start 1bit][adres-8bitów][dane-8bitów] ? Rozmiar rejestru odczytującego UDR w mikrokontrolerze ma 8 bitów i nie za bardzo wiem jak to obejść. Myślałem o tym by zawsze pierwsze 8 bitów było adresem a po nim następne 8 to dane.
xPatryk --> pewnie, że możliwe jeśli zamierzasz zrobić to dla jednego ściśle określonego standardu. Kwestia dobrania timera 8-bitowego i jego preskalera tak aby mierzyć właśnie te określone szerokości impulsów. Wtedy aby odzyskiwać ramkę wystarczy posługiwać się tymi 8-bitowymi odczytanymi wartościami timera. Będą one bardzo precyzyjne bo będą przeznaczone...
Taak.... 1. Nie używaj operacji logicznych na ODR - zamiast tego zapisuj do BSRR i BRR. 2. Działanie lub niedziałanie tych "pętli opóźniających" zależy od fantazji kompilatora - mogą zostać całkiem "wyoptymalizowane". 3. Sprawdzaj RXNE i odczytuj DR po każdym nadaniu ramki. Inaczej za chwilę będziesz słał posty z tekstami "SPI nie działa". 4. Jeśli...
Bądź mężczyzną i zapisz CR1 i CR2 pojedynczą instrukcją podstawienia, zamiast długaśną serią zaciemniających program operacji logicznych - będzie dużo łatwiej to czytać. Wywal bezsensowne 1UL - też będzie łatwiej czytać. Podefiniuj nazwy symboliczne bitów albo skorzystaj z gotowych definicji - będzie jeszcze łatwiej. Sprawdź sposób zaprogramowania SPI...
Musowo ramki obudować mocnym CRC (co najmniej 32-bitowym).
.. SPI, który potrafi nadawać ramki 12-bitowe, ale od biedy 8-bitowy też się nada.. BlueDraco ! Ale przecież autor postu chce się dopiero uczyć. Zapalać diody, używać buzzera itp. Sam też zasugerował Atmega8. Czy jeżeli "popełni ten błąd" i zacznie przygodę z procesorami od wiekowych AVR, to będzie stracony dla elektroniki? Czy jeżeli zaprogramuje...
Witam Mam problem z zadaniem związanym z siecią CAN. Bardzo proszę o pomoc. Chętnie to zadanie potraktuję jako płatne zlecenie (myślę, że mogę dobrze zapłacić za poprawne rozwiązanie). Proszę w takim wypadku o kontakt mailowy. Zadanie brzmi: Dokładna analiza czasu transmisji ramki CAN wskazuje, że przy transmisji tej samej liczby bajtów informacji w...
Witam serdecznie. Jaki może być powód tego, że sterownik nie odsyła odpowiedzi na zapytanie Modbus? Zapis działa bez zarzutu, ale gdy wysyłam ramkę dla odczytu wyjść bitowych ($01) to sterownik nie daje żadnej odpowiedzi. Pozdrawiam
Dobra:) To napisze inaczej. Gość (serwisant), który mi to radio montował, dostał ode mnie schemat podłączenia Key 1 i Key 2. (W załączeniu ten schemat). Powiedział, że łączył key 1 i 2 zgodnie ze schematem i aplikacja do przeprogramowania nie widzi tego połączenia. On stwierdził, że to co teraz robi kierownica idzie po 32 bitowych ramkach, a nie po...
Sprawdzony i działający kod sterowania WS2812 masz w dwóch numerach EP - 12'2015 i 03'2014 - dostępny online tu: http://ep.com.pl/files/10597.pdf. Ta wersja, bez DMA i z 12-bitowymi ramkami, odpowiada temu, co chcesz zrobić, bo F3 ma taki sam SPI, jak F0. Ty wprowadzasz różne zmiany i dziwisz się, że nie działa.
Mam kilka pytań odnośnie USARTA ATMEGA128. 1. Czy błąd transmisji 0.2% dla kwarca 16MHz będzie miał duży wpływ na transmisję przy przesyłaniu ramki 19 bitowej z komputera do urządzenia. 2. W programie mikrokontrolera AVR co 5ms wywoływane jest przerwanie od timera1 output Compare które wywołuje procedury które trwają 1.5ms. W pętli głównej wyświetlane...
Nie napisałeś jaki ma to być Modbus ascii czy rtu, kodu w bascomie nie posiadam ale może Ci coś podpowiem, więc tak jeśli chodzi o rtu jest to postać bitowa i ważne są odstępy czasu miedzy znakami oraz początkiem i końcem ramki, jak to zrealizować a no bardzo prosto ramkę składasz z ascii i posyłasz to na rs232/485 i będzie działało może nie jest to...
Witam Kolegę, Dokładnie zapoznałem się z powyższymi informacjami. SGW to Gateway mający bronić auto przed nieautoryzowanym dostępem nieproszonych gości. Co do tego nie ma wątpliwości. Zastanawia mnie jednak opis odnośnie priorytetowania ramek przez SGW. Zdaje się SGW kontroluje dostęp do sieci CAN, ale nie wpływa bezpośrednio na priorytetowanie ramek...
W moim projekcie chcę użyć mikrokontroler AVR Atmega8 muszę skozystać z 10 bitowego przetwornika A/C zawartego w nim oraz Tak ustawić prędkość transmiji aby te 2 rejestry zostały wysłane w ciagu odczytu kolejnych 10 bitów przez przetwornik. Z moich obliczeń uzyskałem, ze potrzebuję prędkość transmisji 230400 b/s. Jako ze standart RS pozwala tylko na...
Witam, chce uruchomić transmisje szeregową na podanym w tytule uC i tutaj napotkalem na problem, poniewaz dokumentacja do 48 jest bardzo uboga :/ Zaimplementowalem cos, ale nie dziala. Specyfikacja transmisji jest taka: - prędkość 9600 bodów - 8-bitowa ramka danych - 1 bit stopu - brak parzystosci - dane chce tylko odbierac Czy moglby mi ktos pomoc...
z miernika mam takie dane: - szybkosc transmisji 1200 bodow - kod znakowy: 7 bitowy ASCII - kontrola parzystosci - brak - bity stopu 2 format danych oparty na 14 bitowej ramce z miernika wychodza kabelki: - RD -OTR -RTS -TD -GND mozna z tego wywnioskowac ile to lini potrzebuje ? P.S. a tych lini nie fizycznych nie mozna wlasnie za pomoca tego procka...
Co z modułami które mają tylko samą warstwę fizyczną? Tj. kluczowanie nośnej OOK? To nie jest to samo, tzn. nie jest to tożsame. Coś nie rozumiesz tą warstwę fizyczną. Można mieć np. kodowanie QAM16, a ciągle nie mieć adresowania. To zupełnie różne rzeczy, nie mające ze sobą związku. Nie ma żadnego problemu z używaniem modułów z wyłącznie warstwa fizyczną....
tadzik85 : jak napisałem w pierwszym poście, tego właśnie bym się spodziewał. Ale tak się nie dzieje. Dostaję 2 cały czas. O ile pamiętam dziwaczny bufor SPI w STM32 ma pojemność 32 bitów, więc nawet bez wysłania jednego bitu masz po zapisie 16 bitów do DR od razu przerwanie - bo możesz od razu zapisać następne 16 bitów. To by dużo wyjaśniało. Ale...
Błędnie złożona ramka PDU. To nie jest czysty hex. To 7-bitowe kodowanie ASCII. https://www.diafaan.com/sms-tutorials/gs...
A ja jestem ciekaw co determinuje transmisję 9 bitową u kolegi. Jeśli chodzi o obsługę w uC ( np. AVR ) to tylko komplikuje sprawę, ponieważ należy 9 bit odczytać z innego rejestru. Z kolegą bolek się nie zgodzę. Jeśli chodzi o transmisję 9 bitową to mamy 9 bitów danych a do tego mogą dojść jeszcze inne dodatkowe bity sterujące, więc ramka może mieć...
Wybaczcie zapomniałem... sterownik obsługuje ramkę modbus RTU 115200 bps 8N1. Rejestry są 16-bitowe
Cześć. Należy pamiętać, że w MODBUS'ie słowa zabezpieczające informacje zależą od trybu transmisji. Na początek może LRC, czyli Longitudinal Redundancy Check - jest on dołączany przez nadajnik jako ostatnie pole ramki, bezpośrednio przed znacznikami końca linii (Carriage Return i Line Feed) w trybie ASCII. Najkrótsza droga do osiągnięcia tego słowa...
to moze transmisja synchroniczna? bo ta w ktorej ustala sie ilosc bitow w ramce jest asynchroniczna, a w synchronicznej blok danych moze miec ustalona wielkosc (wiecej niz 8). Tylko aby ustanowic transmisje synchroniczna na porcie RS232 w Winapi wiem tyle co nic bo nie moge niczego znalezc w necie. Ogolnie chodzi mi o sterowanie nadajnikiem podczerwieni...
Witam ten Rigol się do tego nadaje doskonale lecz musisz pamiętać o jednym że sam oscyloskop nie wystarczy bo tu potrzebna jest jeszcze wiedza jak dany obwód działa i jakie procesy w nim zachodzą a nie zawsze dysponujemy schematem. Wspomniałeś że chcesz obserwować szpilki w zasilaczach jednak na tanich oscyloskopach a zwłaszcza analogowych widać więcej...
Być może numer seryjny będzie też podany gdzieś w środku na płytce. Odnośnie odczytu przez RS232 znalazłem [url=http://scopegrab32.sourceforge.net/... opis protokołu komunikacyjnego. Niestety nie jest to SCPI. Jest komenda ID, którą można wysłać poprzez terminal (np. [url=https://sourceforge.net/projects/re...
Wielkie dzięki. W google szukałem ale nie pod takim hasłem :D . A takie jeszcze jedno pytanie stosując atmege168 jaki wykorzystać system komunikacji szeregowej z RTC4513 ? Robić to programowo czy jakoś zaprzęgnąć np. spi i jeśli to jak połączyć to w całość by nie wysyłać danych z uc do siebie samego? Kompletnie żadnego pomysłu nie mam by w łatwy sposób...
Ostrożnie! - zapis 16 bitów do rejestru danych w trybie 8-bitowym powoduje wysłanie dwóch bajtów, a rejestr DR jest zadeklarowany w nagłówkach jako 16-bitowy. Przy 8-bitowyych ramkach jest potrzebne odpowiednie rzutowanie, żeby zapisywać tylko 8, a nie 16 bitów.
Mam pytanie w związku z wyświetlaczem z Nokii 6610. Udało mi się w końcu odpalić ten wyświetlacz na sprzętowym SPI w mikrokontrolerze PIC18F2550. Łatwo nie było bo transmisja odbywała się ramkami 9-cio bitowymi. Problem pojawia się gdy korzystam z komendy CASET i PASET ustalająca obszar rysowania grafiki. Nie wiem czemu ale na krawędziach pojawiają...
Ja bym to określił tak : jeżeli chodzi o jednostki informacji to 1 bajt = 8 bitów -ani więcej ani mniej ! Jeżeli chodzi o transmisję to chodzi tu o wielkość tzw. ramki. Ramka jak najbardziej może być 10-bitowa(jak napisał mdsc) - i może tak być np. transmisji szeregowej asynchronicznej. Ale to NIE znaczy że 1 bajt=10 bitów!
Protokół ma 16 bitowe pole adresu. W ramce żądania to 0 do 65535, dla Holding Registers zapisywane tradycyjnie jako 400001 do 465536. Czwóra z przodu określa obszar pamięci oraz implikuje używane rozkazy 0x03, 0x06, 0x10, 0x17. Tak to wiele tak temu wymyślono. Nie wnikam co pokazuje jakiś program na ekranie. Przejrzyj specyfikację protokołu. Pisałem...
w sumie to masz 32 rejestry robocze R0-R31 czyli 32 akumulatory z 51 w tym te od R16 do R31 można obsługiwać na poziomie bitowym.
W przypadku traktorów sprawa z CAN jest prosta, maszyny te mają standard FMS i odczyt załączonej stacyjki to najmniejszy problem. Wykorzystuje 29 bitowy CAN EXTENDED 500KBit, Protokół jest dostępny w internecie SAE j1939.
Jakieś 4 dni męczyłem się żeby uruchomić transmisję pomiędzy Atmegą a kompem po rs232. Niezmiernie zaskoczyło mnie to, iż wszystko zaczęło działać gdy bity:UCSZ0,UCSZ1,UCSZ2 ustawiłem na 0. Czyli (według informacji Atmela) ramka danych miała 5 bitów, a przesyłałem dane 8 bitowe. Przy ustawieniu tych bitów na ramkę z 8 bitami danych nic nie chodzi:nie...
aaaaaaaaaaa odpowiem sobie sam: (moze sie komus przyda) Otoż Siemens C35 posiada dosc standardowy protokol AT (cos a'la modemowy). Wazne jest tylko, zeby komunikowac sie z odpowiednimi parametrami lacza szeregowego: 19200 bodow 8 - smio bitowa ramka danych 1 bit stopu bez parzystosci jak ktos wyrazi zaiteresowanie, wsadze to pdf'a z komendami AT ----------------...
Chodzi o to, że wyświetlacz kolorowy bardzo obciąża procesor 8 bitowy. Mógł by być graficzny tylko cz-b. Np. podobny do tego z Nokii 3310. Różnica w wydajności jest kolosalna. Druga sprawa dotyczy tego, że ramka dla zastosowanego wyświetlacza jest zawsze 9-bitowa. Natomiast jednemu pikselowi może odpowiadać 8, 12 lub 16 (jak dobrze pamiętam) bitów....
Witam, Faktycznie SPI nie będzie działało (odbierane dane mogą być np. 12-bitowe itp.) - przepraszam, pospieszyłem się... Nic nie stoi natomiast na przeszkodzie, żeby napisać programową obsługę tego układu, która w zasadzie sprowadza się do wysłania 8-bitowej ramki sterującej i po sprawdzeniu zajętości (linia BUSY), odbioru interesującej nas współrzędnej....
Nie napisałeś w jakim formacie masz ramkę. Zakładam, że RGB565. Jeśli tak, to na początek niepoprawnie rezerwujesz miejsce na taką ramkę. W RGB565 1 piksel obrazu zajmuje 2 bajty(jak sama nazwa wskazuje). Czyli na przykład aby odebrać ramkę o rozdzielczości 160x120 potrzebujesz 160x120x2 = 38400 bajtów, dla 320x240 to już jest 153600 bajtów. I tak dalej....
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,...
http://obrazki.elektroda.net/69_12693010... Cześć, Chciałem Wam przedstawić moją stworzoną przed niespełna rokiem konstrukcję miniaturowej cyfrowej ramki do zdjęć. Ramka zawiera szeregową pamięć flash, dzięki czemu można zapamiętać do 16 obrazków w 16-bitowej głębii koloru (które pojawiają się na wyswietlaczu z zadanym przez użytkownika interwałem...
Udało mi się rozwiązać mój problem. Pierwotnie błędnie domniemałem że powinienem komunikować się z moim urządzeniem smsem w trybie tekstowym. Sądziłem tak dlatego, że gdy miałem modem ustawiony w tym trybie odbierałem poprawną ramkę danych wysyłaną przez urządzenie. W tym momencie wysyłam dane w trybie PDU. Składając ramkę PDU wybieram kodowanie 8-bitowe....
Możesz zacząć od czegoś takiego: [syntax=c]struct CANMsg_t { INT32U id; INT8U data[MAX_CHAR_IN_MESSAGE]; INT8U dataLen; }; const unsigned int FRAMES_COUNT = 100; // wielkość bufora przechowywanych ramek CAN const unsigned int DISPLAY_PERIOD = 500; // wyświetlaj zebrane dane co 500ms unsigned long previousMillis = millis(); unsigned int nextFrame = 0;...
[syntax=c]#define DD_RC5_TOGGLE 0x20[/syntax] DD_RC5_TOGGLE to nie zmienna tylko stała i służy jako maska bitowa. Umożliwia wyłuskanie konkretnego bitu z odczytanej ramki danych.
Ten kod nie jest poprawny pod absolutnie żadnym względem :). To to on robi, to odczytuje spod adresu (8-bitowego) zapisanego w zmiennej UDR wartość i wpisuje ją do pierwszego z pięciu bajtów ramki. Funkcja zwraca osiem najmłodszych bitów adresu zmiennej UDR. Domyślam się, że UDR to rejestr uC AVR. Weryfikację kodu robi już kompilator wyświetlając dla...
Istnieją prawne ograniczenia dotyczące współczynnika zajętości pasma 433MHz. Zdaje się, że nie może on przekraczać 0.1%. Nie wdając się w szczegóły techniczne modulacji LoRa duży zasięg osiąga się kosztem przepustowości. Mała prędkość bitowa to długi czas nadawania ramki. Spełnienie wymogów prawnych wymaga robienia długiej przerwy. W praktyce więc przesyłanie...
Na wyświetlaczu 320x240 daje się zwykle wyświetlić przynajmniej ze 3 ramki na sekundę, ale cudowne "biblioteki" potrafią to wyświetlanie spowolnić np. 10-krotnie. Teoretycznie masz przepustowość szyny 8-bitowej 15 MB/s. Jeden obrazek to ok. 240 KB - wychodzi 60 ramek na sekundę.
Udało się w końcu skomunikować z miernikiem 30-dniową wersją programu Modbus Poll. Z VEE też w końcu udało się skomunikować z miernikiem, po skorzystaniu z podpowiedzi, że ramka ma być wysyłana 8 bitowymi bajtami. Zmieniłem typ wysyłanych danych na BINARY i podtyp na BYTE i teraz po wysłaniu zapytania jest odpowiedź, którą odczytuję przez zmienną tablicową...
To jest wyłącznie kwestia nazwy. iBeacon nadający jakieś dodatkowe dane poza swoim identyfikatorem nazywany jest zwykle "czujnikiem". W praktyce jest to jednak identyczne urządzenie przesyłające dane w identyczny sposób. Ramka rozgłoszeniowa iBeacona zawiera 128-bitowy identyfikator. W "czujniku" jest w niej przesyłana np. temperatura, wilgotność, ciśnienie...
Damian7546 Jeżeli chcesz ten wyświetlacz używać sensownie, to żaden 8 bitowy uC do tego się nie nadaje. Próbowałem z Xmega128A1U, próbowałem z dsPIC33EP i dopiero STM32F4x7 pozwolił uzyskać ~30 ramek na sekundę. Jeżeli używasz do tego układu z interfejsem pamięci zewnętrznej (FMC?), to wykorzystaj go do tego. Poza tym, ten układ nie musi pracować w...
(at)karol75 Podaj również jaką architekturę używasz bo między armv6-m a armv7-m, jest sporo różnic. Procesor to STM32F429 na płytce Disc STM32F429I Co do pól bitowych to mam Je odbierać i wysyłać więc nie mam wyboru. Chciałem ułatwić rzycie osobie która nie jest programistą w składanie ramki do wysłania. Całość wygląda tak, że 32 bity muszę podzielić...
nie znasz jej parametrów tzn. przepływność bitowa, format ramki, parzystość/nieparzystość/brak. Możliwe, że jest to typowe 9600b/s, 8N1. Wszystkie porty COM1...4 są właśnie tak ustawione, mam nadzieję że mój 485 to jeden z nich. To nie ma znaczenia, bo oprogramowanie może to sobie ustawić dowolnie (tzn. zmienić) - przynajmniej tak jest we współczesnych...
Tego za bardzo nie rozumiem. 16-bitowe słowo, które ma 8 bitów? Czy chodzi o to, że poza danymi o częstotliwości wysyłane jest coś jeszcze, a wszystko to pakowane w 16-bitowe "ramki"? Dokładnie tak jest. Aby zaprogramować jedną częstość należy wysłać cztery 16bitowe ramki. Jedna ramka zawiera 8 bitów danych + adresy itp. A czemu? kod operujący na 32...
SPI jest 8-mio bitowe, co nie przeszkadza ci odebrać dwóch ramek po 8 bitów (16) z których tylko 13 będzie zawierało coś dla ciebie. :wink: Powiedz czego nie rozumiesz z opisu zawartego w karcie katalogowej. Pozdrawiam, GSM
No i tu się sprawa rozwiązuje trochę ? Dodano po 34 Przyłożenie identyfikatora powoduje wydanie sygnału dźwiękowego oraz zgaszenie diodyzielonej LED i zaświecenie diody czerwonej LED przez około 1s. Jednocześnie jest wysyłanapięciobajtowa ramka danych z kodem odczytanego identyfikatora w formie binarnej big endian.Uwaga: Kod identyfikatora jest wartością...
1. wytłumacz mi to: UBRRH = (unsigned char)(ubrr>>8); UBRRL = (unsigned char)ubrr; UCSRB = (1<<RXEN)|(1<<TX... UCSRC = (1<<URSEL)|(3<<U... 2. Jak działa szczegółowo to połączenie bluetooth jeśli chodzi o algorytm? 1. To jest fragment kodu, który konfiguruje UART...
Witam Jak wielu spotkałem się z problemem problemem kłopotliwej obsługi pilota z RC5. Po poszperaniu w necie wpadłem na http://www.elektroda.pl/rtvforum/topic20... ten temat. Jak się okazało wszystko na tym programie pracowało, ale nie zawsze. Kłopotem było napisanie programu "pod pilota". Oczywiście pochwała dla Sabotaz'a który problem "ruszył"...
W transmisji synchronicznej nie ma czegoś takiego jak bity startu i stopu. To są bity charakterystyczne dla transmisji znakowej (asynchronicznej). Transmisja synchroniczna jest zorientowana bitowo i dane odbiera się analizując odebraną ramkę - np. określony ciąg bitów jako znacznik początku czy końca ramki/transmisji.
Można tak: [syntax=c]union ramka { struct { char znacznik_pocz; uint8_t nrmodulu; uint8_t pole1 : 1; //Flaga on/off uint8_t pole2 : 4; //Pole 4-bitowe ... char znacznik_kon; }; uint8_t bajty[]; }; union ramka frame={.znacznik_pocz='<', .znacznik_kon='>', .nrmodulu=costam, .pole1=1};[/syntax] I normalnie to wysyłasz korzystając z unii i tablicy...
chyba w AVRach w takim razie w adresie ostatnia cyfra 0 oznacza ramkę "write", a ostatnia cyfra 1 oznacza "read", czyli adres 0x62 w nocie SCD41 oznacza 0xC4 dla nadawania i 0xC5 dla odbioru Nie w AVR tylko ogólnie w I2C. Najmniej znaczący bit określa typ operacji zapis/odczyt. 7 bardziej znaczących bitów to adres urządzenia. Autorzy not urządzeń I2C...
Jak będę miał trochę luźniej to postaram się przeanalizować taką ramkę. Przesył 32 bitowych rejestrów wziął się chęci wyświetlania/korygowania czasu i daty systemowej sterownika z poziomu panelu. W programie będzie praca zegarowa, święta, lato/zima itp. Dlatego wolałbym, aby zegar w panelu był powiązany jednoznacznie z tym w PLC. Bloczki Clock z biblioteki...
Wynika to z faktu, że identyfikator ramki nie może być zaczynać się siedmioma bitami recesywnymi. Czyli dla identyfikatorów 11 bitowych maksymalna wartością pola ID jest: 0b11111101111 = 2031 analogicznie dla 29 bitowych: 0b11111101111111111111111111111 = 532676607
ADS7843 do komunikacji używa 3 bajtowej ramki. W pierwszym bajcie wysyłasz polecenie a w dwu ostatnich dostajesz wynik (które bity wykorzystać masz w dokumentacji). PS tak jak pisał Freddie musisz zmienić sterowanie CS. PS2 widzę, że układ ma też inne możliwości komunikacji np. tryb 8-bitowy
zmienna bitowa pamięć bitowa chkdsk bitowa
gorący licznik antena ogrzewanie tylnej szyby odpalić samochód rover
momenty dokręcania volvo ładowanie akumulatora rowerze
Montaż żaluzji chłodnicy Mercedes W111 (1959-1971) – instrukcja, linka, siłownik, regulacja Stihl FS 200 – regulacja gaźnika, ustawienie śruby L, ssanie, gaśnie po odpaleniu