Po prostu nie możesz korzystać z instrukcji Input tylko z instrukcji np. Inkey i odbierać 128 bajtów o dowolnej zawartości (nawet bajtów zerowych) Po odebraniu 128 bajtów sprawdzić sumę kontrolną, tak jak pisał kolega mirekk36. Jeśli odebrałeś wysłasz ack spowrotem np. z sumą crc ramki Instrukcja Input się nie nadaje do tego celu. Tylko odbieranie za...
wprowadz opoznienie przed skokiem do podprogramu odczytaj_sprzetowy_uart, powiedzmy jakies 100ms, daj czas mikrokontrolerowi na odebranie wszystkich znakow zanim odczytasz uart
Skoro masz podlaczony procek do rs to mozesz zastosowac takie sprzetowe rozwiazanie (MCS Electronics - bootloader) : http://www.mcselec.com/images/stories/mc... To initiate a Bootloader programming session, a reset needs to be applied to the controller. You can do this manually, with a reset button or by powering down and...
Wszystko powinno wyjaśnić to: Jeśli w buforze nie ma żadnego znaku funkcja zwraca zero. Można najpierw sprawdzić czy w buforze transmisji znajduje się jakikolwiek znak. W tym celu należy skorzystać z funkcji ISCHARWAITING() . Nie sprawdzasz wogóle czy znak jest w buforze, zatem dostajesz głupoty.
Przy instrukcji Input "odebranie znaku <CR> (kod 13) kończy wprowadzanie danych dla bieżącej zmiennej." A co jeśli znak <CR> nie zostanie nadany? Wtedy program stoi i czeka!
Na przedstawionych schematach masz zamienione linie Rx i Tx.
No to zaczynamy po raz kolejny. Coś takiego jak stworzyłeś to niestety za szybko nie będzie działać. Mega z kwarcem rs 14 z groszami działa naprawdę szybko i można zrobić bardzo dużo w jedna sekundę. Do odbierania i wysyłania danych można sobie napisać własną procedurę - nawet w bascomie i jest ona sporo szybsza i działa rewelacyjnie. Deklarujemy przerwania...
Nic nie musisz (jeśli chodzi o Bascom - sam robić w przerwaniu) Bascom ofruje ci za free - pełną sprzętową obsługę RS232. Zapoznaj się tylko z poleceniem Config Serialin oraz z parametrem Bytematch tego polecenia - a wszystko stanie się jasne. Nic nie będziesz musiał sam oprogramowywać w przerwaniu bo to jest bez sensu. po prostu będziesz wysyłał paczki...
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 ........
najprostszy test zrób - czyli odłącz procka - i zewrzyj nogi TxD z RxD (tam gdzie był procek) jeśli po tym - nie będzie ci się pokazywało w terminalu dokładnie to co wpisujesz to znaczy, że masz problem z kablami, połączeniami itp itp to powyżej powinieneś jako pierwsze sprawdzić
Wyłącz echo w telefonie. ale jak mam to zrobic ? ATE0 nie dziala :| Czyszczenie bufora nic Ci nie da.Aby "opróżnić" bufor , wystarczy wyrównać lub wyzerować indeksy _rs_head_ptr0 i _rs_tail_ptr0 . pytanie jak to zrobic pod Bascomem ? Obecnie jest tak jak by to co wysyla telefon ladowalo sie do bufora w roznych miejscach , raz na pcozatku, raz w srodku...
A otworzyłeś port? Zobacz sobie przykład do tej kontrolki. Coś takiego znalazłem. Przeanalizuj. Private Sub Command1_Click() CommX1.BAUDRATE = 19200 CommX1.COMPORT = 1 CommX1.OPEN End Sub Private Sub Command2_Click() CommX1.Close End Sub Private Sub Command3_Click() CommX1.SEND Text3.Text + Chr(13) ' send data End Sub...
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
Nie wiem dokładnie czy bascom dokonuje konwersji typu string na byte w tym może być problem. Spróbuj zmienna nm zadeklarować jako 'byte' może pomoże.
Przechodziłem już to, MAX dopasowuje Atmegowe 0-5V do RS'owego +/- 3-15V Jest naprawdę duże prawdopodobieństwo, że Ci to ruszy po dodaniu konwertera. Max kosztuje zetkę i wymaga raptem 4-rech kondensatorów ;-) Osobiście używam 1uF SMD, sprawują się wyśmienicie. P.S. możesz na etapie testów zmniejszyć prędkość np. do 9600.
Spróbuj "handshaking none" ustawić w programie terminala.
Teoria powiadasz. Ciekawe co czytałeś... Mimo iż wyczuwam lekki roszczeniowy charakter wypowiedzi to postaram Ci się coś jednak wytłumaczyć. Kiedy pisałem o podpisywaniu zmiennych to miałem na myśli takie wysyłane osobno. Od razu uściślijmy, że dla takich wartości dwubajtowych jak Word łatwiej to przesłać jako Hexstring. Długość stringa zawsze będzie...
Akurat RS232 to coś nowego dla mnie :) "Clearserialinx" - szukam ale nic takiego nie ma. Nawet google nie wyświetla wyników.
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()...
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ż...
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...
skoro umiesz wysłać tekst do drugiej atmegi to jak możesz nie umieć wysłać sobie jakichś zmiennych - oj chyba przegrzało przy ubieraniu choinki więc podpowiem ;) .... można to zrobić na milion sposóbów oczywiście i wszystko zależy od tego jakie to są zmienne, ale np załóżmy że masz zmienną typu Byte. 1. dokonujesz konwersji tej zmiennej na postać String...
Co to za dane? Czy mają stałą ilość bajtów? Jakieś stałe bajty na początku/końcu ramki danych? Poza tym uważam, że wszystko inne wyjaśniłem teraz tylko Kolega musi sięgnąć do dokumentacji BASCOM'a, znaleźć odpowiednie funkcje i napisać na ich podstawie program który chce kolega zrealizować. No i takie dane to raczej nie do jednej zmiennej, ale do tablicy...
Witam, Rozglądnij się raczej za urządzeniem na PCMCIA, wszelkie przejściówki na USB nie będą dobrze współpracowały z Twoimi programami, gdyż nie wywołują przerwań w systemie. Urządzienie jest widoczne w systemie jako replikator portów USB, tak więc np programy dosowe nie drukują na drukarce podłączonej do przejściówki - na złącze LPT... Pozdroofka
Może to Ci pomoże
Na odporności na zakłócenia. Zaindukowane w przewodzie sygnałowym zakłócenie np. 2.5V przy poziomie nominalnalnym 12V nic nie zrobi. Ale przy sygnale 0-5V i progu przełączania 1.5V już tak. Jak chcesz sprawdzić działanie transmisji z komputerem stojącym w odległości 1m w domu- działa. Ale w hali przemysłowej na odległości 10m i wielkości pliku 100kB...
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...
http://avrhelp.mcselec.com/index.html?co... Dokumentacja prawdę Ci powie:> (Akurat do kompilatora;-) ).
Witam. Kodu w BASCOM nie mam, ale może to ci pomoże. http://www.elektroda.pl/rtvforum/topic96... W jednym z moich postów na dole strony podaję link do stronki, na której bardzo fajnie i przejrzyście opisane jest, jak zastosować szyfrowanie DES. dla kogoś znającego dany język programowania będzie to roboty na jakieś trzy godzinki (łącznie ze zrozumieniem...
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...
Program dla Atmegi jest prawidłowy, muszą to być usterki sprzętowe, może zamienione RX/TX miejscami Dodano po 23 Program dla Atmegi jest prawidłowy, muszą to być usterki sprzętowe, może zamienione RX/TX miejscami
Funkcja "serialPort1_DataReceived " pobierze tylko 1 bajt. Zostanie on skonwerowany do postaci liczbowej - czyli do zakresu 0..255 i coś takiego wyświetlisz. Jeśli odebraną daną jest kawałek tekstu, to będzie to wartość liczbowa kodu ASCII odebranego znaku. Co w zasadzie chcesz odbierać? Tekst, czy liczby? Pojedyncze znaki ASCII można odebrać przez...
Albo nowszą wersję bascoma
Bez problemu. Schemat dokładnie taki jak wyżej i niżej :) . 1. otwierasz porty w obu uC na jednakową prędkość itd. 2. sprawdzasz czy jest komunikacja na tych ustawieniach 3. proce pracują :) 4. proce (proc) zbierają dane itd. itp. :) - no ogólnie robią co do nich należy :) 5. uC1 chce zmienić rodzaj transmisji - uC1 wysyła znacznik - uC2 otrzymuje znacznik...
:arrow: Mictronic: Predkosc transmisji to 9600! Ponizej wklejam wycinki mojego programu do obslugi tego modulu: '------------------------------- ' modul RFiD ' ' 9600.1.0 ' dane 0xff,x,x,x,x,x,crc8 '------------------------------- {...} $baud = 9600 ' predkosc transmisji Config Serialin = Buffered , Size = 100 ' rozmiar bufora {...}...
Najpierw sprawdź przejściówkę. Zewrzyj 2 i 3 pin. Kiedy będziesz wklepywał coś na klawiaturze kiedy otwarty będzie Terminal to w jego oknie pojawiać sie powinny kolejne znaki. W terminalu widać tylko to co do nas wraca. Normalnie za Echo pracuje mikrokontroler /lub nie jeśli sobie nie życzymy. Kiedy zewrzesz 2 z 3 to to co wyślesz powinno do Ciebie...
Albo i2c.
Sposobów pewnie jest więcej. Poniżej masz dwa. [syntax=basic4gl]Dim Zmienna_string As String * 15 Dim Tablica_danych(16) As Byte At Zmienna_string Overlay 'jesli w stringu masz takie wartości 'A|B|E|C|A|D|L|O|_|Z|P|I|E|C|A|NULL '1|2|3|4|5|6|7|8|9|10|11|12|13|14|15| 'to interesująca Cię wartość jest w Interesujace_dane = Tablica_danych(5) 'Możesz też...
Nie miałem nigdy problemów z komunikacją na wewnętrznym generatorze 8MHz przy szybkości 19200. Ustaw więc wewnętrzny generator na 8MHz.
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.
no to teraz dorobilem.... pogmeralem przy fuse bitach i programator (isp) przestal rozpoznwac CPU :) Dodano po 17 mozna teraz jakos przywrocic CPU do stanu uzywalnosci ?
Spokojnie da radę , ale pod warunkiem , że kod zmieści w 2kB. 36kHz możesz wygenerować sprzętowo na PORTD.5(OC0B) , albo programowo(nie polecam) na dowolnym porcie. Piotrek
Błąd przy kompilacji , czy po załadowaniu do proca :?: Piotrek
Kolejny raz widzimy to samo. Zamiast dobrać kontroler do zadania, to próbujesz na siłę dopasować zadanie do kontrolera leżącego w szufladzie. Tutaj o tyle gorzej, że nawet się nie zastanowiłeś ile zasobów potrzebujesz, tylko od razu przyjmujesz 2 albo 3(!) kontrolery do w sumie bardzo prostej aplikacji. Moim zdaniem wszystko zrobisz na jednym uC i może...
Witam Mam pytanko. W jaki sposób odebrać liczbe dwucyfrową np 11. Jeżeli używa w bascomie funkcji inkey() i chce z komputera przesłać liczbę 11 to uC odbiera tą liczbę jako dwie jedynki a nie jako liczbę 11, co uniemożliwia mi wykonanie instrukcji która znajduje sie pod CASE 11: . Jest na to jakiś sposób? Pytam ponieważ chcę skorzystać później z funkcji...
Faktycznie 485 wydaje się być lepszym rozwiązaniem, ma ktoś schemat ideowy jak połączyć 3 atmegi8 i maxa 485 - bo to chyba jest ta magistrala 485? Nie mogę znaleźć dokumentacji a w moim poradniku była tylko informacja o rs232.
Jeśli chodzi o obsługę od strony komputera, to polecam książkę: RS 232C - praktyczne programowanie autorstwa Andrzeja Daniluka. Dodam, że nietrudno znaleźć w Internecie e-booka. Jeśli zaś chodzi o komunikację od strony mikrokontrolera, to w książce: Programowanie mikrokontrolerów AVR w języku BASCOM autorstwa Marcina Wiązani jest to bardzo dobrze opisane....
Witam. Mam programik napisany w bascomie który potrzebuje do działania danych z RS232 (komenda inkey). Da się to zasymulować w BASCOM 8051? Jest tu jakiś terminal, ale coś nie za bardzo działa.
[syntax=c] uart_odbieranie(); //Odebranie komendy z rs232 if(UDR!=0) { switch (UDR) { [/syntax] Raczej był dał: [syntax=c] uint8_t costam = uart_odbieranie(); //Odebranie komendy z rs232 switch (costam) { [/syntax]
no to teraz ostatni test;) zewrzyj ścieżki blisko gniazda rs232 przy wyjętym maxie:)
Zrób sobie 6 element tablicy który będzie np znakiem ENTER (żeby rozpoznawać koniec tablicy) natomiast w Bascomie możesz wtedy użyć nawet polecenia INPUT, które po otrzymaniu znaku ENTER wpisze ci twoich 5 elementów tablicy do stringa (też jakby tablicy) - a ze stringa możesz to przełożyć do normalnej tablicy bascomowej - zrobić z tym co ci się żywnie...
A ustawienia bitów konfiguracyjnych?? Włączyłeś obsługę zewnętrznego kwarcu??
Poza tym, jeśli chcesz na wew. i Ci nie działa jak powinno, to wystarczy poczytać forum: http://www.elektroda.pl/rtvforum/topic11...
To jest proste jak świński ogon :D ahahahaha, ale napisz kawałek kodu. Czy masz tam jakiś LCD czy nie, czy masz tam jakiś Timer ustawiony do odmierzania sekundy czy Wait`ujesz :D Czy w dokumentacji czujnika pisze, że nadaje tez na końcu niewidoczne w terminalu znaki 13 lub 10? EDIT: aaa masz tu taki prosty. Napisałem przy śniadaniu więc błąd mógł się...
Polecam polskojęzyczny help do Bascoma. Szukaj w nim informacji o transmisji szeregowej UART.
Jest 8MHz.
Na przyszłość polecam [url=http://www.google.pl/search?q=rs232... .
Nie wiem czy wina lezy po stronie programu czy moze ustawien bascomowego terminala. Komp z prockiem polaczony jest przez max232. z gory za pomoc To może na początek zaprezentuj swój program ! Cześć
Czy mógłby ktoś zamieścić artykuł z EdW poświęcony At90s2313 i RS232 dla języka Bascom. Bo niestety na forum znajduje tylko strzępki informacji. A ja potrzebuje podstaw. Z góry dziękuje za POMOC !!!
Witam Proponowałbym zrobić echo czyli spróbować odebrać to co się wysłało. Żeby tak zrobić to na DB-9 zewrzyj Txd i Rxd no i napisz sobie odpowiedni soft. Jeśli nie zadziała może się okazać, że coś nie halo z konwerterem. --
Miałem chwilę więc chciałem napisać szybko program na Aduino Mega2560, ale potem sobie przypomniałem, że tam mikroskopijny kwarc a błąd przy 16MHz dla 115200 jest za duży. Wziąłem więc Mega128 bo była wolna i pod ręką. Napisałem program w którym przez Charmatch odbieram string "1234567890" po odebraniu Entera. Żeby było uczciwie to jeszcze odpaliłem...
Te cacka mogą nie tolerować +5V Zabawiaj się z Leonardo i poszukaj na www znakomite artykuły autorstwa bodajże tmf o podłączaniu tego ustrojstwa.
Dzięki już wszystko jasne.
Procesor Atmega8 oscylator wewnętrzny 1MHz w Bascomie stosując instrukcję: print "dowolny znak ASCII" w terminalu na PC otrzymuję znaki przesunięte decymalnie o 64 np: print "01245" otrzymuję "pqrstu". Co może być tego przyczyną? Serdecznie pozdrawiam
W twoim programie jest tak: [syntax=basic4gl]If Wart_ac > 1000 Then Gosub Wykrywanie Elseif Wart_ac < 1000 Then Gosub Czujnik1przeciwnik Elseif Wart_ac1 < 1000 Or Wart_ac2 < 1000 Then ' ###### ta czesc petli nie reaguje na zmiany w ukladzie ### Gosub Czujnik12lini End If [/syntax] w jaki sposób 3 opcja ma zostać spełniona? Przecież jeśli...
kolejny moj temat i kolejny moderator ktory mi go zamyka. do chwili obecnej uwarzalem to forum za pomocne ale przez takich moderatorow zaczyna byc nie pomocne. obrazanie innycj szukajacych pomocy to nie jest dobra praktyka i oznacza brak szacunku a moderator taki nie powinien nim byc. slowa typu ze mam adhd czy inne obrazily mnie napisalem list do forum...
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...
myślałem że one służą do czegoś innego (nie znam się na bascomie) ale jeśli one służą do tego co mówisz to Twój program jest niezgodny z tym co mówisz :!: U Ciebie procek A ustawia znacznik przesłanie i CZEKA na przesłanie (input) a procek B czeka na znacznik i WYSYŁA (print). Może to być i tak ale spróbuj przećwiczyć transmisje z PCtem to wyjdzie w...
Eceta "" 'Napis w górnej linijce LCLowerline ' przenieś kursor na LCD do dolnej lini tego zapisu nie rozumiem. Kod na tym forum zamieszcza sie w znacznikach "code". Nie zapomniałeś przypadkiem umieścic jeszce informacji o kwarcu oraz predkosci transmisji w programie? Na podstawie tych informacji ustawisz terminal.
Witam Jaki trzeba przewód do podłączenia się w Bascom AVR pod Bascom Terminal? Czy to ma być Przewód RS232?
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
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...
Masz helpa. Znajdź jakiś terminal rs232 i do działa. najpierw sprawdź czy uzyskasz połączenie.
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
By funkcja PRINT nie wysyłała samoczynnie znaków CR i LF , użyj średnika. Print "Ala"; Print "ma"; Print "kota" Piotrek
Witam, zanim zabierzesz się za pisanie własnej obsługi przerwań do RS232 w Bascomie, to może najpierw spróbuj zrobić to w oparciu o dobrodziejstwa jakie daje ci Bascom. nie znasz poleceń INPUT , INKEY czy PRINT ???? do tego jeszcze może Config Serialin bo w powyższym kodzie odstawiasz niezły "miszmasz" i nie ma co się dziwić, że ci nie działa. Oczywiście...
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?
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...
Nie znam BASCOMA ale nei masz tu ani ustwionej szybkości transmisji ani nie piszesz nic o ustawoenieu fusebitów. Może ATmega16 pracuej Ci w dalszym ciągu na wewnętrznym rezonatorze 1MHz - na co by zresztą wskazywało: "... W dodatku odmiezane czasy przez procesor sa znacznie wydluzane..."
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ć...
Witam, ja się w ogóle nie dziwię, że masz taki efekt, ja gdybym był na miejscu procesora i gdybym otrzymał taki kod to też bym zwariował na maxa ;) Na prawdę jeszcze czegoś takiego to nie widziałem, żeby : 1. nie skorzystać ze sprzętowego UARTA - gotowca w bascomie 2. nie skorzystać z pięknych buforów cyklicznych - gotowca w bascomie tylko w zamian...
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...
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.
Naprawde zrobiłem już wszystko. Oto dyrektywy początkowe: $regfile = "m8def.dat" $crystal = 16000000 $baud = 9600 Wszystko oczywiście zgodne z rzeczeczywistością. Przy pomocy instrukcji print wysyłam przez RS-a napis. No i: NIC!!! Ciekawostką jest to, że jak zmniejsze w terminalu prędkość transmisji do np. 1200 (a wszystko pozostaje jak wyżej) to wyswietla...
Teraz widzę ze to troszeczkę inaczej będzie działało, będą 3 zmienne p1, p2, p3 i w każdej zmiennej będą albo 0 albo 1. Jeśli na p1 będzie 1 to zapal diodę, jeśli 0 to zgaś Jeśli na p2 będzie 1 to zapal druga diodę, jak zero to zgaś. Itd.
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.
kurczę jeszcze gorszy jest ten problem bo okazuje się że wysłanie jakiegoś dłuższego stringa z PCta do Bascoma graniczy z cudem no chyba że znowu wysyłam znak po znaku i robię pomiędzy tymi znakami znowu przerwy po np 200ms czyli tak jakby symuluję wpisywanie znaków jak z klawiatury gdy jestem podłączony terminalem gdzie robię błąd ??? Dodano po 55...
Zacznij od poprawnego pisania, nie bytów tylko bajtów. Czy tak nie jest bardziej po polsku. Byt to raczej coś innego:) Algorytm jest bardzo prosty. Na początku szukasz nagłówka, więc czytasz bajty aż 4 kolejne będą miały wartość A. Potem czytasz kolejne i przypisujesz sobie do odpowiednich zmiennych. A potem to już robisz z nimi co chcesz.
Właśnie Atmega32 a ja mam Attiny2313 wiec całkiem inne układy więc może mój wymaga jakiejś odpowiedniej konfiguracji jeżeli chodzi o RS232.
Wygląda poprawnie impuls ma ok 0,8ms czyli ok 1250 bodów . Masz problem w przejściówce którą używasz lub w samym konwerterze ttl , rs232.
Inkey nie czeka, więc spokojnie możesz go używać. Wyślij komputera 1 znak np. start to '1' a stop to '0' [syntax=basic4gl]Dim Znak as byte Dim Wysylanie as bit '... Do '... Znak = Inkey() If Znak > 0 Then If Znak = 49 Then '49='1' Wysylanie = 1 End If If Znak = 48 Then '48='0' Wysylanie = 0 End If End If If Wysylanie = 1 Then 'wysylanie danych End If...
Ale ja proponowałem 1000000Hz a nie 10000000Hz To jest 10x więcej! (przekopiowałem z postów-więc może się nie pomyliłem) Jeśli nie zmieniałeś fusebitów to daj: $crystal=1000000 Sprawdzam i liczę: 1MHz=1000000Hz. Uff. Może jeszcze nie mam ciężkiej sklerozy.
Tak.
Robię kumplowi na prace moduł IO z optoizolacją na cNY 17, mają być 4 wyjścia i 4 wejścia napisałem kawałek w bascomie ale mi nie działa. Kwarc 110592 , układ działa bo proca załadowałem innym wsadem i wysyłął do hyperterminala AScII. CZy mógłbym prosić o wskazówki. Układ ma co 1 sek odbierać i wysyłać dane. Dim We As Byte , Wy As Byte Reset Tcon.0...
Witam i proszę o pomoc chcę zrobić urzadzenie sterowane przez rs, i napisałem program w bascomie 11173, nadmieniam, iż nie jestem dobry z programowania ma to sterować 4 diodami poprzez rs485 ale na razie próbuję na rs232 po skompilowaniu chodzi na symulatorze bascomowym bez problemu natomiast nie chce chodzić po zaprogramowaniu procesora #9zxxxx# to...
Sprawa rozwiązana: Poniższe komendy włączają i wyłączają projektor: Print Chr(13) ; "*pow=on#" ; Chr(13) Print Chr(13) ; "*pow=off#" ; Chr(13) Natomiast: Print Chr(13) ; "*pow=?#" ; Chr(13) Zwraca stan projektora, tylko należy zwrócić uwagę, mój projektor również dodaje echo. I na tym się przejechałem. Bufor na input miałem za mały i odbierałem tylko...
Prodig --> jak znasz Delphi na PC - i Bascom na procki - to nie zastanawiaj się nad niczym innym tylko zrób najprostszą na świecie przejścióweczkę USB/RS232 na scalaku FT232R. NIE POTRZEBA ŻADNYCH DODATKOWYCH ELEMENTÓW ! - wersja super minimalna a działa zawsze tak samo, zawsze bardzo dobrze, powtarzalnie , itp poniżej rzucam schemat takiej przejściówki...
Witam, Jak powinna poprawnie wyglądać konfiguracja portu RS232 w Bascomie jeżeli używam linii PD.2 i PD.3 (UART1) w Atmedze 128 ?
Witam. Najpierw na Windowsie napisałem prosty program w bascomie do komunikacji przez rs232(Program ma dwie komendy pierwsza odbiera coś przez rs232 a druga to wysyla i tak w kułko), w terminalu od bascoma wszystko działa. Gdy użyłem Open USART Termianal, nic się nie działo więc wyłączyłem go i przeszłem z powrotem do terminala w bascomie gdy nacisnąłem...
Porównując do zwykłego pilota nadającego w rc5 uznałem że nie działa ponieważ dioda ir w zwykłym pilocie świeci dopiero jak się naciśnie jakiś przycisk a u mnie jest tak że świeci się cały czas :( po naciśnięciu przycisku dioda mruga lub w ogóle gaśnie :( switche są tak podpięte ponieważ chce aby baterie dłużej pożyły i napięcie powinno być dopiero...
bascom rs232 odczyt rs232 bascom rs232 przerwanie bascom
zasilacz samodzielnego montażu płytka sterownika zgrzewarki przesunięcia bitowe
kangoo dmuchawa przeciwwaga polar
Grzałka SELFA w kotle Bud-Osiek na ekogroszek – montaż w króćcu powrotu, zgodność i zabezpieczenia Zamiennik L2750 – TDA7269A, TDA7264, TDA7265, L2750A, Multiwatt 11, wzmacniacz audio