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...
No dobrze, ale skąd te głupoty nawet w REALTERM że nie jestem w stanie zinterpretować danych?
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...
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.
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(...
http://avrhelp.mcselec.com/index.html?co... Dokumentacja prawdę Ci powie:> (Akurat do kompilatora;-) ).
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ść...
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...
J.w jakiej użyć procedury przy X 110592?
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 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
Witam Chciałbym zapytać bardziej doświadczone osoby jak rozwiązać następujący problem. Dotyczy on transmisji RS232. Zanim przedstawię o co chodzi chciałbym wyjaśnić co będzie brało udział w transmisji. Posiadam kasę POSNET BINGO PLUS: http://obrazki.elektroda.pl/3942351200_1... Posiadam również skaner kodów kreskowych PSC QS6000 PLUS: http://obrazki.elektroda.pl/8893720700_1...
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...
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ę...
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,...
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, 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
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 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 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...
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 Złożyłem sobie prosty układzik do komunikacji z autem, założenie było takie, możliwość wysyłania kodów odpowiedzialnych za podgłaszanie, ściszanie itp, oraz odbiór paczek danych i wyświetlanie na lcd podpiętym do atmegi. Druga część wyszła znakomicie, po trzeciej poprawce idealnie odbierał kody z auta, jednak nadawanie nijak mi nie wychodzi......
Witam! Chcialbym odczytac komendy wysylane przez serwer po porcie RS232. Jak to zrobic? Innymi slowy wpisuje w serwerze komende i wyzwalam ja. Komenda pojawia sie na Rsie jak rozumiem w jakims kodzie (binarnym?). Do tego kupie sterownik programowalny i przypisze tej komendzie odpowiednia reakcje sterownika. Chce wiedziec jak zczytac te komende z serwera,...
Witam przejrzałem naprawdę dużo tematów na temat komunikacji RS 232 w Bascom i nic mi nie pomogło. Problem polega na tym ze nie mogę skomunikować się z komputerem czy to z avt 3500 cokolwiek próbuje wysłać czy odebrać kończy się zawieszeniem aplikacji/terminalu com na pc oraz czasem restartem komputera przez zawieszoną aplikacje widać Led na Tx-Rx]...
Czy kolejne bajty danych odbieranych przez ten port muszą posiadać bit startu na początku i bit stopu na końcu, odpowiednio 0 start i 1 stop ??
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...
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...
wprowadz opoznienie przed skokiem do podprogramu odczytaj_sprzetowy_uart, powiedzmy jakies 100ms, daj czas mikrokontrolerowi na odebranie wszystkich znakow zanim odczytasz uart
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...
ASC() help od takich rzeczy jest
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ż...
Używasz terminala czy realterma?
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...
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...
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.
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...
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...
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
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...
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.
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 :/
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.
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...
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.
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.
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....
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...
odbiór rs232 odbiór bascom bascom rs232
centralka biały żółty pomarańczowy normstahl radio unitra kleopatra
philips az1030 schemat philips az1030 schemat
Olej do automatycznej skrzyni Volvo XC90 2.9B - JWS 3309 Jak sprawdzić ładowarkę do szczoteczki elektrycznej za pomocą miernika?