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...
Zamiast wysyłać przez RS232 binarnie - co często przy przesyłaniu większych porcji danych przez początkujących będzie się kończyło samymi problemami - to nie łatwiej ci zamieniać przesyłane liczby na stringi a po odebraniu ze stringów na liczby. Dzięki temu twoja ramka będzie mogła być po ludzku zakończona znakiem ENTER a co za tym idzie wszystko co...
Zamień echo -n "dfgdfgdgfdfg" >/dev/ttyS0 na echo "dfgdfgdgfdfg" >/dev/ttyS0 Przełącznik "n" powoduje niewysyłanie znaku końca linii.
http://obrazki.elektroda.pl/9418966600_1... Witam wszystkich na forum. Jest to moje pierwsze publikowane DIY. Słowo wstępu… Projekt powstał z jednego, bardzo ważnego powodu: bo bardzo chciałem coś takiego mieć! Jest to układ odczytujący kod karty poprzez interface EM4095 z anteną, dekoduje, sprawdza i wysyła poprzez port szeregowy....
Może to Ci pomoże
Dobra dzieki zaraz wszytsko posprawdzam jeszcze raz dokladnie.
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(...
Z jakiego terminala mogę wysyłać dane? Przydało by mi się to bardzo poniwaz jeżeli chodzi o bascomowy to potrafię tylko odbierać. Wysyłam tylko temperaturę w postaci np 233 instrukcją print która wysyła to w postaci tkstowej. Układy mam w firmie i dopiero wówczas będę mógł załadować wsad.
Może chociaż podpowiedź czy szukać w ustawieniach labela, czy w konfiguracji połączenia RS232, a może wina jest po stronie nadawania i programy w uP? Czy jest w VB instrukcja podobna do waitkey z bascom. Można by wysyłać dane po kawałku i umieszczać je w oddzielnych labelach, a może jakieś inne rozwiązanie?
Procesor ATmega ma wbudowany jeden UART sprzętowy, natomiast możesz zdefiniować inne programowo. W zalozności w jakim języku programujesz będzie to odpowiednio łatwe, albo trudne zadanie. Np w BASCOM wystarczy napisać jedną linię aby zdefiniować programowy UART proponuję sprawdzić fukcję CONFG COM1, COM2
Potrzebuje rady a mianowicie chcę napisać protokół transmisji. W jaki sposób zrobić to pomiędzy BASCOM'em a DELPHI, wiem jak odebrać bajt i wysłać w oby językach lecz gdy piszę program i mam wysyłać do ATmeg128 xxx kB to to trwa to wieki lub głubie bajty. mam ustawione baud = 115200 (nie chce buforowania danych bo chce wysylac i odbierac 1 bajt z potwierdzeniem)...
Po chwili sam znalazłem rozwiązanie swojego problemu, jeżeli kogoś by to jeszcze interesowało. Instrukcje Serin i Serout to jest jakaś pomyłka w ogóle. Zamiast nich najlepiej jest użyć instrukcji Open "comx.y:Baud,data,parity,stop,[inverted]... For Input|Output As #Handle i wysyłać oraz odbierać dane za pomocą instrukcji Input #Handle oraz Print #Handle...
Witam Mam w fusach ustawione 100010 Int. RC Osc. i Divide cloc by 16 enabled (tu chyba Bascom pokazuje błąd bo powinno być dzielone przez 8) . W programie $Crystal=1000000 Próbuję wysłać po rs-ie jakieś informacje i niezależnie jaki ustawię baudrate cały czas dostaję w terminalu krzaki . Na TOSC1...2 mam podpięty kwarc zegarkowy do odmierzania czasu....
Mam mały problem: Napisałem program w Bascomie, który odbiera rozkazy przez RS-232 i odpowiada na nie. W HyperTerminalu wszystko jest OK. W VisualStudio 2005 (Visual Basic) napisalem miniprog który ma po kliknięciu na przycisk wysyłać dane do rs232 (Serialport.WriteLine) a po chwili odbierać odpowiedź przez (Serialport.ReadLine). I niestety po kliknięciu...
2. Po wyglądzie danych w Ale ja wysyłam przy pomocy ptintbin jakbym wysyłał przy pomocy print dane w terminalu za każdym razem pojawiały by mi się w nowym wierszu gdyż bascom po komendzie print automatycznie dodaje znaczniki końca. 4. Podpunkt w pełni rozumiem i właśnie tak robię. Mam problem ze zrozumieniem pozostałych podpunktów. Co do funkcji nie...
W łatwy sposób tego nie zrobisz. Ciekawe jak chciałeś zapisać na 4 bitach liczbę np. 230. Fakt, możesz to podzielić na dwie części LSB i MSB, po 4 bity i tak najpierw ustawisz LSB = 0110 a potem MSB=1110, ale pozostaje problem interpretacji po drugiej stronie. Drugie urządzenie musi wiedzieć że będą wysyłane dane w takiej postaci. I po drugiej stronie...
Możesz użyć RS485, odległość wtedy nie gra roli :) a w dodatku jest bardzo prosty do obsługi, bo wysyłasz dane jak po zwykłym RS232 i wystarczą dwa kabelki. Jedyną wadą jest to że nie można na raz wysyłać i odbierać, ale wydaje mi się że w Twojej aplikacji czujnik mógłby po prostu wysyłać co sekundę odczyt, wtedy nie trzeba przełączać kierunku transmisji...
J.w jakiej użyć procedury przy X 110592?
Nie rozumiem Twojej matematyki. Mnie uczono, że: &H17 = 23 (dec) &H28 = 40 (dec) &H56 = 86 (dec) czyli jeśli otrzymujesz wartości &H17 &H28 &H56 to oznaczałoby to godzinę 23:40:86. Nie pomyliłem się podając wartość &H17 jako godzinę 17 itd. Właśnie w taki sposób czas jest "kodowany". Co do sterownika to jest nim centrala alarmowa...
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.
Ja potrzebuję to do AVR podłaczyć, żeby dane wysyłać przez BTM222 bezprzewodowo. Tak wiem, jest specjalna stopka BT, ale jest ona paskudna i chce sobie sam przerobić ten czytnik na bezprzewodowo. EDIT: może i faktycznie http://www.gento.pl/category.php?id_cate... Chociaż w BASCOM była obsługa PS2.... EDIT2: Po za tym na płytce jest coś takiego...
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...
źle rozumujesz, chodzi o to żeby zrobić moduł np. do powiadamiania GSM o wystąpieniu alarmu w domu bez użycia PCta a mikrokontroler ma być pewnym wysłania SMSa otrzymując potwierdzenie OK z modułu GSM a nie wysyłać w powietrze sądząc, że pewnie poszło, aktualnie odpowiada OK załączając przed tym krzaki - i przed OK i po, podłączyłem równolegle terminal...
Witam mam taki problem potrzebuję wysyłać przez port com danie w taki sposób, aby były one traktowane jako znaki ASCII bo tylko takie mogę poprawnie odebrać mikroprocesorem. Z tego co zauważyłem jedynym działającym w przerwaniu od UARTa poleceniem odbioru, w bascom AVR jest inkey a to odbiera tylko znaki ASCII :/ No i tu pojawia się problem bo o ile...
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...
Witam Bardzo proszę o pomoc, jak napisać krótki programik w Bascom. Aby dostać się do konfiguracji USR-WIFI232-T należy wysłać po RS232 "+" 20ms "+" 20ms "+" 1000ms "a" w DELPHI tak to wysyłam i to działa. Proszę zedytować post i użyć przycisku SYNTAX. Przykładowo zrobiłem to dla Delphi.
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, po przesiadce z bascom do winavr piszę przykładowe programy w celu poznania C dla AVR, tym razem chciałbym wysyłać po rs232 odczyt z przetwornika analogowego. Używam a328p i po krótkim zapoznaniu się z dokumentacją układu ustawiłem transmisję i adc [syntax=c] #include <avr/io.h> #include <util/delay.h> int main( void ) { UCSR0B =...
Witam serdecznie ponieważ jestem zupełnym laikiem ze swoim problemem najpierw zgłosiłem się do kolegi ale nie wychodzi nam coś więc może ktoś zna jakiś sposób na jego rozwiązanie . muszę wysłać na rs232 rozkaz atmegi w hex-ie parametry transmisji 2400 bodów 8 bit 1 even przykładowy hex TX f4 03 51 0a ac w odpowiedzi otrzymam RX 4f 04 d1 0a 33 a3 czy...
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]...
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. Mam problem z kodem w bascomie. W skrócie opiszę co ma robić. W pętli głównej bada jaka liczba przychodzi przez RS232 (A = Inkey() ). Jeżeli jest to 87 to wtedy ma wyskoczyć do procedury/podprogramu o nazwie "Lowandslow". Tam na chwilę ustawia piny od B.4 do B.7 na "1" i załączane zostają przekaźniki spuszczania powietrza z czterech poduszek....
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ę...
Co właściwie wysyła instrukcja PRINT w składni Print A jeśli A - zmienna zadeklarowana jako Word i aktualna jej wartość wynosi 1002? Kiedy mam spięte dwa komputery kablem NULL-MODEM, i na obu uruchomione terminale z pakietu Bascom AVR, widzę po prostu przesłaną zmienną, np. liczbę 1002, ale potrzebuję wiedzieć co tak na prawdę przesyła się po łączu...
Usiłuję wykonać urządzenie, które za pośrednictwem RS485 komunikowałoby się z dwoma-trzema innymi. Wystarczy mi prymitywna, prosta komunikacja, chodzi o sporadyczne wysyłanie prostych komend zmieniających stan czegośtam. Pierwsze podejście do RS485 oparłem o popularny tutaj projekt z EdW "Obsługa RS485 w Bascomie" (http://ep.com.pl/files/4539.pdf i...
RC6 wysyła dużo więcej danych niż standardowe RC5, dodatkowe nagłówki, itp. Rozpisywać się nie będę: http://www.sbprojects.com/knowledge/ir/r... Tak, zdążyłem się zorientować :) używam google. [url=http://slydiman.narod.ru/scr/kb/rc6... tu jest wersja oparta na stronie którą podałeś ale z rozszerzonym info o "trybach". [url=http://home.hccnet.nl/m.majoor/file...
Problem polega na tym, że gdy mam ustawione 9600, data bits 8, stop bits 1, parity none jest wszystko w porządku.Ale jeśli ustawie np 4800 lub coś innego np data bits 7 już nie działa i nie wiem co jest grane. Jak używałem komendy input() wszystko pięknie działało a z inkey() nie chce. $regfile = "m162def.dat" 'Kwarc 14,7456MHz $crystal =...
Witam serdecznie bardzo proszę o pomoc bo nie mogę sobie poradzić z pewnym problemem. Mianowicie komunikuje się procesorem amega32 z pewnym urządzeniem poprzez rs232 wysyłam do urządzenia zapytanie w postaci hex AA 000A20010110ffffffffffff3A BB gdzie AA początek paczki BB koniec a 3A to suma kontrolna poprzez xor wszystkich bajtów oprócz AA i BB. Wiec...
Cze. Potrzebuję zrealizować transmisję RS232 o następujących parametrach: 31250 b/s, 1 bit startu, 8 bitów danych, 1 bit stopu , bez parzystości, bez sum kontrolnych, bez potwierdzenia odbioru. Co do prędkości to nie ma problemu wstawiam $baud = prędkość i gotowe ale co z resztą jak wyłączyć sumy kontrolne czy do tego też są jakieś polecenia ma to współpracować...
Zmagań ciąg dalszy.... Powróciłem do tematu gdyż nadal usiłuję sterować sobie PWM przez RS232 i teraz problem leży chyba po stronie linuxa, a więc... Pod terminalem jak podłączę uC wszystko ładnie działa mogę wysyłać i odbierać dane zmienia się wypełnienie PWM więc jest ok, doszedłem co powodowało zawieszanie się układu a raczej programu o czym pisałem...
Fusebits KL zostawiasz bez zmian, A987 ustawiasz na 1111 (z rozwijanej listy wybierasz taką opcję). Dodatkowo ustawiasz bit H: CKOPT na 0 (0 oznacza "włączony") i wyłączasz JTAG w bicie J (JTAG Disable) Co do Lockbits - nie zmieniaj, zostaw tak jak są. Wartości które tam masz wpisane umożliwiają odczyt pamięci programu i jej weryfikację Pamiętaj, że...
ale kabelki od komórek mają inne poziomy napęć 0V-3V w środku powinny byś jakieś didoy zenera albo coś. najlepiej zrób sobie swój kabelek do atmeli. Właśnie tego chciałem dociec :D Mój znajomy , podłączał taki kabeleko do proca przez MAX232 i dziwił się , że toto nie działa :) Piotrek
Witam serdecznie! Mam problem z wysyłaniem po RS danych. Korzystam z funkcji Print , używałem jej z i bez średnika, używałem też konwertowania na hexy cuda, wianki..... :) Program odbierający stringi (c#) czyta mi z tego portu jakieś badziewie (prawidłowy format to 20.58) a dostaję: 20.58 .58 0.58 8 20 20.58 celowo dałem tam spację bo jest, w bascomie...
Jeśli jest możliwość wykorzystania pinów uC dodałbym kontrole przepływu przez port sterując sygnały RTS/CTS portu COM co znacznie poprawi wysyłanie i odbieranie z portu bez potrzeby stosowania znaku na koncu wysyłanej ramki ;)
Witam, Mam taki problem. Chcę wysyłać do PC informację w formie takiego temp1;temp2;f1;temp3 i coś jeszcze. Jak wysyłam informację to chcę żeby ona była raz wyświetlana powiedzmy co ok 1-2s a nie tak jak na screenach pod kodem. (to jest losowe). Co może być nie tak. Timera2 używam jako odmierzacz czasu a timer0 do pomiaru częstotliwości (na 555) $regfile...
Witam. Mam mege64 i chcę sobie wysłać za jej pomocą pewne paczki danych do kompa. Jednak coś mi to za bardzo nie chciało chodzić . Więc wrzuciłem do procka taki program : $crystal = 8000000 Config Porta = &B11111111 : Porta = &B00000000 Config Portb = &B11100000 : Portb = &B00011111 Config Portc = &B11111100 : Portc = &B00000000 Config Portd...
Łącze szeregowe idealnie nadaje się do odpytywania drugiego procesora. Na I2C to trochę daleko. Na procesorach musisz: - oprogramować wysyłanie "pytania"/"odpowiedzi", czyli musisz nauczyć się wysyłać dane przez łącze szeregowe - napisać obsługę przerwania łącza szeregowego - czyli co ma się dziać kiedy na port przyjdą jakieś dane - musisz nauczyć się...
mam podobny problem z RS232. W skrypcie mam prędkość 9600 , kwarc 8MHz. A na HT jak ustawie prędkośc 1200 to dopiero odbieram dane prawidłow. Na terminalu w Bascom jest wszystko OK. Procek mój to Atmega 8535.
Witam, zrobiłem prościutką testową komunikację po RS232 Atmega8 oraz PC-ta i wszystko śmiga jak zwkle ładnie że aż szok ale .... ... mały problem, bo zrobiłem sobie coś takiego: w głównej pętli mam: S = "" If Ischarwaiting() = 1 Then Gosub Obslugars232 następnie w procdeurze przychodzących znaków z PCta: Sub Obslugars232 Input S Noecho...
Wystarczy tak: Config Lcd = 20 * 2 Config Lcdpin = Pin , Db4 = PortX.x , Db5 = PortX.x , Db6 = PortX.x , Db7 = PortX.x , E = PortX.x , Rs = PortX.x Config 1wire = PortX.x Dodano po 1 UART, tylko procedurę wysyłania i odbierania
U góry w kodzie pod deklaracją mikrokontrolera dopisz na wszelki wypadek: http://obrazki.elektroda.pl/3749837100_1... Musisz doprowadzić do tego żeby wysyłane dane wyglądały tak samo jak z komputera. Kod nie wysyła także znaków Enter bo na końcu Print dodany jest średnik " ; " Może wystarczy go usunąć? Próbowałeś? Można napisać krótki...
By funkcja PRINT nie wysyłała samoczynnie znaków CR i LF , użyj średnika. Print "Ala"; Print "ma"; Print "kota" Piotrek
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ż...
Teraz wyświetla się dobrze. Błąd był w kodzie Bascom. Dziękuję i pozdrawiam!
Ok. Dzieki za wkazowke.
Znaki terminujące - czyli "\r\n", ewentualnie NULL, zazwyczaj kończą zmienne typu string. Nie sądzę, żeby były wysyłane po każdym znaku. Nie programowałem w C#, ale wydaje mi się, że kompilator dodaje Ci te znaki automatycznie. Spróbuj odbierane znaki zapisać do zmiennej innego typu, np "byte" lub "char". Jak wygląda Twoja procedura odbierająca znaki...
Mam problem z podłączeniem modułu bluetooth OVC3860 z Atmegą 32 przez port rs232, używam bascoma, nie do końca wiem jak wysłać polecenia do modułu, czy potrzebny będzie mi do tego jakis konwerter sygnałów. Proszę o podpowiedź, próbuję stworzyć zestaw głośnomówiący+oddtwarzacz bluetooth do samochodu, ale żeby wykorzystać w pełni potencjał układu OVC3860...
To może się okazać bardziej skomplikowane, niż się wydaje. Wszystko zależy od tego, jaki jest algorytm wyświetlania w tym częstościomierzu. W każdym razie, w najprostszym przypadku można próbować coś w tym rodzaju: 1. utworzyć tablicę na 7 cyfr wyświetlacza. 2. ustawić timer na generowanie przerwań z prędkością > 100 razy na sekundę. Lepiej nawet rzędu...
Jedźmy dalej incr pomiar powoduje zwiększenie zmiennej Pomiar o 1. To był przykładowy podprogram, który za każdym razem kiedy był wywołany instrukcją gosub zwiększał wartość zmiennej - nic prostszego na próbę nie da się wymyśleć. Myślałem bardziej, że za pomocą tego programu sprawdzisz czy to wszystko działa i jak będzie działało to napiszemy coś bardziej...
Tak kabel ma być 1:1, może uszkodzony max? spróbuj zrobić coś takiego: zwierasz rx z tx w kablu i w procku robisz program który wysyła powiedzmy 127 a potem odbiera i na lcd co dostał, jak nie wróci albo błąd w schemacie albo max w krainie rs485;)
Poleceniem Print jak i przy RS232.
Pracuję nad odczytem ramki z ALPINE M-BUS i wysyłaniu do Terminala po RS232 Temat był kiedyś poruszany.Ogólnie M-BUS pracuje na zasadzie PWM ,tzn, 0 i 1 są transmitowane z różną szerokościa impulsów . Joerg Hohensohn zrobił już coś takiego w języku C. www.jevinskie.com/mbus/ Chce zrobic tosamo w bascomie. Docelowo ma być pózniej emu zmieniarki na module...
Dlaczego do bufora 32 znakowego wpisujesz 64 znaki? Lekko zmodyfikowałem funkcję ReadUart, aby wypisywała zmienną buf: Jakbyś jeszcze kończył string w miejscu, gdzie skończyły się dane, to nie wypisywałyby się śmeci. Coś w tym stylu: [syntax=cpp] ret = ReadFile(hPort, buf, len,&retlen, NULL); buf[retlen] = 0; cout << buf; [/syntax] Tak w...
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...
Nie. Wiem co to jest. Umiem zrobić komunikację między nimi i wysłać np. tekst na LCD drugie Atmegi. Nie wiem tylko w jaki sposób zrealizować wysyłanie kilku zmiennych przez rs232.
wysyłać przez rs232 rs232 odbierać wysyłać rs232 bascom
einhell częsty rozdzielić kabel domofon regeneracja mostu
agregat dwusuwowy sterownik ogrzewania podłogowego
Kod odblokowujący Audi Navigation Plus - jak uzyskać? Miernik Avidsen 107112 - brak reakcji wyświetlacza