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...
To nie są problemy Bascoma, w bascomie można wiele rzeczy szybko zrobić, tylko jak ktoś go nie zna to najłatwiej i naszybciej jest na niego psioczyć i wylewać swe żale. ale ok, skoro ty (o ile dobrze zrozumiałem) w jakimś tam przerwaniu wysyłasz coś poleceniem PRINT przez łącze RS232 a następnie w tym samym przerwaniu czekasz na odbiór przez RS232 (waitkey)...
Trzeba by poczytać troszku o RS485. Jeśli chodzi o sprzęt, to w zasadzie masz dwie główne możliwości. Pierwsza to półdupleks, czyli transmisja naprzemienna po tej samej parze przewodów, druga dupleks w układzie czteroprzewodowym (para przewodów od mastera, para do mastera). Dodatkowo korzystnie z punktu widzenia linii może być pociągnięcie między układami...
Witam. Podłączyłem mikrokontroler ATMEGA16 pod złącze RS232 w manipulatorze INT-KLCD od centrali alarmowej SATEL INTEGRA. Na złączu tym cały czas wysyłane są dane o aktualnym stanie systemu i zdarzeniach. Podglądając równolegle na wirtualnym porcie COM-ETHERNET co na tym złączu jest wysyłane otrzymuje takie dane jak na poniższym screenie: http://obrazki.elektroda.pl/1772576300_1...
Albo nowszą wersję bascoma
Witam Jak wyłowić teraz dane XX z paczki B2 ??? Bascom: Array, Index e marcus
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...
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(...
Nie wiem co Panowie wyczyniacie u siebie w tym basicu, używam C i odbiór w przerwaniach, dane są czyste bez żadnych śmieci czy krzaków.
na komputerze ci dziala ten interfejs ibus pod rs232 ale nie zadziala pod atmega chyba ze wstawisz max232 miedzy ten interfejs a atmege w rs232 masz jeszcze inne napiecia cos od -12v do +12volt najprosciej dac wlasnie taki prosty uklad na jednym tranzystorze jaki pokazalem lub zrobic dzielnik na opornikach i 'programowo' odwrucic sygnal ps. Pisze z...
A może jakiś alternatywny wsad do komunikacji przez pc rs232 z 3 x PWM obojętnie co aby można było wysłać informację do uC o stanie każdego PWM osobno, sterowaniem zajmie sie skrypt wiec jest to obojętne jaka forma kodu będzie.
http://avrhelp.mcselec.com/index.html?co... Dokumentacja prawdę Ci powie:> (Akurat do kompilatora;-) ).
J.w jakiej użyć procedury przy X 110592?
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
RS485 to magistrala, gdzie nadawanie i odbiór odbywa się ta samą linią (halfduplex), cała reszta ze strony oprogramowania wygląda identycznie jak w RS232 na poziomie nadawania i odbioru. Na wyższym poziomie wybiera się rodzaj protokołu, zawierający sposób porozumiewania się urzadzeń, sposób obsługi kolizji, adresowanie, itd. Możesz napisać własny protokól,...
Mam takie małe pytanko. Otóż bawie sie juz kilkadni i nie moge sobie poradzic z realizacja komunikacji procesora z portem szeregowym. Czy ktoś wie jak to zrobic aby procesor prawidłowo interpretował dane z poru i wysyłał je. Chodzi o język bascom.
Witam Chcę napiszać taki programik: Const BajtStart = 10 Const BajtKoniec = 13 Dim A1 as Byte Dim A2 as Byte Dim A3 as Byte Dim Buffor(16) as Byte Do ... Inne instrukcje co się wykonują Zajmują np. 3min Po czym chcę jak się zakończą to połączyć się z PC i pozmienniać zmienne programu i tak w pętli ... Call Czytaj_RS232 Loop Sub Czytaj_RS232...
Wiem że być może to nie to forum , ale postanowiłem zapytać mądrych ludzi bo już mam dosyć bezsennych nocy no i żona zaczyna dziwnie patrzyć 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ą...
Witam, Przejzalem juz kawal forum ale nie znalazlem odpowiedzi na moj problem. Jak w symulatorze BASCOM'a odebrac dane z fizycznego portu RS kompa?? Wysyłanie dziala ale odbieranie za nic nie chce. Polaczylem dwa kompy po RSach (transmisja ok - przez hiperterminale dziala). Na jednym mam bascoma a na drugim hiperterminal. Programik najprostrzy wysylajacy...
witam mam głupie pytanie, czy w Bascom'owy symulator odbiera dane z RSa w PC? połączyłem 2 kompy RSami i wszystko śmiga, terminal Bascom'owy tez się komunikuje z drugim komputerem więc konfiguracja OK... ale jak zrobić i czy w ogóle się da , zrobić tak żeby dane z komputera 1 wysłane do komputera 2 były odebrane w symulatorze działającym na komputerze...
Witam, Mam takie pytanie. Mam układ sterujący który zbiera dane i wysyła je do PC. Chciałbym sterować uC także z PC podając mu pewne wartości zadane typu temp, wilgotność. Jakiej procedury lub funkcji użyć żeby uC poprawnie ją zinterpretował. NP. wysyłam takie coś "RHzad=20" przez rsa i chciałbym żeby uC wpisał do zmiennej np. I (tylko) te 20. Pozdrawiam.
Witam mam pytanie odnosnie programowania transmisji szeregowej w bascomie: 1. prędkość ustawia się za pomocą $baud $crystal 2. jak sprawdzić czy do SBUF coś dotarło czy zostało nadane?? 3. $serialinput -> określa nazwe zmiennej do której trafia zawartość Sbuf?? z poziomu assemblera obsługa uart'u nie stanowi większego kłopotu, ale bascom ciągle jest...
Witam, Potrzebuję porady - chodzi mi o jakieś rozwiązanie układowe, moduł za pomocą którego zrobię coś w stylu bezprzewodowego rs232 - programuje w Bascom. Każda porada będzie cenna. Pozdrawiam
Problem mam bo nigdy nie pisałem programów z komunikacją RS232. Mam urządzenie które wysyła dane w postaci 7e fe 00 00 XX 00 00 00 00 00 7e . Wartość XX mnie interesuje. Jest w zakresie od 0 do 255 czyli 00-FF. Reszta danych o wartości "00" czasami się zmienia. Są to inne dla mnie nie istotne dane. Chce wyświetlić moja zmienną na LCD i z tym sobie poradzę...
Zgadzam się, jak wszystko jest podłączone ok to nie ma szans aby układ nie transmitował. Faktycznie ja też stosuję 11059200 i zawsze działa. SPRAWDŹ KABLE! 1. Po pierwsze kabel komp<->RS232 czy masz kabel z zamienionymi końcówkami Rx Tx tzn. przy kompie 2 przy Max232 3 i na odwrót! 2. Sprawdź schemat połączeń max 232 z noty aplikacyjnej - proawidłowe...
Chciałbym sie poradzić jak napisać w Bascomie, oprogramowanie do urzadzenia, które musi coś tam wyświetlać, musi obsługiwać klawiaturę, wysyłać coś tam po I2C oraz na bieżąco musi odbierać ramki z UARTA0. Chodzi o to że z komputera wysyłam 64bajty przez RS232 Atmega to odbiera i dokonuje odpowiednich nastaw w urządzeniu. Jednocześnie musi działać klawiatura...
Zgłupiałem już, skoro działa transmisja to i odbiór też musi :( Dodano po 33 Może coś jest w układzie co blokuje transmisję do uC ?? albo czegoś brakuje ?? http://obrazki.elektroda.pl/4022851500_1... to jest ten RS232 który też wykorzystałem do testów, zdjęcie z aukcji Dodaje jeszcze schemat układu w którym testuję Attiny : http://obrazki.elektroda.pl/1431126600_1...
Co do kodu, to wstawię coś wieczorem, jak wrócę z pracy. Jeśli chodzi o obsługę RFM12 to mam z tego wątku [url=http://www.elektroda.pl/rtvforum/to... z przed ostatniej strony ( jest tam też zresztą kilka moich postów ), natomiast nie ma tam ważnej linijki kodu, który odblokowywał kontroler w czasie pomiędzy odbiorem danych, a który...
ok panowie - poradziłem sobie nieoczekiwanie w nieoczekiwany , sprawny, szybki i łatwy sposób, przynajmniej jeśli chodzi o odczyt z układu mojego SLAVE i to bez żadnego softI2C itp... ... jak ? jesli to kogoś zainteresuje .... Bascom to jednak fajne "zwierzątko" otóż w kilku linijkach po obu stronach zorganizowałem softwarowy RS232 na dowolnie wybranym...
Przykład bardzo pomógł teraz bardziej już rozumiem tą całą transmisję jednak nadal nie udaje mi się odebrać temperatur. Nie wiem czemu bo widzę że ta funkcja działa wyświetla mi liczby i to zmienno przecinkowe jednak nie mogę znaleźć logiki w uch wartościach Case "3": Printbin Temp1 Printbin Temp2 Case "4": Printbin Temp1...
wprowadz opoznienie przed skokiem do podprogramu odczytaj_sprzetowy_uart, powiedzmy jakies 100ms, daj czas mikrokontrolerowi na odebranie wszystkich znakow zanim odczytasz uart
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...
klops_mops ---> masz dwa wyjścia żeby ci nie mrugały te wyświetlacze w czasie PRINT'a ;) - innymi słowy mówiąc aby procedura wysyłania RS232 nie zakłócała procedury multipleksowania 1. prostszy sposób - zwiększ tą kocią prędkość RS232 na jakąś ludzką - chociaż 9600bps to już praktycznie nie powinno ci mrugać a jak dasz każdą większą to już będzie coraz...
czy nie potrzebna jest tutaj instrukcja INKEY() ? swojego czasu zrobiłem taki układ , że dwa procki atmega8535 przesyłały między sobą zmienną. program zajął dosłownie 3,4 linijki w odbiorczym użyłem instrukcji inkey() tzn , jeżeli było coś w buforze(różne od 0 ) to wyświetlało daną. oczywiście czasy w realizacji pętli były takie same oraz kwarce również...
ASC() help od takich rzeczy jest
Używasz terminala czy realterma?
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
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...
Ja ci radzę jednak wysyłać hexem stałej długości. Np coś takiego: #F,FFFF(enter) Następnie w obsłudze rs'a sprawdzasz jaki przyszedł znak i jeżeli jest # to reset licznika wejścia i zapisujesz dane do bufora. Jak przyjdzie koniec (czyli enter lub podobne) sprawdzasz sobie adres(odpowiedni znak) i przepisujesz sobie zmienne do innego bufora. Dodatkowo...
W kwestii bascom-u Ci nie pomogę ale może wykorzystasz wstawki asemblerowe ; .org 0 rjmp RESET ; Reset rjmp EXT_INT0 ; zewnetrzne Int0 rjmp EXT_INT1 ; zewnetrzne Int1 rjmp TIM1_CAPT ; zewnetrzny wychwyt wartosci licznika 1 rjmp TIM1_COMPA ; komparator A licznika 1 rjmp TIM1_OVF ; przepelnienie licznika 1 rjmp TIM0_OVF ; przepelnienie licznika 0 rjmp...
Tutaj: If Licz_znaki = Max_znakow Then Licz_znaki = 0 End If brakuje ci czyszczenia bufora. Z doświadczenia doradzę ci abyś wykonywał czyszczenie bufora co jakiś czas. Do tego celu możesz uruchomić timer który będzie generował przerwanie w którym będziesz czyścił bufor.
1) Kwarc mają posiadać odbiornik i nadajnik, najlepiej o tej samej częstotliwości 2) Przestań kombinować z baud 9600 i zejdź do 1200 3) Dopisz $crystal na początku programu z odpowiednią liczbą zależnie od kwarcu i zrób to w nadajniku i odbiorniku 4) Przestań kombinować z przepisywaniem zmiennych tylko wprost wyświetl C tak jak napisałem Najprostszy...
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...
Zastosuj bufor: Config Serialin = Buffered , Size = 100 enable interrupts A oczekiwanie na znak zrób: Bufor_flaga = Ischarwaiting() : If Bufor_flaga = 1 Then Gosub Odbierz_uart Następnie procedura odbioru danych: Odbierz_uart: Bufor = "" Do Bufor_znak = Inkey() Bufor = Bufor + Chr(bufor_znak) Bufor_flaga = Ischarwaiting()...
Witam serdecznie, Czy już coś wiadomo na temat wysyłania i odbioru danych. Pozdrawiam
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.
jeżeli już uzyjesz procka a dwoma uart'ami to budujesz procedure która odbiera od twojego urządzenia string'i jeżeli wykryjesz odbior pierwszego string'u (czyli nagłówka) np if odebrany="wzór nagłówka jeden" then ustaw flagę że nastepny string to będą pierwsze dane wtedy : if flaga1=1 then pierwsze_dane=odebrana:reset flaga1 z drugim nagłówkiem i drugimi...
Witam Czego nie możesz znaleźć ? Maxy podpinasz do portu szeregowego procka i dodatkowo linie nadawanie lub odbiór (jeżeli masz wolną w procesorze). Poszukaj też w "klocki rs485" tylko nie pamiętam EP czy EdW, tam podpatrzysz jak to rozwiązane. Pozdrawiam
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 :/
Pozostaje tylko sprawdzić rozwiązania o których pisałem wcześniej. Wysyłając nawet po 10 zyskasz bardzo wiele na szybkości. Nie napisałeś czy używasz przerwania do odbioru danych. Tak myśle że jak obniżysz trochę prędkość, a zaczniesz przesyłać po kilkadziesiąt bajtów naraz to i tak będzie szybciej niż teraz. Chodzi o to że teraz masz tylko 25% danych...
Witam tak jak doradził jeden z kolegów dałem przerwanie i cały program chodzi bez zmiany funkcji do odbioru z UART.Temat zamykam.
Wiem, założyłem że Kolega buduje też urządzenie po drógiej stronie a skoro soft w VB to na uP bascom;-). Skoro to pole tekstowe reaguje na CR i robi nowa linię to może trzeba przepuścić jeszcze 10(dec) czyli LF? W terminalu gdy wyślemy ciąg np Kot (CR) PIES (CR) to dostaniemy tylko PIES bo karetka wróci na początek ale nie do nowej lini tylko nadpisze...
Patentów jest wiele, ale chyba najleprzy to zastosowanie RS485, który z założenia jest zrobiony dla sieci do 32 urządzeń. RS485 opisuje elektryczną stronę komunikacji, a nie protokół, który jest z regóły identyczny z RS232, jedyne czym się całość różni z punktu widzenia procesora, to transmisja ma sterowany kierunek, czyli jest half-dupleksowa, procesor...
Do RS232 wystarczą 3 przewody, a jeśli nie będziesz potwierdzał poprawności odbioru to tylko dwa. Zobacz w pomocy rozkazy PRINT# i INPUT#.
Końcówki TXD (nadawanie) i RXD (odbieranie) służą do wymiany danych przez UART. W help'ie do Bascoma jest to opisane. Dane wysyła się instrukcją Print. Do odbioru jest kilka instrukcji. Poszukaj na forum pod hasłem UART, RS232.
Bascom 51 przy instrukcjach input,inputbin itd. nie korzysta z przerwań lecz cyklicznie odczytuje rejestr SBUF .Dlatego bardzo rzadko to działa.Jeśli chcesz mieć pewny odbiór to korzystaj z przerwań. A-r.
Hey. Mam taki mały problem myślowy. Chciałbym stworzyć odbiornik danych po RS232(co już się stało) tylko z możliwością kolejkowania następnych przychodzących danych, tzn: Po wyświetleniu pierwszych danych na LCD układ czeka na następne, ale bez wyzwolenia przyciskiem nie wyświetla nowych tylko umieszcza je w ??tablicy?? albo innym miejscu do tego przeznaczonym....
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ść...
Sprawdzałeś jak się ta transmisja zachowuje kiedy Twoje inkey() w ogóle nie jest używane ? Nie wiem co sobie wkompilowuje Bascom w procesor ale może używa jakiegoś przerwania które z kolei w ten czy inny sposób oddziaływuje na transmisje RS232. Dajmy na to jeśłi RS232 używa przerwań do odbioru lub wysyłania a jakaś inna procedura czy funkcja po wyjściu...
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.
odbiór rs232 bascom bascom odbiór rs232 odbiór rs232
p0087 peugeot zaklocenia alternatora montaż zlewozmywaka
attiny13 usbasp który attiny13 usbasp który
Kolory węży hydraulicznych w koparkach JCB - identyfikacja i znaczenie Odpowietrzniki układu chłodzenia Peugeot 307 1.6 2007