Spróbuj "handshaking none" ustawić w programie terminala.
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...
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.
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...
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()...
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...
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...
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...
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...
http://avrhelp.mcselec.com/index.html?co... Dokumentacja prawdę Ci powie:> (Akurat do kompilatora;-) ).
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...
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
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...
wprowadz opoznienie przed skokiem do podprogramu odczytaj_sprzetowy_uart, powiedzmy jakies 100ms, daj czas mikrokontrolerowi na odebranie wszystkich znakow zanim odczytasz uart
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...
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...
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.
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.
: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 {...}...
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...
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.
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...
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...
Albo i2c.
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 ........
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.
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ć
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
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...
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.
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...
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.
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...
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...
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.
Błąd przy kompilacji , czy po załadowaniu do proca :?: Piotrek
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. 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...
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
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...
Poza tym, jeśli chcesz na wew. i Ci nie działa jak powinno, to wystarczy poczytać forum: http://www.elektroda.pl/rtvforum/topic11...
A ustawienia bitów konfiguracyjnych?? Włączyłeś obsługę zewnętrznego kwarcu??
Akurat RS232 to coś nowego dla mnie :) "Clearserialinx" - szukam ale nic takiego nie ma. Nawet google nie wyświetla wyników.
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.
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...
[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]
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...
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...
https://www.szpitalodrodzenie.pl/tkuchta...
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
Witam Jaki trzeba przewód do podłączenia się w Bascom AVR pod Bascom Terminal? Czy to ma być Przewód RS232?
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ż...
Dzięki za podpowiedzi, wykorzystałem polecenie inkey() i to wystarczyło w zupełności. Kodu nie podaję, gdyż wystarczy wpisać w helpie inkey i wszystko jasne jak na dłoni :)
no to teraz ostatni test;) zewrzyj ścieżki blisko gniazda rs232 przy wyjętym maxie:)
Przyjrzałem się temu tylko pobieżnie więc to co napisze to tylko sugestie. Nie zgłębiałem też protokołu, ale pisze wyraźnie, że ramka dla jednego tylko modułu rozpoczyna się na przykład nadaniem dwa razy &HFF a kończy 2X&HFF "followed by &HAA" tak więc nie uświadczysz tam żadnego "entera" i każde z urządzeń podłączonych do szyny pewnie ma swój identyfikator...
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...
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ż...
Witam Mam taki problem. Program wysyla plik binarny 57kB z PC do mega a on do zewnetrznej pamieci(testuje na mega32 i mega128). Wyglada ze AVR nie jest w stanie wyrobic z transmisja, jakby za wolno wewnetrznie dzialal i dane sie nadpisuja zanim obsluzy przerwanie. Na PC program pisze w vb6 oto fragment kodu Open nazwa For Binary Access Read As #2 For...
By funkcja PRINT nie wysyłała samoczynnie znaków CR i LF , użyj średnika. Print "Ala"; Print "ma"; Print "kota" Piotrek
Witam, Po nieudanych próbach programowania w BASCOMIE komunikacji pomiędzy mikroprocesorami poprzez SPI(bascom sobie nie radzi, tzn ja sobie w basomie z tym nie poradziłem, a po licznych nieudanych próbach i po braku odpowiedzi, sugesti na ten watek wnioskuje że chyba to jest niewykonywalne w bascomie, a przykładów bardzo skąpo) jak również i2c (twi)...
Można nieco więcej informacji z czym i za pomocą czego to coś się komunikuje ? W jaki sposób stwierdzasz że "nie działa" ? Nee ukrywam bascomem nigdy sie nie interesowałem i musiałbym zacząć przypominać sobie składnię ale jakos może pomogę jeśli podasz więcej szczegółów o nie działaniu :)
Może to Ci pomoże
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...
i właśnie o to chodziło by działało bez przerwania a jednocześnie w "przerwaniu" w tle No to muszę Cię zmartwić, bo buforowanie działa na przerwaniach i te masz włączone, choć sam tego na początku nie zauważyłem - SEI :D PS Część kodu, jakaś dziwnie znajoma :lol: Owszem bo po raz pierwszy korzystam z BASCOM AVR więc się podpieram przykładami kolegów...
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.
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 ?
Eeeeeh - Bascoma to ja już prawie zapominam. Ale nie pisz że bez znaku entera program w bascomie ci czegoś nie czyta - poczytaj w helpie na temat config input i możliwości deklarowania znaków końca linii. Poza tym wyłączyłeś buforowanie sprzętowe dla UART'a więc nie dziw się, że to hmmm "tak sobie działa" - przy tak napisanej obsłudze komunikacji -...
Masz helpa. Znajdź jakiś terminal rs232 i do działa. najpierw sprawdź czy uzyskasz połączenie.
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..."
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...
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.
Zrobilem prosty uklad na 2313. Programator- kabelkowy, podobny jak w helpie bascoma-dziala. Moge wgrywać programy. Zrobilem prosty program zapalający i gaszący diode-daziała. Zmieniam prędkość i dioda zapala się i gasi tak jak chce. Teraz chciałem nawiązać komunikacje z komputerem przy pomocy RS 232. Wylutowałem układ Max232, ale się nie mogę połączyć....
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...
A nie możesz wykorzystać zwykłego timera?
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...
Albo nowszą wersję bascoma
Witam W jaki sposób można zmienić w Bascomie zmienną typu WORD na dwie zmienne typu BYTE... Jaki Bascom , 51 czy AVR :?: Dla 51 , to dzielenie , Shift ,High,Low , a jak AVR , to jeszcze dyrektywa Overlay . Piotrek
Na przyszłość polecam [url=http://www.google.pl/search?q=rs232... .
No, ale jak w bascomie Dodano po 56 No, ale dalej nic nie rozumiem. Post august_a zniknął. Post freddi chopin zniknął. Moja odpowiedź na nieistniejący post 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
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 !!!
SERIN i SEROUT to nie jest do RS232. Do tego jest Print/Printbin i Input/Inputbin. Jest jeszcze Inkey.
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...
Jest 8MHz.
Witam, mogli byście spojrzeć na poniży kod czy dobrze kombinuje bo nie mam złącza LPT( laptop) i muszę na boku z starych części składać komputer żeby zaprogramować. Więc jak się poświecę to chciałbym mieć pewność że zatrybi. Założenia są takie: z terminala wysyłam jakąś komendę mikrokontroler atina2313 ją odbiera i podejmuje odpowiednie działanie. Kod...
Poczytaj o instrukcji Config Serialin. To jest bufor wejściowy w USART w bascomie.
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ść
$regfile = "m128def.dat" $crystal = 16000000 $baud = 9600 'set the baud rate for the first hardware UART. $baud1 = 9600 'set the baud rate for the second hardware UART. 'when CONFIG COMx is not used, the default N,8,1 will be used Config Pinb.7 = Output Config Com1 = Dummy ,Synchrone = 0 ,Parity = None ,Stopbits = 1 ,Databits = 8 ,Clockpol...
Dzięki już wszystko jasne.
Piszesz, że masz kwarc 8MHz, w programie, że ustawione fabryczne taktowanie 1MHz. Jak masz fusy?
Generalnie mam ten sam problem. Modem reaguje poprawnie na wysyłane komendy ale nie odbiera potwierdzeń z modemu. Zuważyłem, że gdy zastosuję następującą procedurę uruchamiania to działa poprawnie: 1 zasilanie mikrokontrolera 2 odłączenie TxD modemu do kontrolera 3 zasilanie modemu (PWRKey do GND) 4 połączenie ponownie TxD modemu do kontrolera Dodano...
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. --
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...
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...
rs232 bascom odczyt rs232 bascom rs232 przerwanie bascom
turbina pompy myjącej płytka stykowa atmega8 zasięgu 433mhz
weintek fatek kosiarka akumulatorowa
Wyważarka ATS W320 - uruchamia się, ale zatrzymuje Jak szybko schłodzić laptop? Skuteczne metody