Rozumiem że zakomentowałeś, zamykanie i otwieranie portu podczas wysyłania oraz linie InputData = serialPort1.ReadExisting(); "Odepnij" to zdarzenie DataReceived i dodaj dla testów jeszcze jeden Button i daj tam: string data = serialPort1.ReadExisting(); ReadLine() czeka na znak nowej linii, może przesyłasz "cos", a nie "cos\n"?
Przyklad: ramka ma 50 bajtow, w buforze masz 60 bajtow, poprzez ComPort1.ReadStr(odebrane,Count); odbierasz 60 bajtow ,czyli 50 ramka +10 nastepnej ramki, dlatego pytalem co robisz z odebrane , bo jezeli przetwarzasz pod wzgledem tylko jednej ramki (50 bajtow) , to te 10 idze do smietnika. przy nastepnym odczycie bufora masz wlasnie ramke z ucietymi...
A dziękuję Kolego mirekk36 za pozytywne słowa. Jeśli autor tematu woli wersję papierową to polecam książkę: A. Daniluk, RS 232 C. Praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera, Helion, Gliwice 2001. W moich ulubionych znalazł się jeszcze jeden link dotyczący RS232: http://www.lodd.p.lodz.pl/kwbd/rs232.htm
Napisałem parser dla twoich wymagań.. cały bufor to jeden string.. dane zamiast pobierać z rs232 to są pobierane z pliku (dla lepszego testu w porcjach o losowym rozmiarze od 1 do 10 bajtów) i przekazywane do parsera... jedyne co musisz zmienić to źródło danych przekazywanych do AppendToBuf oraz samą obsługe odpowiedzi -> zamienić writeln na co kolwiek...
Kompilatorowi wszystko jedno, czy napiszesz case 0x61:, czy case 'a':, za to człowiekowi nie jest wszystko jedno, kiedy czyta taki program, więc pisz case 'a':, case 'b':. TH1 i TL1 powinny mieć tę samą wartość początkową: 256 - FCLK / 12 / 16 / BAUD.
Jest też taka książka na temat RS232: Andrzej Daniluk "Rs232C Praktyczne programowanie" wydawca Helion. Jest tam wszystko opisane łopatologicznie z podaniem przykładów (programy na płycie CD) w Delphi oraz w C++.
Efekt jest nieciekawy bo zamiast na porcie szeregowym operujesz na deskryptorze numer 0 :) Zmienna lokalna fd przysłania Ci zmienną globalną o tej samej nazwie.
Sam ostatnio z tym się bujałem z tym, że używam FLTK... Generalnie tryb OVERLAPPED jest upierdliwy i mi to do d... to działało... Trzeba pamiętać o tym, że funkcje odczytu/zapisu wracają natychmiast niezależnie czy odczytały cokolwiek czy nie potem to już zabawa z flagami, events itp, itd... Do odczytu, jeżeli już faktycznie coś zostało odebrane, używasz...
Witam chodzi mi o komunikacja uP 89c2051 (do programowania urzywam bascoma) przez to lacze uP bedzie wysylal dane liczbowe komputer bedzie je przetwarzal i wysylal spowrotem Zalezy mi na v-basicu bo go dobrze znam No i z czym masz problem? Określ konkretnie pytanie. Nikt nie będzie zgadywał o co Ci chodzi.
204
Najprościej (choć pewnie nie najefektywniej) jest czytać po jednym bajcie. Spójrz na moje zmiany w Twoim kodzie. Problem z konfiguracją portu związany jest z tym, że należy najpierw odczytać bieżącą konfigurację Comm-a ( GetCommState ), zmienić to, co potrzeba i dopiero wtedy ją zapisać ( SetCommState ). Warto też sprawdzać wynik każdej operacji. Wtedy...
Dawno się już nic nie montowałem, ale na moich schematach są odwrotnie połączone sygnały, to znaczy 14 z Max łączy się z 2 na DB9, a 13 z MAX łączy się z 3 na DB9. Czyli odwotnie niz jest u Ciebie. Kolejna sprawa to BHP - włącz w szereg pomiędzy port i MAXA jakieś oporniki ograniczające (np 330-470). Jak coś pójdzie nie tak z Twoim układem to przynajmniej...
Portu com nauczylem sie sterować z ksiązki RS232C Andrzeja Daniluk-a (Helion) Jednak to za mało nie mam tam wszystkiego jest tylko jak odbierać znaki liter, znaki sterujace i tu mam zonka. Otóż Mikrokontroler odczytuje bajty z zew pamieci i wysyła je przez rs232 do komputera i tu mam problem, gdyz wysyłanie jest bardzo szybkie i wysyła wszystkie mozliwe...
Witam Jeśli chodzi o C++Builder 6 i komunikacje na portach I/O jestem totalnym laikiem. Szukam kogoś kto by mi wyjaśnił od A do Z jak w Builder 6 konfigurować, wysyłać i odbierać dane z portu RS232. Z góry dziękuję za pomoc.
Jest wiele sposobów. Możesz na przykład przepisać znaki od przecinka do końca buforu w drugi bufor pomocniczy i wówczas użyć funkcji atoi. PS. zamykasz stringa znakiem zerowym? ;)
Witam! Znalazłem aplikacje odbierajacą i wysyłająca przez port szeregowy rs232 w C++ Builder. Jednak program odbiera deane tylko do pierwszego 0 a ramka ktora wysyłam i chce odebrać przy zwartm Tx i Rx posiada też zera, więc otrzymują ją niekompletną. Proszę o pomoc. Pozdrawiam.
Port com po każdym zgłoszeniu zdarzenia zwróci pojedynczy bajt - to ty musisz te bajty jakoś połączyć np w tekst. Dodatkowo jeżeli sprawdzasz flagę comEvReceive w pętli to nie wiem czy ona sama się zeruje, jeżeli nie to czy to się nie zapętli w nieskończoność? Spróbuj dodać MSComm1.InputLen = 0 w tym "case" gdzie odbierasz znak.
Witam Problem następujący. Odbieram dane z rs232 poleceniem SerialPort.ReadExisting(). Przypisuje każdemu znakowi w ramce odpowiednią zmienną (wycinając poleceniem MID poszczególne znaki), a poleceniem ASC zamieniam znaki te na BAJTY. Niestety tablica ASCII jest do 127 i przy konwersji mam bajty tylko do 127 a chcę mieć do 255.. Wiem że zamiast do ASCII...
Temat wydzieliłem. Czy przed napisaniem postu przeszukał kolega forum ? Wątków o RS232 w Delphi trochę było. Pozdrawiam, Krzysztof.
Witajcie Napisałem program , wysyła mi dane na rs232 w hex tak jak potrzebuję i tutaj wszystko jest w porządku. Problem rodzi się przy odbiorze danych , potrzebuję wyświetlać/odbierać dane również w HEX Napisaną mam taką formułę: [syntax] Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventA...
Witam Chciałbym przez rs232 zapisywać zmienne z pliku txt do zewnętrznej pamięci eeprom np. 24Cxx z których będzie korzystał mikrokontroler atmega128. Od czego zacząć? Czy to będzie bardziej rozwiązanie polegające na programie w mikrokontrolerze zasysającym dane z txt i wczytującym je do eeproma czy zrezygnować z drogi mikrokontrolera i programować...
Witam Atmega16 wysyla przez rs232 dane z przetwornika adc.W c++ builderze uzywam komponoentu ComPort do obslugi rs232.Jak zrobic zeby te dane byly zapisywane do tablicy Tab[512] w postaci liczb hex.
Mam taka prosbe czy moze ktos napisac uniwersalny fragment kodu do odbioru danych z rs232 i zamiany na liczby zeby zrobic z tego wykres. Bo jedni uzywaja Read a inni ReadStr
Witam w jaki sposób odbierać i wysyłać dane wysłane przez Rs232 w Bascom-ie ? Chciałbym z komputera wysyłać taki string np (R255G20B120) jak to odebrać i trzem zmiennym typu bajt przypisać wartości r=255 g=20 b=120 dokładnie chodzi mi o odpowiednik takiego czegoś w bascom -ie var s:string; r,g,b :byte; begin s:='R120G30B255'; r:=StrToInt(Copy(s,2,Pos(...
a w jaki sposób jest zakończony ten ciąg 32 bajtów? czy to <CR> czy <CR>+<LF> czy moze jeszcze coś innego? czy potrzebujesz zawsze tylko danych z paczki B2? Czy znasz zasady obliczania sumy kontrolnej? <CR><LF> #0 - tak jest zakończony 0D 0A 00 #13 #10 #0 sume kontrolną obliczam dodając all bajty włącznie z CHK Dane ogólnie...
Poczytaj helpa z Bascoma ale angielskiego. Szczególnie o: "Config serialin" z uwzględnieniem "BYTEMATCH" - to jest obsługa UART w przerwaniu uproszczona na maxa. Warto przejrzeć: http://www.elektroda.pl/rtvforum/topic14... i jeszcze ten: http://www.elektroda.pl/rtvforum/topic14...
Czy napewno uruchamiasz ATtiny ? UCSRB = _BV(RXEN), _BV(TXEN); //Uruchomienie RxD i TxD
Kto będzie inicjował połączenie? Bo nie bardzo zrozumiałem z opisu. Czyli konwerter ETH<>RS232 ma się połączyć z danym IP:port, czy to Ty będziesz się łączył z danym IP:port aby wysłać dane. Moje urządzenie wysyła dane po ethernecie - odbiór danych ma być po RS232.
Witam, mam taki problem, może ktoś będzie wiedział jak go rozwiązać. Jest urządzenie, które podaje aktualne stany pojemników z cieczą, jest 5 pojemników i pięć różnych danych. Komunikacja ze sterownikiem odbywa się za pomocą portu RS232. Chodzi mi o to, by dane były widoczne na dwóch komputerach, czyli o podział jednego portu szeregowego na dwa osobne...
No dobrze, ale skąd te głupoty nawet w REALTERM że nie jestem w stanie zinterpretować danych?
Mnie zastanawia jedna rzecz, skoro korzystasz z przerwań to po jakiego grzyba tam input? Zobacz jak mozna to rozwiazac: Odebrano: Disable Urxc ' wylaczenie przerwania na czas trwania aktualnego 'Jesli licznik znakow jest mniejszy od maksymalnego rozmiaru bufora to... If Licz_znaki < Max_znakow Then '...zwieksz licznik znakow, do buforu transmisji...
Czytałem to wszystko,ale tego jest tak dużo i tak nie ściśle opisane:( chyba się poddam:( chodzi mi tylko o odbiór danych z RS232 w delphi :( nic więcej:(
Nieskonczona pętle realizujesz przez TTimer, o podany interwal fukcja sie wykonuje (od 1 ms)
a gdzie w kodzie jest napisane ze odbior jest z rs232? jaki kompilator, to mi wyglada na odbiór z mikroprocesora, a nie z rs232!!
Tu masz odpowiedź: http://pl.wikipedia.org/wiki/Tablica_asc... Znaki tekstowe zaczynają się od 0x20h a te wcześniejsze są po prostu zastępowane kwadratami
wprowadz opoznienie przed skokiem do podprogramu odczytaj_sprzetowy_uart, powiedzmy jakies 100ms, daj czas mikrokontrolerowi na odebranie wszystkich znakow zanim odczytasz uart
Tak Label1=labeel + dana czy tak? Label1=label1+ dana
No więc sprawa rozwiązana, a błąd był w... BUDWIE ZESTAWU ZL3AVR!!! Teraz się mu przyglądnąłem i pomylone jest połączenie pinów od wtyczki DB9 do konwertera MAX232N. Ścieżka od konwertera jest doprowadzona do pinu 4 zamiast 2 we wtyczce RS232. Odbiór danych od komputera realizowany jest przez pin numer 3, który jest na środku, więc obojętne jak się...
Znaczy sie nie odbierasz danych ?
Właśnie stworzyłem małą sieć procesorów połączonych do PC Konkretnie jest to 6x Mega8 wszystkie połączone szeregowo liniami TXD i RXD i spięte z PC za pomocą przejściówki USB-RS232 w TTL Odbiór danych przez mikroprocesory jest bezproblemowy, gorzej gdy któryś ma wysłać komunikat że odebrał dane. W momencie gdy mam podpięty tylko jeden procesor do PC...
Witam Zlecę napisanie prościutkiego programu w Visual Basic 2010 Odbiór danych z rs232 (ramka 32 znakowa zawsze) Zapis całego stringu do zmiennej i wyłowienie z niego potrzebnych danych. napisałem coś takiego w BascomAVR na Atmega32 i oczywiście działa, ale teraz muszę coś takiego mieć na windowsie. Pozdrawiam
Fajny programatorek, chciałbym go podłączyć do atmega128 do uart0 i mieć możliwość programowania uC oraz odbiór danych z USB(RS232) jest to możliwe ? Jednak zrezygnowałem , znalazłem projekt bootloader'a który wykrywany jest przez system jako STK500 , działa świetnie :)
3 - txd - odbiór danych 4 - dtr - gotowość do tr danych ( użyta jako +10v :) 7 - Rts - żądanie transmisji ( też +10v :) 4 i 7 powinny być podłączone do stabilizatora bo służą do zasilania boxa :P
sam potwierdziłeś to co napisałem wcześniej , każdy robot to indywidualna sprawa i tak samo wygląda sterowanie podstawowa sprawa to znajomość dowolnego języka programowania , najprościej masz w Bascomie który ma kilka gotowych poleceń dzięki którym komunikacja po RS-esie jest stosunkowo prosta , istnieją również podobne biblioteki lub macra dla innych...
Przejdź do #2. nie rozumiem. wiem że marudze ale to co dla was jest jasne dla mnie niestety nie, więc prosił bym chociaż o kawałek kodu który odpowiada za odbiór danych z rs232, kombinuje z samplem z bascoma serin_out.bas ale coś lipa :/
0,000000069s - 1/14,475MHz - czas jednej instrukcji procesora 0,000086806s - (1/115200) *10 - najkrótsza ramka(8 bitów danych + start + stop) - co taki okres może przyjść przerwanie od portu szeregowego. Jak widać czasu jest dość(ponad 1000 instrukcji na przerwanie) pytanie co jeszcze robi procesor. Jak odbierasz impulsy z enkodera?
Witam Dzisiaj zainstalowałem visual c++ 2010 express ponieważ tam jest kontrolka serialport za pomoca której chce napisać prosty terminal. Odbiór danych z RS232 zrobiłem tak: private: System::Void serialPort1_DataReceived(System:... sender, System::IO::Ports:... e) {...
Najlepiej zacznij przesyłać takie dane w postaci znaków ASCII i to najlepiej w postaci HEX, dzięki czemu będziesz mógł stosować normalny koniec linii w postaci znaku ENTER a dzięki temu z kolei o wiele łatwiej będzie ci zaimplementować odbiór danych przez RS232 (podobnie wysyłanie) A jeśli się uprzesz przy wysyłaniu takich danych binarnie to zaintersuj...
Rx miałeś dobrze skonfigurowane. Nie masz taktowania AFIO. [syntax=c]RCC_APB2PeriphClockCmd(RCC_APB... | RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);[/syntax] I nie włączaj przerwań skoro ich nie używasz. Te 2 linie z USART_ITConfig są nie potrzebne.
Problem z ustawieniem programu odbiorczego, na pewno ustawiony jest na odbiór danych ASCII ?
Uruchom tel z kamerką i popatrz na odbiornik tam gdzie masz diodę. Jeśli mruga co jakiś czas, to znaczy, że czeka na odbiór danych.
http://obrazki.elektroda.net/76_12556968... Witam, przedstawiam moduł 'usb-rs232 i/o port', jest to przejściówka usb-rs232 zrobiona na bazie projektu http://obrazki.elektroda.net/76_12556968... http://obrazki.elektroda.net/5_125569703... http://obrazki.elektroda.net/15_12556969... http://obrazki.elektroda.net/9_125569699...
Masz błąd w funkcji usart_init(). Brakuje Ci ustawień starszegi bajtu danych UBBRH oraz jednej najważnejszej rzeczy nie ustawiłeś ramki danych tzn bitów stopu, kontroli parzystości oraz wielkości ramki :) Funkcja usart_init() powinna wyglądać mniejwięcej tak: void USART_Init() { /* Ustawianie prędkości*/ UBRRH = (unsigned char)(UART_CONST...
Witam wszystkich Zastanawiam sie jak wykonać połączenie przetwornika ADC0838 z komputerem przez RS232. Chciałbym sterować nim i odczytywać sygnały przez LabVIEW. Problem jest taki, że przetwornik komunikuje się poprzez szynę MICROWIRE. Czy znacie może jakis układ, którym mogłbym to zrealizować? jednoczesny odbiór i wysyłanie danych? Dziękuję za odpowiedzi...
Możesz mi to wytłumaczyć bardziej łopatologicznie jestem początkujący z vb v bascomie programowałem odbiór danych i przypisywanie do zmiennych z rs232 i szło mi to dużo lepiej a w drugą stronę jest już problem.
Jaki kompilator? Nie pokazałeś deklaracji struktur danych - z tego co widzę to nie obsługujesz przepełnienia wartości zmiennych "odebrano" i "wysłano" - to miałyby być bufory cykliczne? w _putchar() gdy wysyłka_wyłączona == 1 powinieneś od razu wpisać bajt do rejestru SBUF, inaczej będziesz czekał na odbiór bajtu żeby zinicjalizować wysyłkę w przerwaniu....
Witam wszystkich. Potrzebuję konwertera z USB na RS232 , ale wyłącznie na ATTINY2313, albo ATMEGA32 bo takie posiadam. Znalazłem coś w sieci, ale nie mają wyjść RTS i CTS. Posiadam duży wyświetlacz VFD NORITAKE ITRON CU20029SCPB-T25A. Wyświetlacz ma właśnie takie wyjścia do komunikacji przez RS232. Nie potrzebujesz RTS i CTS. Potrzebujesz tylko TX,...
Ok, teraz działa, lecz wykonująca się pętla zamula cały program. Zastanawia mnie czy można to jakoś w tle obsługiwać. Spójrz na ten program: http://www.speedyshare.com/731493256.htm... (240 kb), tam odbiór danych z rs232 działa tak jakby w tle - nie wpływając na działanie reszty programu. Poza tym wyświetla on wszystko co dostanie, niezależnie czy dostanie...
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. jaka uboga? o czym ty mówisz ? skąd ty takie ubogie dokumentacje bierzesz? wejdź na stronę www.atmel.com i pobierz z tamtąd pełną notę PDF do jakiego zechcesz tylko...
wszysko chodzi cacy i nadawanie i odbiór A mógłbyś napisać jaki masz kwarc i z jaką to prędkością chodzi? Bo ja mam taki problem że mi w ogóle nie działa a program mam praktycznie taki sam. Opisz również jak łączysz sie z Hiperterminalem;) Mógłbyś dorzucić schemat układu i kabla jakiego używasz??
Możesz odbierać po bajcie, albo po zapełnieniu bufora. Najprościej jest po bajcie i generować zdarzenie po rozpoznaniu znaku terminującego. Nowa linia "po Microsoftowemu" to CR+LF (czyli 10+13). Dlaczego RS485, a nie RS232?
Najlepiej to dać znacznik początku ramki a na końcu jakieś CRC. Odbiornik powinien szukać znacznika początku i jak na niego trafi to zacząć odbierać pozostałe dane. Jak zbierze ich 513 to z 512-tu oblicza CRC i porównuje ze znakiem 513-tym. Jak dobre to zapisuje, jak złe to odrzuca. A sam odbiór to w przerwaniu, i zapis do bufora z jednoczesnym inkrementowaniem...
podejrzyj sobie w AVRStudio co ląduje w UBRR. może brakuje nawiasów? ((F_CPU/(VUART*16))-... albo masz błąd w F_CPU, powinno być 4000000.
Witam, ponieważ od 2 godzin nic nie mogę znaleźć w necie co pomogło by mi rozwiązać, więc chciałbym się was prosić o pomoc. Posiadam komputer stacjonarny, przejściówkę USB-RS232 oraz kabel do transmisji danych. Gdy wysyłam z urządzenia dane do odbieram je w HyperTerminalu zarówno bezpośrednio przez port COM w komputerze jak i korzystając z przejściówki...
Można wykorzystać dowolną opcję. Wystarczy użyć RS232 i zmodulować wyjście jakąś nośną - np. 38 kHz. Wtedy po drugiej stronie dajemy jakiś TSOP i mamy zdemodulowany sygnał RS232. W ten sposób można po IR połączyć dwa MCU przy pomocy diody i odbiornika podczerwieni. Oczywiście jeśli to ma być coś poważniejszego to należy dodać kontrolę integralności...
Mam pytanie czy jest jakas roznica miedzy RS232 a RS232C? bo tak spojrzalem na dokumentacje jednej plytki i ponoc tam jest cos ze jest interfejs rs232c...
:arrow: Strikerer w Twoim przypadku wybór jest ograniczony aczkolwiek polecam program o nazwie: FMA to potężne narzędzie do edycji telefonu dzięki czemu użytkownicy mogą łatwo zarządzać wszystkimi danych osobowych przechowywanych w swoich telefonów, przez szereg różnych metod połączeń. FMA umożliwia łatwe zarządzanie Spis telefonów (zarówno SIM i pamięci...
Dokładniej modemy komunikują się po sieci energetycznej(220V) i powyższy program nie nadaje się.Chodzi mi dokładnie o nadawanie i odbiór zdań ( taki czat). Dzięki i czekam na inne programy.
Niestety nie działa i wina leży prawdopodobnie po stronie przejściówki USB<->RS232 na sterowniku ch-341 < pod Lnuxem. Zamówiłem na Ftdi zobaczymy jak pójdzie. Jeśli zadziała to dam znać
Potrzebuje z tego ukladu wyprowadzic: Odbiór danych Transmisja danych Masa Czyli piny: 6. - TX > Transmisja danych 3. - RX > Odbiór danych 10.- GND > Masa Tak ? Dzis polutuje i dam znac czy dziala na fergusonie (sharing)
Możesz po prostu połączyć 2 wejścia pod jedno wyjście RS232. Mówimy tylko o odbiorze danych z RS232, tak?
A teraz jeszcze pytanie z innej beczki. Procesor steruje pilotem RC5 na przerwaniu INT0, chciałbym jeszcze dodać obsługę RS232 ale nie chcę żeby ciągle było sprawdzane czy coś jest przesyłane bo to mi tylko spowolni program, czy jest możliwość wykrycia ze jakieś dane dochodzą do procesora i wtedy ustawienia flagi po tym będzie wykonany odbiór danych...
Troche czasu minęło odkąd robiłem coś na GPSach, ale czy $GPRMC nie jest czasem wysyłane jeżeli jakieś minimum jest osiągnięte (x satelitów widoczne itd.), lub GPS odpowiednio skonfigurowany? Spróbuj też podłączyć ten odbiornik bezpośrednio pod kompa (może być wymagany konwerter RS232) i zobacz czy odbierany strumień jest taki sam jak ten na uC.
Mam do zroibienia projekt o tematyce: Napisać program umożliwiający odbiór oraz nadanie danych przez RS232 podłaczonego do komputera PC. Program nadajacy powinien odbierać cyfry wpisane na klawiaturze PC i wyswietlać je po koleji na 8 wyswietlaczach siedmiosegmentowych. Po zapełnieniu 8 wyswietlaczy dane znikają i kolejne cyfry zapisywane sa od poczatku...
Jeśli to jest tylko powtarzalny strumień danych bez konieczności potwierdzania, lub inicjowania, to idea jest prosta - Rx na wejście, Tx na wyjście. Odczytujemy (nadawanie wyłączone) i buforujemy komplet danych, przełączamy się na niższy baudrate, wysyłamy TX (odbiór wyłączony), wracamy na wyższy, odbieramy itd.
RS232 i konwerter na RS485 Od strony uP standardowo zaczynam od: $crystal = 11059200 $baud = 9600 Odbiór danych przez instrukcje inkey a potem setest case Wysyłanie instrukcja Print . Nie korzystam z przerwań. Od strony PC zależy w czym piszesz program. W VB odbiór i wysyłanie przez MSComm1. (output lub input ) Jest sporo przykładów na elektrodzie....
Może i naprostuje, o ile przetłumaczysz na polski poniższe zdania: "W terminalu działa. Uart1 ma za zadanie wysłać odebraną wartość z UART0 do aplikacji PC, obecnie terminala." To, jak używasz przerwań, kompletnie nie ma sensu - wyrzuć te przerwania i zrób odbiór danych z aktywnym oczekiwaniem. Inicjowanie UART jest skopane, ale zapewne jakimś cudem...
To co kupiłeś to prosty jednokierunkowy tor radiowy natomiast do łączności z sterownikiem NE041 potrzebne są 3 sygnały RxD / TxD oraz DTR czyli sygnały odbiór danych / nadawanie danych / gotowość urządzenia tak więc odpowiedź nasuwa się sama . To wszystko dotyczy RS232 dla USB kolejny konwerter z pełnym sprzętowym RS232 , tak jak napisał kolega wcześniej...
cichy999 --> jak jeszcze pisałem programy w Bascomie to spokojnie takie rzeczy robiłem. Bierzesz sobie np najnormalniejszego małego procka np ATtiny2313 (ma przecież nawet piękną sprzętową obsługę RS232), i przede wszystkim robisz w nim normalną obsługę LCD. Potem dopisujesz procedury do odbioru danych przez RS232 (może być tylko odbiór) Następnie wymyślasz...
Wiem jak wygląda transmisja rsie, ale nie o to mi chodzi. Ja to zrobiłem w ten sposób, że z programiku Terminal ładuję dane z pliku i wysyłam do FPGA. W ten sposób wysyłane są ramki jedna za drugą. No i wiedząc że mam transmijsję 19200 bps, z 1 bitem stopu, bez bitu parzystości i bez Handshaking, każda ramka ma 10 bitów. Zrobiłem warunek na wykrycie...
Deklaruję zmienną jako bajt i jej wartość ustawiam na 0. Następnie wysyłam ją po rs232. Na terminalu ustawionym na odbiór stringów mam prawidłowo odebraną daną - czyli 0. Jak ustawię odbiór hex'ów to wyświetla mi 30 30 0D 0A. Jak jest ta dana konwertowana na hexa? Ona nie jest konvertowana na hex. Print służy do wyświetlania na terminalu więc wartość...
Skoro chesz przesyłać dane czyste dane binarne to chyba zrozumiałe, że odpada ci konstrikcja Bytematch z zastosowaniem dowolnego bajtu, który byłby końcem jakiejś tam ramki w związku z tym musisz je albo: 1. wysyłać czysto binarnie z kompa a w procku po prostu czekać na zakończenie transmisji - wprowadzając jakiś TimeOUT (ale to czasami mało eleganckie...
i drugie pytanko - do tej pory piszę swoje procedurki i funkcje transmisyjne RS232 (nadawanie i odbiór) ale szczerze wolałbym użyć jakiegoś prostego w obsłudze gotowego komponentu. Chciałbym, żeby można było wysyłać dane "bajt po bajcie" i mieć obsługę zdarzenia po odebraniu danych lub pojedyńczych bajtów... Co polecilibyście? Proponuje ComPort <--...
Problem rozwiązany Okazało się że przejściówka AVTMOD09 i układ ft232rl to tak naprawdę przejściówka USB <>UART czyli podłącza się ją bezpośrednio do uC bez pośrednictwa max232. Zamykam temat.
A czy do odbioru danych rs232, też należy to wykorzystać? Dokładnie mówiąc, czy w przypadku błędów w odbiorze danych (dwie meg16), może pomóc ten OSCCAL? Domyślam się, że tak. Pozdrawiam
Już sobie poradziłem z odbiorem za pomocą funkcji "Input". Ale teraz mam inny problem. Muszę coś wysłać i później czekać na odbiór danych. Kłopot w tym że urządzenie zewnętrzne może wysyłać te dane w różnych odstępach czasu. Nie mogę więc zrobić tak że wysyłam dane, używam polecenia Sleep i po jakimś czasie odbieram. Chciałbym użyć do tego przerwania...
Buffer_I="" - czy to przypadkiem nie przeinicjuje wskaźnika zmiennej?
Sprawdziłem testując że robiąc coś takiego: [syntax=delphi]Write_Comm (); Sleep (20...100); //Chodzi oczywiście o zakres czasowy Read_Comm();[/syntax] Działa poprawnie odbiór. Czyli potrzebuję by Read_Comm działał tak by po odebraniu wszystkich danych z portu COM dopiero wtedy przypisał dane do Buffora In
Witam. Chciałbym zrobić odbiór danych z rs232 w przerwaniu. Programuje w C w WinAVR. Nie mogę znaleźć uchwytu przerwania od USART, jest jedynie od UART i nie chce działać. Nie wiem co robie źle. Dziękuję za wszelką pomoc. #include <avr/io.h> #include "delay.h" #include <avr/interrupt.h> #include <avr/signal.h> #define FOSC 16000000//...
Witam! Chciałbym komunikować się z urządzeniem poprzez i2c używając Atmegi16. W tym celu chcę zastosować sprzętową obsługę TWI. Jako, że urządzenie, z którym chce się komunikować, potrzebuje napięć 3.3V (a procesor mam na 5V), zastosowałem układ: MAX3378EEUD+ (translator poziomów logicznych). Do niego połączyłem bezpośrednio odpowiednie linie SCL i...
Cześć Fachowcy! Problem jaki wstrzymuje moje prace polega na niemozliwosci odebrania kolejnych bajtów za pomocą instrukcji INPUTBIN. pierwszy bajt odbieram prawidłowo, drugi niestety jst zawsze 0 bez względu na to jaki jest naprawde. transmisja to 250000,8,n,2 fragment kodu: Toggle Portd.4 wyzwalanie oscyloskopu Toggle Portd.4 j.w. Inputbin S1 odbierz...
WItam; chciałbym zrobić sterownik który będzie pełnił funkcję konwertera prędkości UARTU. Na wejściu otrzymuję ramki GPS 9600, a na wyjściu chcę wysłać to samo tylko w nieco innym standardzie (eleminacja niepotrzebnych danych. Zrobiłem w przerwaniu RXC odbiór ramki. Działa super. Robię konwersję. I chcę to wysłać znów przez RS232. Całość mam w Stringu...
Brak podstawowych danych odbiornika tv w samochodzie. (W Polsce przyjęto że odbiór programów cyfrowych możliwy będzie jedynie na antenach dachowych. Jeżeli TV posiada odpowiednie gniazda wejściowe, to można pobawić się podłączając dowolny dekoder 12 V. Ale zaniki sygnału, całkowite, odmiennie niż w analogu zniechęcą do oglądania tv http://www.krakowrtv-sara.pl/product.php...
czy aplikacja w Javie powinna być pisana z uwzględnieniem faktu że będzie zastosowany konwerter RS232 na USB czy nie ma to znaczenia? Bez znaczenia. Już piszę o co chodzi np: ciąg L375L odbiera jako 2 ciągi znaków np:L37 i 5L.Powtarzalne jest to że w przypadku złego odczytu przez aplikację ciąg znaków zawsze podzielony jest na dwie części natomiast...
Udało mi się uruchomić komunikację w uVision Keila, ale na jakimś programie przykładowym. No więc mam już pewność, że błąd tkwi w moim programie. Będę musiał się nauczyć korzystać bez tych bibliotek standardowych, bo one chyba trochę z pupy są :)
w VB6 korzystając z kontrolki MSComm odbieram dane wysyłane z uP przez RS232, a następnie umieszczam je w labelu mniej więcej tak: dim dana as string dana=MSComm1.input Label1=labeel + dana Z procka wysyłane są dane / program w bascom 8051 / print h;":";m;"_";d '/godzina; : ; minuta ; _ ; dzień Wszystko jest O.K. do chwili gdy godzina jest mniejsza...
Przerwanie zostanie wykonane tylko wtedy gdy nadejdzie nowy znak. W innym przypadku będzie się wykonywał program główny. Jeżeli został odebrany znak to procesor wchodzi w przerwanie, gdzie następuje odczyt UDR i wpisanie go do twojego bufora. [kod] SIGNAL(SIG_UART_RECV) { bufor = UDR; // odczyt znaku } [/kod] Następnie procesor wychodzi z obsługi przerwania...
szczerze powiedziawszy to twój kod nie do końca realizuje echo, bardziej przypomina to zwarcie kabelków we wtyczce a nie rzeczywisty odbiór i odesłanie danych, natomiast powodu odbioru złych danych do końca nie rozumiem, ponieważ pomiędzy tymi dwoma kodami (w zapisie binarnym) nie ma żadnej zależności 0x0E : 00001110 0x63 : 01100011
Napisałem bardzo dawno temu programik na atmege16, który czekał na przesłanie danych (8-bitów) po RS232 (<->MAX232<->uP), nastepnie odsyłał je spowrotem. Chciałem zrobić coś podobnego ale na Rs485, w tym celu zamiast MAX232 wykorzystuję 75176 (odpowiednik MAX485). Linie /RE i DE są ze sobą zwarte i sterowane przez procesor (dodatkowy pin,...
Niektóre programy nie radzą sobie z konwerterami RS232/RS485 (nie ma znaczenia czy to jest wersja USB, czy nie). Problem leży w przełączaniu pomiędzy nadawaniem a odbiorem danych. Niektóre konwertery używają układów opóźnień, dostosowanych do określonej szybkości transmisji. Inne, np. na FT232 mogą korzystać z linii sprzętowych sterujących transceiverem...
odbiór danych rs232 odbiór rs232 odbiór danych klawiatury
bezpiecznik wycieraczka tylny mikrofon bezprzewodowy antena schemat woltomierz cyfrowy
fotowoltaika instalacja rockworth ariw100
Wymiana żarówki w Kia Venga - instrukcja krok po kroku Błąd 3P9 w kotłach Chaffoteaux i Ariston - jak usunąć?