Czy jest funkcja szukania samych cyfr z buforu rs232? To są odpowiedzi z modułu SIM800. Bazuję na czymś takim: If Pinc.3 = 0 Then Waitms 750 Print "AT+CCLK?" ; Chr(13) ; 'zapytanie o datę i czas Waitms 50 Date_str = Mid(odb_txt , 20 , 8) Time_str = Mid(odb_txt , 29 , 8) End If Ale coś się dzieje i nawet wyświetla litery z odpowiedzi modułu. Da się jakoś...
Obsługa ustawionej maski portu wygląda tak: WaitCommEvent(hComv, fdwEvtMask, null); Maski mogą być różne i ustawia się je tak, jak Pan napisał: setcommmask(handle,maska)
hmm, to spróbuj tak: TI = 0; TI = 1; Może TI jest w tym momencie już załączony.
Znalazłem, spróbuję zastosować i ewentualnie będę się pytał dalej. Dzięki.
witam ponownie wykres działa w trzech kolorach:) jak go teraz zapisać ale jako np .jpg
Bufor ten ma 3 znaki ale po pojawieniu się pierwszego znaku od razu jest on przesuwany bo bufora programowego. Czyli działa to jak jak by bufor sprzętowy miał tylko 1 znak.
Witam Mam następujący problem po przekompilowaniu programu pojawia się kilka błędów Error 5 oraz Error 320. Błędy te wyświetlają się wyłącznie po zadeklarowaniu bufora Config Serialin=Buffered, Size=254 Config Serialout=Buffered, Size=254 W załączniku przesyłam zrzut ekranu. Proszę o pomoc pierwszy raz z czymś takim się spotkałem Pozdrawiam Michał [/img]
Bufor cykliczny trzeba zorganizować na RS232 oraz wysyłanie na przerwaniach i po kłopocie.
Co będzie jak jednym z kodów przesłanych do mikrokontrolera będzie znak o kodzie 0? Odp: Nie zostanie zauważony. Dlatego INKEY() powinno się poprzedzać operacją sprawdzenia zajętości bufora UDR.
A może użyć funkcji ftoa() ?? Zamienić na ASCII i przesłać kolejno jako ASCII do PC, a w PC zamienić z powrotem na float dane odebrane z UART. Do funkcji ftoa() ładujesz np. tablicę jako bufor.
Urządzenia spełniające Twoje wymagania to bufor RS232, na przykład taki:[url=https://www.wut.de/e-88642-ww-... Link. Niestety rozwiązanie kosztowne. Może ktoś wykona podobne urządzenie na zamówienie, ale to też kosztuje.
Daj więcej listingu tego programu, bo tak to możemy sobie zgadywać. Na pierwszy rzut oka to nie wiem po co to waitms w funkcji odczytu ??. Przez to mogą się gubić znaki mimo, że masz bufor.
Profesjonalnie to można programować w każdym języku, tylko trzeba go po prostu znać i umieć stosować w praktyce co najważniejsze. Dla takich początkujących jak ty Bascom powinien być jednym z lepszych języków tym bardziej, że nie rozumiesz jeszcze przerwań. Bascom daje ci gotowe rozwiązania w tym zakresie na maxa - popatrz sobie na Config Serialin ........
Bufor to zapewne u ciebie łańcuch tekstowy AnsiString ? Wtedy robisz coś takiego. AnsiString temp1 = Bufor.SubString (1,5) ; // do temp1 wpisze podciąg od 1 do 6 znaku z Bufor AnsiString temp2 = Bufor.SubString (6,5) ; teraz w temp1 masz łańcuch tekstu X1234 a w temp2 Y5678 temp1 obcinasz o X (np. temp1=temp1.SubString(2,4) lub temp1.Delete(1,2);...
Napisz jaki to procesor i kompilator. Z tego co widzę, to jakiś mikrokontroler - skoro "ręcznie" odczytujesz znaki z bufora RS232, to czy na pewno masz odpowiednio zinicjalizowane standardowe strumienie stdin i stdout? Pozdrawiam, Dr.Vee
Witam wszystkich :) Postanowiłem zrobić sobie detonator bezprzewodowy 433MHz do odpalania moich petard ;) Komunikacja miedzy modułami to RS232. A to mój kod: KEY_START ma uzbroić ładunki(umożliwic odbieranie znaków po RS232),niestety wysłanie jakiegoś znaku z pilota jeszcze przed KEY_START uzbraja ładunki ponieważ kod z pilota jest już w buforze. Chciałbym...
P.S. Oczywiście, że przerwania lepsiejsze:) Zwłaszcza z buforem :)
Już chyba wiem, w czym może być problem. Nie mam mostków na liniach 4-6 i 7-8 portu COM. Aplikacja na PC nie jest w stanie wyczyścić bufora RS232 przed odebraniem danych. Czy to może być spowodowane brakiem w/w mostków? ---edit--- Niestety mostki nie były problemem.
Jakoś tak to opisałeś, że nie jestem pewien czy o to chodzi... Może należałoby zamknąć tę procedurę w pętli. Nie wiem skąd się bierze wartość bufora, ale Do Until wartość_tego_bufora = 0 pętla będzie działać, aż będzie pusty (zakładając, że 0 to pusty bufor).
Tzn. czego poszukujesz? Jak działa FIFO? Przecież pierwsze lepsze wyniki z Google'a ci pokażą jak to jest zrobione. Musisz zrobić tylko kontroler dla kolejki FIFO w układzie nadajnika i tyle jest roboty. Jeżeli już chcesz jak działa FIFO to masz tutaj http://www.ti.com/lit/an/scaa042a/scaa04...
Najważniejsze to chociaż troszkę samemu najpierw pokombinować i ew później dopytać co i jak ;) ale po co ten Inkey? toż jak już zajdzie zdarzenie Bytematch - to znaczy, że w twoim buforze jest już co najmniej jedeń łańcuch tekstowy, którzy przyleciał z Rs232 i zakończony znakiem ENTER (13) .... w związku z tym wystarczy dać polecenie Input linia i już...
Jeśli zastosujesz próbki WAV zapisane jako ADPCM to długość odtwarzanego utworu w tej samej jednostce pamięci znacznie się powiększy - a jest to dość prosta kompresja. http://pl.wikipedia.org/wiki/ADPCM Co do pamięci to w 8051 jest jej niezmiernie mało. Może podejdź do tego inaczej. Niech PC przez RS232 wysyła plik tak duży jak chce, a 8051 będzie go...
Udało mi się znaleźć bardzo ciekawy [url=http://www.atmel.com/dyn/resources/... Atmela. Przeczytaj go dokładnie i wykonaj wszystko tak jak tam opisano. Myślę, że pomiędzy podanym w tym dokumencie buforze (strona 3), a zaemulowanym RS232 nie koniecznie musi być konwerter poziomów - MAX232. Pokazany tam bufor wzbogaciłbym o...
Konwersje byte->string otrzymuje się przy użyciu funkcji Str. W drugą stronę działa funkcja Val.
Zadam jeszcze jedno pytanie. Czy karty PCMCIA sprawdzą się w tym przypadku ? Jako bardziej 'sprzętowe' ?:)
Od strony AVR napisz to od nowa. Napisz asynchroniczną obsługę wysyłania danych po RS, bo tak jak masz być nie może - blokujesz przerwania na długi czas potrzebny na wysłanie danych przez wolny interfejs szeregowy. Kolejna rzecz - jak ten program działa? Na losową pozycję bufora zapisuje odebrany bajt z PC (w dodatku blokując cały MCU do czasu jego...
Jeżeli masz na myśli bufory "wewnątrz" układu UART to sterowanie XON/XOFF jest możliwe tylko dla nielicznych realizacji UART i odbywa się przez programowanie odpowiednich rejestrów UART-u ( próg zadziałania, próg wznowienia, kody znaków XOFF i XON). W wiekszości przypadków sterowanie XON/XOFF dotyczy obsługi programowej, realizowanej na przerwaniach...
Nie posiadam tego GPS'a jeszcze, tak to bym chętnie podłączył. Czyli wnioskując, to: - zasilić go z 3,3V - by uzyskać logikę w standardzie TTL (5V) muszę użyć bufora
zapomnij w takim prostym przypadku o przerwaniu Urxc (wywal z tego swojego kodu wszystko co masz związane z tym przerwaniem), zamiast tego - to co wpisałeś w przerwaniu - daj w pętli głównej - i wszystko w cudowny sposób ci ruszy. Co więcej - zainteresuj się takim poleceniem jak Config serialin - dzięki czemu włączysz sobie sprzętowy bufor RS232 - który...
Fajnie by było gdy byś przykładowo napisał co takiego przesyłasz.........jakie dane?? Mógłbym to przy okazji sprawdzić u siebie. A tak przy okazji z kodu wynika że pomimo tego czy jakiś znak jest czy nie w buforze to co 500ms "czyści" Ci sie wyświetlacz, spróbuj zamiast inkey() użyć waitkay(). Bo waitkay() powoduje zatrzymanie programu na czas napotkania...
1. Sformatuj kod bo się nie da czystać 2. Nie deklaruj całych struktur/buforów jako volatile bo to nadużycie
W takim razie czy mógłbyś polecić jakieś rozwiązanie, jak zrealizować USB bezprzewodowo? - bezprzewodowe HUBy USB są raczej rzadkością... A może adapter USB-RS232 (on zadziała jak bufor?) (transmisja bezprzewodowa) RS232-USB?
[syntax=c]x = 0; for (p = bufor; *p >= '0' && *p <= '9'; p ++) x = x * 10 + *p - '0';[/syntax]
jak zadeklarować te zmienne? A np. tak dim Bufor as string * 16 ' 16 - maksymalna długość odebranych danych dim Bufor_znak as byte dim Bufor_flaga as byte
Witam Program odczytuje wiadomości wysłane przez RS232. Korzystam z komponentu ComPort. Chce przy jednym evencie OnRxChar odczytywać jedną wiadomość Dodano po 2 niestety kozystając z count zgarne cały bufor... a ja chce tylko te 20 bajtów danych w tym momencie.
Przed wyłączeniem programu musisz zamknąć uchwyt Kolega chyba nie zrozumiał. Po restarcie komputera jak uruchomię program to on się zawiesza, kiedy zaczyna czytać z bufora RS232. Jeśli włączę HyperTerminal otworzę port poznije go zamknę i wyłączę HyperTerminal to mój program już działa poprawnie i mogę go włanczać ile razy chcę (do następnego restartu...
Ja też mam trochę lamerskie pytanie... Oscyloskop (amatroski) = AD7863 + procek (jaki polecasz) + bufor (?) + transmisja po rs232... Warto kombinować ?
Skorzystaj z opcji RTS/CTS.
No niestety, nadal siedzi to w buforze i czeka..... może nie jest najlepszym pomysłem korzystanie w tym przypadku z przejściówki RS232/USB?
Po wczytaniu danych do bufora znaków 'incomingPacket', wpisuje znak '0' za ostatnim wczytanym znakiem - jest to tzw. terminator łańcucha tekstowego.
Może masz błąd w obsłudze bufora??
Nie wiem jak jest w STM, ale czy UART czasem nie ma swojego bufora? Jesli tak, to DMA prześle szybko dane, aż do zapełnienia bufora (bo nie musi czekać na ich wysłanie), dopiero, po zapełnieniu bufora, kolejne dane przez DMA są transmitowane w rytm ich wysyłania przez UART, czyli wolno.
Pliki amorficzne (zapewne o takie chodzi) nie posiadaja formatowania w postaci linijek. Dla wlasnych clelow mozesz ustawic bufor odczytu (i zapisu) pliku na pewna ilosc bajtow i po kazdym wyslanym buforze dodatkowo dodawac znak #13(a raczej #13#10) aczkolwiek musisz uwazac aby nie dopisac ich do pliku (poszczegolnego bufora)
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? ;)
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...
Nic nie piszesz o ustawieniach portu (transmisja, dane, bity stopu, sterowanie transmisją). Czy to na pewno masz dobrze ustawione? No i przy każdym napłynieciu bajtu definiujesz zmienną Buffer a później wywołujesz podprogram wyświetlania. Z jaką prędkością działasz, bo według mnie nie nalezy wyświetlać bezpośrednio z podprogramu odbierającego dane z...
Nie chodzi mi o bufor oferowany przez system. Sam układ ma bufor, chyba do 16 bajtów max. W managerze urządzeń znajdź port, w ustawieniach zaawansowanych można zmniejszyć lub wyłączyć FIFO.
Ogólnie to coś działa ale....... 1. Czemu dla takiego użycia ITOA wyskakują ostrzeżenia ? 2. Myślałem że jak zdeklaruję wielkość bufora mniejszą niż zmienna np http://obrazki.elektroda.pl/8716705500_1... [syntax=c]#include <avr/io.h> #include <avr/pgmspace.h> #include <util/delay.h> #include "usart-lib/usart.h" void...
używasz tego Config Serialin1 = Buffered , Size = 20 ??? przecież to jest włączenie bufora dla sprzętowego RS232 w procku, pokaż jeszcze raz teraz dokładnie te swoje dwa programy
Witam wszystkich. Piszę na tym forum, bo chyba jest tu najwięcej użytkowników tych kart. Jestem "szczęśliwym" posiadaczem karty PCMCIA Silicom serial, ale mam niekompletny kabelek. Urwane jest złącze DB9. Bardzo proszę o prześwietlenie org. kabelka. To co udało mi się ustalić po otworzeniu karty to piny wej. i wyj. na podstawie użytego w karcie bufora...
ale czy bufor to kwestja języka? wydaje mi się, że tu idzie o zasadę. Ja sobie zrobiłem bufor do rs232 w formie tabli, przerwanie dokłada na stosik znaki a procedurka zdejmuje , wystarczyła 8 bajtowa tabelka żeby nawet pisanie na 4 ręce nie powodowało przepełnienia. Zrób tak samo. Niech przerwanie odkłada ci na stos komendy a procedura niech zdejmuje...
Zanim kolejny wieczor spedze na montowaniu roznych ukladow, sprawdzilem co system odczytuje z bufora RS232. Przy transmisi zapala sie flaga Framing Error. Z tego co doczytalem sie w specyfikacji protokolu, cyt. "...strona odbierająca odmierza czas od zbocza 1→0 na początku bitu start i próbkuje stan w połowie długości bitu; wykrycie wartości '1'...
No tak na marginesie to bardzo ciekawy efekt ci wyszedł ;) A na poważnie to działasz na ATmega32 więc jak możesz próbować nawet tworzyć bufor w RAM o rozmiarze 2026 ??? nie wspominając o większym - skoro cały RAM tego procka to 2kB. Zastanowiłeś się nad tym? hmmm widzisz tutaj twoim problemem jest na razie prawidłowe zorganizowanie binarnej transmisji...
tam mam ustawiony stos (zresztą standardowo).... dzięki chłopaki - czyli muszę niestety zmniejszyć trochę bufor odczytu dla transmisji rs232... pozdrawiam
Saleae mają bufor, który chroni układ przed zniszczeniem, ale prawidłowe RS232 ma +9V dla stanu niskiego i -9V dla stanu wysokiego, stąd dla Saleae konieczna była inwersja stanów. Saleae 8 przyjmuje napięcia w zakresie 0..5V ale na jego wejścia bezpiecznie można podać napięcie z przedziału -25..25V.
Korzystam również z komponentu APro. Robię to z wykorzystaniem maszyny stanów w następujący sposób: 1. Wysyłam polecenie 1 i ustawiam np. Stan1, 2. Gdy urządzenie odpowie, to w zdarzeniu OnTriggerAvail sprawdzam jaki jest ustawiony stan i w zależności od tego parsuję odpowiedź, 3. Wysyłam polecenie 2 i ustawiam np. Stan2, 4. Gdy urządzenie odpowie,...
O ile mi wiadomo, sam silnik bazy danych dowolnego typu (Firebird nie będzie tu wyjątkiem) nie zapewnia bezpośredniej współpracy ze sprzętem. Generalnie silnik bazy danych oferuje tylko "zorganizowany magazyn" tabel podzielonych na kolumny i rekordy. Zapis i odczyt danych jest zadaniem programów, które można samemu tworzyć wykorzystując API danej bazy...
Problemem jest opóźnienie i wielkość bufora BT . Po prostu upływa czas odpowiedzi i transmisja się sypie to samo jest przy niektórych przejściówkach USB rs232 . Jeśli program jest dość stary a transmisja wprost może nie udać się go połączyć po usb czy radio. poza tym twój moduł jak widać nie obsługuje chyba wszystkich znaków bo są różnice przed i za...
MAX232 to konwerter napięć, dość powszechnie wykorzystywany prz komunikacji po RS232. 74HCT125 to bufor a MB15168to driver do LED -ów. Niestety ale nie mogę znaleźć jakiegoś gotowego rozwiązania a dla mnie to jest o wiele za wysoki poziom do programowania.
Zastosuj kodowanie kanałowe z wykorzystaniem kodu splotowego. Kod o sprawnosci R=1/3 może usunąć do ok 30% bez ponownej retransmisji danych. Wartosc ta może wzrosnać jeżeli zastosujesz bufor z przeplotem w nadajniku oraz rozplotem w odbiorniku. Polecam ksiazke "Podstawy cyfrowych systemów telekomunikacyjnych" Pozdrawiam!
Jeśli wysyłasz dane z układu uP co 500ms to program, który odczytuje dane z bufora, możne sprawdzać czy nie pojawiły się w nim nowe dane i jeśli zostały zapisane nowe dane to wtedy je dopiero odczytać. Na pewno jest coś takiego opisane w książce RS232-praktyczne programowanie. Jesli nie to poszukaj na http://4programmers.net/search.php?q=obs...
A jeśli chodzi o AVR to: ON źródło_przerwania nazwa_podprogramu [ NOSAVE ] gdzie: źródło_przerwania - symboliczna nazwa źródła przerwania, nazwa_podprogramu - etykieta określająca gdzie znajduje się podprogram obsługi przerwania. jako żródło przerwania można: URXCprzerwanie układu sprzętowego UART – odebranie znaku UTXCprzerwanie układu sprzętowego...
pewnie piszesz w bascom ,wiec masz kod odbierania danych (całych stringów ) w przerwaniu :) : Config Serialin = Buffered , Size = 20 do If Ischarwaiting() = 1 Then '1 - odebrano znak,0 - pusty bufor Call Read_rs232 End If loop Sub Read_rs232 Dim Bufor As String * 24 Input Bufor Noecho end sub
Najpierw spróbuj może dodać: ...ale jak ustawię ręcznie bit UDRE w UCSRA który oznacza że bufor jest pusty, także nic się nie wysyła. To nie jest argument. Flag przerwań w AVR generalnie nie da się ustawiać programowo, niektóre można tylko wyzerować. Akurat UDRE można wyzerować tylko poprzez wpisanie bajtu danych do rejestru UDR, flaga ustawiana jest...
Mnie się wydaje, że być może UART_TRansmit nie sprawdza czy nie nadpisuje bufora kołowego...
Łap bo jak zaczniesz z tym Multimaster to się nigdy z tego nie wygrzebiesz a odkrywasz tu koło na nowo :D Po pierwsze nie zauważyłem wcześniej, że już skonfigurowałeś Serial in 0. Błędem natomiast jest jest używanie Serial out 0 a potem zamiast to wrzucić do bufora to wycinasz po jednej literce ze stringa i nadajesz pojedynczo... Po prostu napisz Print...
5 i 6 dana zostaje zapisana do buforu - wczesniej nie byla sprawdzana wielkos buforu i dlatego jezeli program nie zdazyl odebrac dana[2] to najprawdopodobniej aktualizowal ja z kolejnej 2 paczki. teraz teoretycznie program czeka na 2 bajty a wydaje mi sie ,ze szybciej sie wykonaja aktualizacje kontrolek niz wysylanie bajtow. najlepiej z boku sprawdz...
Charakterystyczną właściwością bufora cyklicznego (kolejki FIFO) jest to, że wskaźniki początku i końca (odczytu i zapełniania) przemieszczają się niezależnie - każdy w swoim tempie. Stąd w Twoim programie indeksy powinny być niezależnymi zmiennymi globalnymi/statycznymi. Przypisanie liczniku=usartbufferlicznik zakłóciłoby normalny tryb pracy bufora...
Toć to nie wystarczy zrobić gdzieś czegoś w stylu /dev/comx > /log/moj_plik.log ? Dawno nie używałem unixa ale coś w ten deseń można pokombinować (Jedynie nie wiem czy to nie zamknie od razu "sesji" po odczytaniu z bufora danych UARTu)
...jeśli już jednak o tym mowa to nie żebym chciał męczyć cię o tą rozbudowaną funkcję przerwania, ale może chociaż tak w 2 słowach powiesz mi jak "to w locie" dekodujesz? tzn - przy okazji na jakim procku minimum warto się za to zabierać? M8? M16? M32? czy jeszcze większy? Bez przesady ;) Jak jest >=512 RAM-u , to wystarczy do smsowania. Co do ilości...
Witam kolegów program napisałem w Visual Studio 2008 i korzystam z fabrycznego komponentu serialport mam zrobiony taki układ na FTDI i Atmega8, prockiem czytam napięcie na ADC z potencjometru i mam taki problem, jak odbieram dane z portu COM to dane są spoźnione o kila sekund, jak skręcę gałką to reakcja w programie jest za kilka sekund, pomyslałem...
PL2303 - Nie bardzo, za mały bufor PL2303HX - OK OTi Uart Tx Line - Nie polecam (jako RS232 zrywa transmisje) ARK Tx Line - Nie polecam (jako RS232 zrywa transmisje) FDTI - Najlepsze ale i najdrozsze wyjście Odnośnie allegro, 99% super sprzedawców kabli nawet nie wie czym tak naprawde handluje, a tym bardziej "nie mamy czasu na pierdoły typu otwieranie...
Z opisu metody Read kontrolki SerialPort "Reads a number of bytes from the SerialPort input buffer..." wynika, że pobiera ona bajty, które się znajdują w buforze kontrolki. Możesz otrzymać mniej znaków niż żądasz, jeśli przed upływem ustalonego timeout'u w buforze kontrolki nie znajdzie się odpowiednia liczba znaków. Czy i na jaką wartość ustawiłeś...
Witam ! Tak, rok temy pisałem oprogramowanie do pobierania wagi z wagi RHEWA 83 PLUS w środwisku Delphi7 poprzez port RS232. Program z powodzeniem zbiera dane z wagi. Waga jest ustawiona na tryb ciągłego nadawanie bieżącej wartości wagi. Co 0.5 sekundy zbieram odczyt z bufora RS232, parsuje wartości to tablicy w formie wartości rzeczywistych, wyciągam...
Witam Na port rs232 dostaje pewne dane chciałbym je wszystkie zebrać i wrzucić do zmiennej. Coś na zasadzie bufora. Jak powinienem podejść do rozwiązania tego problemu. Pozdrawiam
Wyjaśnijmy jedną sprawę: Programowanie AVR-ów szeregowo odbywa się po innych pinach niż transmisja szeregowa (są to piny, jak już napisałeś SCK, MOSI, MISO, wyjątek stanowi ATMEGA128 ale to już inna historia) Radze te piny wyprowadzić oddzielnie w celu późniejszego programowania. Nie możesz ich podpiąc do standardowego RS232, bo tak nic nie zaprogramujesz....
https://obrazki.elektroda.pl/2212041800_... Niniejszy projekt to nic odkrywczego, ale może się komuś przyda. Czasem potrzebujemy wygenerować sygnał PWM dla większej ilości kanałów a akurat nie mamy pod ręką dedykowanego układu - tak było w moim przypadku gdy robiłem mały projekt z oświetleniem i wentylatorami przy "modowaniu PC" -...
Najpierw sie zastanow czy to ma byc transmisja full duplex czy simplex. Jesli simplex to sprawa sie nieco komplikuje bo musisz jakos rozwiazac konflikty jesli jednoczesnie dwa procesory zechca nadawac. Chyba, ze jeden zawsze tylko odpowiada a nigdy nie inicjuje transmisji. W przypadku full duplex sprawa jest o tyle prostsza, ze nadajnik/odbiornik po...
A nie możesz na czas programowania po prostu odłączyć kabelka RS232? Druga możliwość - jak na płytce masz MAX232 to na wyjście RxD ze strony TTL daj bufor trójstanowy, taki np. w SOT23, jego sterowanie podepnij pod RESET. Programowanie uaktywnia reset i odłączy maxa od UART. Dla pewności to samo możesz zrobić na TxD, coby rzeczy z programatora nie wychodziły...
A może rozwiązanie sprzętowe: na jakimś AVRku linię RX łączysz z konwerterem RS485/TTL, nóżkę TX łączysz z komputerem za pomocą konwertera TTL/RS232 (lub USB), ustawiasz sobie UBRR tak aby uzyskać prędkość najbardziej zbliżoną do 20800, odbierasz dane, zapisujesz je do bufora o takiej wielkości aby wszystkie się zmieściły, zmieniasz UBRR na którąś ze...
Dodatkowe urządzenie to dodatkowe problemy musi spełniać kilka założeń żeby było uniwersalne a przy rs485 ma do spełnienia kilka zadań : 1. sterowanie transmisją 2. posiadać buforowanie 3. Wymaga więcej części niż kwarc za 3pln ;) Poza tym żadne z tych urządzeń nie działa bezwzględnie zawsze i bez końca . Dlaczego tak się dzieje to bardzo proste o ile...
Był kiedyś taki projekt na AT89S252 (8031) z ROM, RAM i parę buforów komunikowało się z mim po RS232. Coś podobnego do dzisiejszego Arduino niestety nie potrafię go znaleźć - może ktoś pamięta jak się to nazywało.
Jeżeli nie ma błędu przy kompilacji to raczej char jest traktowany jak jednobajtowy znak ANSI, a QueryDosDevice w wersji A. Próbowałeś utworzyć bufor o znacznie większym rozmiarze?
Akurat w tej instrukcji sam ustawiasz wielkosc bufora (bo to nie jest bufor portu tylko twoich danych). jezeli czytasz w onrxchar to ilosc danych w buforze portu masz w zmiennej Count
Oled w niektórych bibliotekach ma bufor RAM 1k, a to cały RAM w Atmega8 i nawet jeśli nie jest cały buforowany to raczej tu bym szukał przyczyny w dziwnym zachowaniu uC. Ciężko byłoby rozjechać synchronizację dla prędkości 9600, a ewentualne błędy dla 8 i 16MHz są takie same i wzajemnie się znoszą, choć oczywiście lepiej mieć kwarc zewnętrzny. Spróbuj...
Pomysł z czytaniem całych linijek do jednego bufora wydaje mi się dobry. Po wczytaniu całej linijki program może sprawdzić pierwszy znak i na jego podstawie przekazać zawartość bufora do odpowiedniej procedury obsługi. Po powrocie wczytywałby następną linijkę. Jeśli w czasie obsługi jednego komunikatu przyjdzie następny, to chyba nic się nie stanie...
No i własnie w takich starociach lubie sie grzebać - gdzie juz reszta odpuściła sobie dawno :P CO do MC1488/1489 - te dwa układy stanowią własnie konwertery poziomów tudziez bufory magistrali RS232. Aby je wykorzystać będzie potrzebny jeszcze jakikolwiek UART (np 8251 czy Z80 SIO czy tez jakikolwiek inny) oraz niestety potwornica - ktora dostarczy niezbędnych...
jaka będzie różnica Pierwszy odczyta tyle bajtów, ile czeka w buforze do odczuty, druga 8 bajtów: choć nie wiesz, ile jest w buforze - 3, 8 czy 17. Do tego, może głupio to zabrzmi, ale czym jest tu (w RS232) buffor Bufor, nie buffor... Bufor służy do tego, żeby pomieścić nadchodzące z portu kolejne znaki. Gdyby go nie było, musiałbyś obsługiwać je...
Radzę skorzystać z buforowania W jaki sposob mam wrzucić dane do bufora i później je odczytywać?
[syntax=vbnet] Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim ReceivedText As String ReceivedText = SerialPort1.ReadLine MsgBox(ReceivedText) End Sub [/syntax] Jeśli dane są wysyłane co 5 sekund, to możesz ustawić Timer na 4 sekundy i zobaczysz co wyświetli się w okienku MsgBox . Jeśli twoja...
Witam! Czy w centrali można programowo zablokować wyjście danych z RS?W adresie 800 połączenia wychodzące są odblokowane a parametry RS ustawiłęm ; 9600,CR+LF,8bits,Even.Mam problem z buforem Zetkom!
W buforze wszystkie dane z RSa są z enterem i końcem linii. może nie być początku informacji ale zakończenie zawsze jest Tę kwestię możesz pominąć jest marginalna i nie powinna mieć kluczowego znaczenia dla poprawności odczytu danych jeśli 13 nie wystąpi to po 4096 zerowanie: Dim znak As Integer Dim ciąg As String Dim licznik As Integer licznik = 0...
Parametry transmisji są ustawione na wartościach domyślnych(9600 / 8 / - / 1). Na innych nie da się nawiązać połączenia (w programie nie ma możliwości ustawienia parametrów). Próbowałem zmienić wartości buforów we/wy ale bez skutku.
Bez NAJMNIEJSZEGO problemu można zrobić to o czym piszesz panie autor i to z prędkościami RS232 rzędu 115200 a nie tak ślimaczymi jak 1200. A do tego jeszcze wiele innych zadań może ten sam procek wykonywać - mniej więcej tak jak to opisał kolega wyżej. Ja podobne układy robię i programuję w języku C i nie mam z tym żadnych tego typu problemów, które...
Czy mam to rozumieć tak, że są to bity znaczące jedynie dla RS232 i nie są widoczne w jego buforze?
no to ,musisz buforów trójstanowych użyć jak juz pisałem w poście wyżej.
RS232 to własnie tylko warstwa fizyczna. To, co i w jaki sposób będziesz przesyłać, zależy tylko od Ciebie i można to zrobić rożnymi warstwami fizycznymi. Spokojnie możesz testować bez żadnych konwerterów które dołożysz później. I2C na tych odległościach, bez buforów nie pójdzie. Z dobrymi przewodami i niską częstotliwością zegara do 2m jako tako ruszy...
Szczegóły, które podałeś zazwyczaj nie interesują przeciętnego klienta. Mam Prolifica - działa z niektórymi urządzeniami, zawsze dużo wolniej niż prawdziwy RS232. Np: wgranie programu do sterownika przez Prolifica to czas kilkukrotnie dłuższy. Być może ma na to wpływ rozmiar buforu, o którym piszesz. Mam też FTDI - działał wszędzie gdzie go testowałem...
kiedyś firma CONTEC ( albo KONTEL ) oferowała na targach moduł konwertujący RS232 na przesył po jednej parze - służyło to do połączenia bufora taryfikującego do kompa. Wyciągało to nawet do 100 m chyba, tyle że przy 9600.
ale kombinujesz!!! co ci szkodzi podlaczyc CTS i RTS przeciez scalaczek RS232 ma dwie line wejsciowe i 2 wyjsciowe. Jak sie juz uparles no to mozna zrobic tak: robisz bufor na np. 16 bajtow. Ramka przychodzacych danych z kompa 16 bajtow.I teraz jesli chcesz aby kolejna ramka danych nadeszla musisz wyslac do kompa potwierdzenie gotowsci.Oczywiscie na...
rs232 bufor rs232 bufor odczyt bascom bufor rs232
odłączenie przewodu świecy silnik kopcić zasilacz domofonu elfon
system nawadniania system nawadniania
SR360 – dioda Schottky 3A 60V: maksymalny prąd, parametry, zastosowania Zablokowane pasy bezpieczeństwa po zderzeniu z sarną – działanie SRS, napinacze, diagnostyka