Ja tego w tej dokumentacji nie zauważyłem jaka powinna być kolejność ale wysyłanie najpierw młodszej części jest częstszą praktyką
https://obrazki.elektroda.pl/3515341300_... Przedstawię tu analizę wnętrza oraz krótką inżynierię wsteczną protokołu UART kolejnego ściemniacza Tuya, tym razem opartego o dość nietypowy moduł LMB54 (BK7231N) oraz dwa mikrokontrolery HC32F003. W pełni tutaj opiszę, jak można go zaprogramować i dodać jego wsparcie OpenBeken przy użyciu języka...
https://obrazki.elektroda.pl/4706372500_... W poprzednich częściach pokazałem zasadę działania oraz uruchamianie pozyskanych wyświetlaczy (modułów) VFD. Teraz przyszła pora na zbudowanie własnego sterownika wraz z potrzebnym zasilaczem. • Zasilacz Ze względu na dość złożony sposób zasilania samego wyświetlacza postanowiłem zacząć...
https://obrazki.elektroda.pl/5961033700_... Tutaj pokażę jak można łatwo uruchomić gotowy moduł z wyświetlaczem VFD ze starego odtwarzacza DVD. Najpierw przeanalizuję jego budowę oraz zasilanie, a potem w oparciu o notę katalogową od zera zaimplementuję jego sterownik na Arduino. Ten temat będzie stanowić pierwszą część przygody z VFD i...
https://obrazki.elektroda.pl/2635305000_... Poniższy projekt to stacja pogodowa oparta na module z układem ESP8266. Nie byłoby w niej nic szczególnego, co wyróżnia ją na tle innych tego rodzaju konstrukcji, gdyby nie optymalizacja systemu pod kątem minimalizacji poboru prądu. Wykorzystany mikrokontroler nie jest zbyt energooszczędny,...
Na zapytanie: Potrzebuję wygenerować ramki CAN do sterowania wskażnikami w liczniku od Passata B6 2.0 TDI przed liftem. Zależy mi szczególnie na obrotach i prędkości. Chcę to zrobić na arduino. Możesz mi w tym pomóc? Google AI Studio proponuje: Jasne, mogę Ci w tym pomóc. Wygenerowanie ramek CAN do sterowania wskaźnikami w liczniku Passata B6 jest jak...
http://obrazki.elektroda.pl/9589280700_1... HPS 2014 Hybrydowy laboratoryjny zasilacz sieciowy. Parametry użytkowe zasilacza w skrócie: 1. Wykorzystanie tanich i łatwo dostępnych elementów. 2. Wydajność prądowa min 3A (dla niskich napięć może dochodzić do 5A). 3. Rozdzielczość DAC 12bit. (filtrowany PWM 4.9kHz) 4. Rozdzielczość ADC...
http://obrazki.elektroda.pl/7296913200_1... Przedstawiam konstrukcję wykonaną 2 lata temu, jaka jest graficzny wyświetlacz LCD przygotowany do współpracy z DSM-51, jednakże może współpracować z dowolnym innym układem mikroprocesorowym, który umożliwia szeregowe wysyłanie danych. W układzie sterującym jest zastosowany mikrokontroler...
https://obrazki.elektroda.pl/9151185000_... Autor poniższego zestawienia jest inżynierem i konsultantem wsparcia dla systemów wbudowanych. W swojej karierze poznał on szereg różnych architektur mikrokontrolerów, różniących się wydajnością, wyborem peryferii, poborem zasilania etc. Wybór odpowiedniego układu stanowi zawsze o sukcesie...
Zrobiłem dla testu pierwszy skrypcik, który zwraca trochę info o centrali. Składnia: intver.sh <ip> <port> np. intver.sh 192.168.2.8 7094 Oczywiście na porcie musi być załączona integracja Działa na powłoce bash, nie działa na ash. Próbuję działać dalej ale napotkałem problem. http://obrazki.elektroda.pl/8653040400_1... Według...
http://obrazki.elektroda.pl/5313552500_1... Sterownik włącza/wyłącza do 8 urządzeń grzewczych i chłodniczych. Stan wyjść zależy od: temperatury mierzonej w dowolnej liczbie punktów, wewnętrznego zegara czasu rzeczywistego, programu grzania i chłodzenia przechowywanego w pamięci EEPROM. Architektura sterownika Sterownik jest oparty na...
https://obrazki.elektroda.pl/6225803800_... Witajcie moi drodzy Ostatnio zająłem się nieco głębiej kwestią obsługi ENC28J60 w Mikro C na PIC32MX w połączeniu z nową biblioteką Network Ethernet Library z Libstocka . Jest to biblioteka dostępna za darmo i wspiera różne mikrokontrolery, nie tylko PIC. Prędko zorientowałem się jednak,...
Jesteś pewien że odbierasz dwa bajty z czujnika po I2C? Czy wysyłasz dwa bajty do PC?
Zrób funkcję, która tylko wysyła bajt, a po wysłaniu dwóch bajtów machnij linią CS. Nie potrzebujesz oczekiwania. W obsłudze przerwania umieść to, co Twój program robi w kółko w pętli - wysyłanie pojedynczej cyfry i przesunięcie indeksu na następną cyfrę.
Witam ! Przesylam uartem sobie zmienna single(4bajty) a w drugim procku ją odbieram, dostaje 4 bajty ktore nie mam pojecia jak wbic do zmiennej single i jak to zrobic najszybciej. Probowalem uzywac SHIFT Zmienna, left ale dziala to tak jak powinno jedynie na zmiennych: byte, integer, word, long. bede wdzieczny za pomoc. Pozdrawiam !
ZDALNIE STEROWANY SAMOBIEŻNY MANIPULATOR OPERACYJNY DO ZADAŃ SPECJALNYCH http://obrazki.elektroda.net/20_12096489... Chciałbym zaprezentować mój kolejny duży projekt, będący zarazem moją pracą inżynierską. Praca jest dość złożona, wymagała dużego nakładu pracy, wykorzystania narzędzi do projektowania i obejmowała głównie trzy nurty - mechanikę,...
No ale ten kod wyświetla nam na ekranie to, czego oczekuje autor. Z opisu wynika, że urządzenie sterowane jest ciągiem bajtów i czyli oczekuje czegoś zupełnie innego. Upraszczając, jeśli wyślę na port, na przykład liczbę 3, to port ustawiam na 0000011, tak samo gdy wyślę 0x03, lub 0x3. Dla, na przykład 19, port ustawię na 00010011, tak samo jak dla...
Witm serdecznie, mam kilka pytan dotyczących mojego programu. Na poczatek kod: #include <avr/io.h> #include <avr/interrupt.h> #include <stdlib.h> #define F_CPU 14.7456E6 #define BAUD 9600 #define MYUBRR F_CPU/16/BAUD-1 void USART_Init( unsigned int baud ) { UBRR0H = (unsigned char)(baud>>8); UBRR0L...
Dzięki. Nie korzystam z tych bibliotek, wg rady starszych (doświadczeniem:). Dodano po 8 Dodano po 10 Używam bitbandingu, ale w sumie nie sprawdziłem czy dla tych rejestrów jest to możliwe, bo chyba nie dla wszystkich. Może w tym jest problem?
Układów z ESP8266 jest wiele, jednak najpopularniejszy ESP-01 dysponuje tylko dwoma wejściami GPIO. Inne mają ich więcej, lecz czasem i to za mało. Myślałem o stworzeniu uniwersalnego programu dla ESP, który będzie pośredniczył pomiędzy siecią komputerową a innymi układami posiadającymi RS (zwłaszcza ATMEGA). Proszę Was o pinie, uwagi co do koncepcji....
Od dwóch tygodni mam dostęp WiFi do Internetu. Jakość sygnału rewelacyjna, stronki się otwierają szybko, pliki ściągają się błyskawicznie ;) Mam za to problem z wysyłaniem np. listów z załącznikami. Trwa to cholernie długo i co trochę przerywa (mailer zgłasza błędy i muszę powtarzać). To samo jest np. z wysyłaniem plików na różne fora. Gdy spojrzę na...
Wiem już na pewno co powoduje te paski - wysyłanie danych na LCD za pomocą DMA. Jeśli wysyłam je normalnie w pętli to obrazek testowy jest idealny. Czyli błąd prawdopodobnie jest w którejś z tych dwóch funkcji: LCD_Init_DMA i LCD_Start_DMA. Niestety musiałem zamienić bufor w sdramie z uint64_t na uint8_t bo nie umiałem poprawnie wyświetlić go na LCD....
Chcę podawać impuls na wejście przerwania zewnętrznego (jednego z dwóch) i w przerwaniu inkrementować zmienną licznika. Czy to się uda, zależy od tego jaki jest minimalny odstęp czasu pomiędzy impulsami. Nie napisałeś tego, ale sądząc po typie zastosowanej zmiennej oczekujesz sporo tych impulsów, więc można się spodziewać, że odstępy między nimi nie...
Mam taki problem Robię komunikacje dwóch AVR-ów. Pierwszy wysyła ciąg 30 bajtów drugi odbiera zawsze bezbłędnie z tym nie ma problemu. Gdy odbierze dane poprawnie od razu odsyła pierwszemu znak "T" dając pozwolenie na wysłanie nowych danych. Zrobiłem sobie taką próbę że pierwszy wysyła dane co 20ms nie czekając na zgodę na nadawanie czyli tą zwrotną...
Do podobnych wniosków doszedłem. Udało mi się w miarę bezbłędnie przeprowadzić komunikację dla parametrów 8bajtów ramka, co 50ms wysyłanie kolejnej ramki. Dla informacji dodam, że korzystałem z modułów radiowych MOBOT-RCR (firma WObit). Stały rozmiar ramki ma w ich przypadku duże znaczenie, bowiem moduły działają tak, że mają na stałe zapisany rozmiar...
Witam. Chciałbym odczytać temperaturę z czujnika DS18B20 przez długie i krótkie migania diodą. Np gdy mamy temperaturę 25 stopni to dioda sygnalizowała by dziesiątki za pomocą dwóch długich piknięć a jedności poprzez 5 krótkich. Dopiero zaczynam zabawę z Bascomem i kompletnie nie wiem jak się za to zabrać. Poniżej wklejam fragment kodu z odczytem temperatury....
Witam, mam problem z połączeniem po USARCIE tych dwóch procesorów. Sprawa wygląda następująco: atmega1284p ma być docelowo masterem, wysyła ramkę i w odpowiedzi dostaje ramkę zwrotną od atmega8. Obsługa ramek nie jest jeszcze napisana, na razie wysyłam 8 bajtów atmegą1284p i jeżeli wszystkie bajty zostają poprawnie odebrane, to atmega8 odsyła mi 11...
Witam, zacząłem ostatnio zabawę z arm'ami a dokładniej z procesorem lpc1768, przeczytałem już trochę dokumentacji jednak niektóre aspekty są dla mnie niejasne i byłbym wdzięczny gdyby ktoś obyty z tematem wytłumaczył mi co nieco, ale do rzeczy, na stronie http://msys-mv.blogspot.com/2011/01/dma-... znalazłem fajny opis dotyczący wysyłania...
Witam Buduje pewne urządzenie składające się z dwóch procesorów Atmega8 oraz ATmega16 (aktualnie 2x mega8). Jeden z procesorów jest odpowiedzialny wyłącznie za multipleksowanie 10 wyświetlaczy 7seg. Jest to taki panel wyświetlaczy. Drugi jest odpowiedzialny za obsługę całego urządzenia oraz wysyłanie danych po SPI do drugiego procesora (slave = wyświetlacz)....
Z tego co widze na pierwszy rzut oka układ jest bardzo podobny to rfm12b. U mnie ramka w rfm12b ma: 6 bajtów preambuła (xAA) + 2 bajty sync + 64 bajty ciurkiem payload. Dlaczego chcesz się ograniczać do wysyłania tylko dwóch bajtów po synchronizacji? Jak zbudujesz całą ramkę staraj się wysłać ją kilka razy pod rząd (min 3) aby mieć pewność, że odbiornik...
W modbasie rejestry są 16-bitowe więc musisz wysyłać ushort. Jednak jak masz np int to możesz go rozbić na dwa razy po dwa bajty, wtedy zapisujesz dwa rejestry.
Prościej zrobić odwrotnie, dwa kolejne bajty opisują jedną linię znaku, czyli twoje pola zielone/czerwone opisują kolumny. Wtedy czytasz dwa sąsiednie bajty i je wysyłasz, dzięki czemu masz linię itd. np. 8 razy i masz cały znak.
Ilu bitowy jest MCU jest bez znaczenia. W układach I2C, w ich notach zawsze jest pokazane jak przesyłać dane. Jeśli rejestr jest 16-bitowy, to wysyłasz po prostu dwa bajty - od układu zależy ich kolejność - mniej znaczący, bardziej znaczący lub odwrotnie. W nonie rzeczonego układu odpowiednie rysunki są na stronie 8 - musiszy wysłać adres, a następnie...
Kris, po kolei. HEX zawiera pewien opis - adresy i bajty, ktore programator pod te adresy ma zaladowac. Stad zwykle program programatora interpretuje HEX, czyta, ze np. pod adres 0x0010 ma zapisac ciag kolejnych 16 bajtow, potem czyta, ze kolejne 16 bajtow maja wywedrowac pod adres np. 0x0030 itd. Dzieki temu HEX nie musi zawierac "dziur" - ktore powstaja...
Hyper Terminal przesyła dane znakowo, wiec wpisując 32 wysyłasz dwa bajty: pierwszy o wartości 52 (znak 3 w ASCII), drugi o wartości 51 (znak 2 w ASCII). Chcąc wysyłać dowolne bajty przez port szeregowy należało by użyć programu RealTerm lub podobnego.
Błędy są w procedurze SPI_cośtam: - kompilator krzyczy na nagłówek w starym stylu, a Ty to ignorujesz - przyjrzyj się uważnie temu, co wysyłasz - zgaduję, że jest to błędna wartość (jeden bajt polecenia i dwa zera, a zapewne chciałeś wysyłać dwa bajty) - wysyłasz 2 bajty nie opróżniając rejestru danych przychodzących Konofigurację najlepiej wysyłać...
Wysyłasz tylko dwa bajty 01 i 0C jednym ciągiem bez żadnej przerwy - to chyba nie jest poprawne zapytanie do ELM'a.
1. Kod nadajnika miał wysyłać dwa bajty - mniej znaczące połówki dwóch danych binarnych 16-bitowych. Mało to sensowne. Jeśli rzeczywiście chcesz wysyłać dane 16 bitowe, trzeba przesłać np. dwa bajty dla każdej z tych danych. 2. "Miał" - bo nie robi tego - wysyła ciąg bajtów, który przez przypadek może niekiedy mieć długość dwóch bajtów. strlen() zwraca...
Zera nie wyślesz w łańcuchu, bo 0 w C oznacza koniec łańcucha. Możesz przecież zdefiniować odpowiednie ciągi bajtów i napisać funkcję z dwoma argumentami (adres, długość) wysyłającą zadaną liczbę kolejnych bajtów. Znaki inne niż 0 możesz zapisać w łańcuchu używając sekwencji ósemkowych, np. "abc\003\016def" albo szesnastkowych, np. "abc\x04\x13def"....
Po co odczytujesz 10 bajtów? Przecież DS wysyła tylko dwa po zapytaniu o temperaturę. Mad Bekon, mylisz się. Nie ma czegoś takiego jak zapytanie o temperaturę. Jest komenda REED SCATCHPAD, po której można odebrać od DS'a całe 9 (nie 10) bajtów. Faktem jest, że tylko pierwsze dwa to temperatura. Poza temperaturą scratchpad zawiera również dwa bajty...
Podejrzewam, że twoja funkcja USART0_Transmit_Word może zbyt długo czekać i bufor odbiorczy UARTu się przepełnia. Załóżmy, że powyższa funkcja wysyła znaki '\r' '\n' po każdym jej wywołaniu. Wówczas jeśli program otrzymuje tekst i po owym tekście #010, to cały komunikat trafia do wysłania i jest w porządku. Jeśli tekst zacznie się od #010, natychmiast...
A ile tych kB przesyłasz? Przy tej prędkości i sposobie transmisji to max. uzyskasz kilka kB na sekundę. Może wysyłaj i potwierdzaj bloki danych. Np. wysyłasz po kilkanaście bajtów z informacją o ilości bajtów i numerze bloku, mikrokontroler potwierdza dwoma bajtami ile danych dostał i który to blok z kolei. Można dodać też jakąś sumę kontrolną.
Po komendzie ''go'' miga tylko kursor, nic się nie pokazuje na ekranie, komenda ''s'' zakańcza miganie kursora. Wcześniej pisałem, ze PuTTY sobie z tym nie poradzi. Przetwornik wysyła dwa bajty 7Fh a potem dwa bajty danych - liczba 16 bitowa. Kod 7Fh w ASCII oznacza DEL więc pewno pojawiają się przypadkowe znaki (krzaczki) a potem od razu DEL, DEL....
Mam kolejny problem. Wg tej dokumentacji trzeba ustawić bit parzystości na EVEN i jeden bit stopu lub ustawić 2 bity stopu. Wysyłam dane i przychodzą głupoty chociaż po obu stronach mam dobrze ustawione parametry transmisji. Dla przykładu wysyłając dwa bajty 0x30 i 0x32 (w ASCII są to odpowiednio cyfry 0 i 2 otrzymałem w odpowiedzi 0x30 (dobrze) 0xB2...
Nie pokazałeś co zostało odczytane. Mogę to pokazać inaczej niż przez UART? W pewnym momencie wpadłem na to, że funkcja sama dodaje adres, ale procedura jest taka: I2C address -> Komenda -> I2C address + 1 -> odczytanie wyniku. Próbowałem też wysyłać dwa bajty w kolejności 0xE3, 0x81 ale dalej śmieci na terminalu.
Odbiornik też za to odpowiada. Nadajnik wysyła dwa określone bajty(wartości nie pamiętam, są w PDFie opisane) a odbiornik je interpretuje jako początek transmisji(pakietu).
Spójrz na rysunki: FIGURE 6-1, FIGURE 6-2 w dokumentacji do tego układu. W twoim kodzie zmieniasz stan pinu CS co bajt, a wg noty powinien on być w stanie niskim dla całej transmisji. Po za tym, wydaje mi się, że w złej kolejności wysyłasz bity konfiguracyjne, które mają zawierać się w pierwszych dwóch bajtach. Wynik zawiera się w dwóch ostatnich bajtach,...
Teraz tak: Chcę wysłać z urządzenia nr dajmy na to takie cztery bajty danych: 0xFF oraz 0x01. To cztery czy dwa? Wysyłasz dane binarne, a odbierasz je jakby to był tekst kodowany w UTF-8. Jeśli chcesz wyświetlić w konsoli odebrane dane binarne w postaci szesnastkowej to musisz je skonwertować na tekst. Na przykład [url=https://stackoverflow.com/a/4090766...
Czasu na reakcję na zdarzenia jest dużo. Urządzenia końcowe mają przesyłać do kontrolera informację o swoim stanie. Jeżeli użytkownik przyciskiem załączy przekaźnik urządzenia końcowego, to te wysyła informację do kontrolera o tym zdarzeniu, a kontroler pokazuje aktualny stan urządzenia końcowego na stroni internetowej. Na tę chwilę wszystkie zdarzenia...
Napisz jakich danych sie spodziewasz w urządzeniu bo myslisz ze to mu wysyłasz :D Kody powyżej 127 nie muszą być wysyłane w dwóch bajtach. Do 127 to zwykłe ASCII potem są okrojone narodowe i tak mozna kupić wysiwietlacze z róznym kodowaniem, ale zawsze te pierwsze127 znaków jest wspólne. Co innego UTF8(dwa bajty) i tu na pewno nie ma znaczenia bo ASCII...
Witam, trochę to nie spójne, skoro nie wysyła pierwszego bajtu to nie wysyła komendy MIDI tylko sieczkę, bo te dwa bajty danych są o wartościach 00H-7FH więc żaden instrument na to nie zareaguje a wspominałeś, że MODX reagował więc coś jest nie tak. Nie chodzi o osiąganie poziomu masy czy stromość zboczy ważne aby separował wszystkie bity, nie chcesz...
wysyłanie bajtów szeregowo zapis dwóch bajtów licznik bajtów
hulajnoga elektryczna ninebot kupie pilot instrukcja nlite
Samsung DA92-00089A Replacement: Compatible Modules DA92-00089B, DA92-00089C, DA92-00200A, DA92-00564A Renault Megane III – podłączenie sygnału drogi CAN, konwertery CANM8, taksometr