Ja robiłem podobnie do twojego tyle że zamiast "waitkey" używałem "inkey" w przerwaniu . Odbior: B = Ischarwaiting() If B = 1 Then C = Inkey() If C = "Q" Then Inputbin Aa(1) , Aa(2) , Aa(3) , Aa(4) , Aa(5) , Aa(6) End If End If Return Czyli Q robi u mnie za bajt startu a resztę danych przypisuję zmiennym . W programie głównym obrabiam te zmienne. ps:...
Witam, chce uruchomić transmisje szeregową na podanym w tytule uC i tutaj napotkalem na problem, poniewaz dokumentacja do 48 jest bardzo uboga :/ Zaimplementowalem cos, ale nie dziala. jaka uboga? o czym ty mówisz ? skąd ty takie ubogie dokumentacje bierzesz? wejdź na stronę www.atmel.com i pobierz z tamtąd pełną notę PDF do jakiego zechcesz tylko...
RS232 i konwerter na RS485 Od strony uP standardowo zaczynam od: $crystal = 11059200 $baud = 9600 Odbiór danych przez instrukcje inkey a potem setest case Wysyłanie instrukcja Print . Nie korzystam z przerwań. Od strony PC zależy w czym piszesz program. W VB odbiór i wysyłanie przez MSComm1. (output lub input ) Jest sporo przykładów na elektrodzie....
Problem nielogowania się do sieci rozwiązałem. Jak to czasami bywa przyczyną był błąd montażowy na płytce. W tej chwili po załączeniu zasilania modem ładnie loguje się do sieci. Niestety to nie koniec problemów. Jak próbuję wysłać komendę "AT" z procesora przez UART do modemu do nie otrzymuje "OK" tylko wraca mi z powrotem "AT". Wydaje mi się że problem...
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ż...
Możesz użyć Inkey. Tylko funkcja ta ma taką cechę że nawet jak nic nie ma w UDR to zwraca 0. Także najlepiej zrób to w ten sposób że najpierw sprawdzasz czy jest znak (Ischarwaiting) a potem jeśli jest, to odbierasz Inkeyem. Można też zrobić to w przerwaniu. Jeśli początek odbieranego tekstu masz stały to można też zrobić pętlę w któej ciągle pytasz...
No dobra. Wywal wszystko na linii Tx telefonu do Rx procesora. Ma być połączenie bezpośrednie. Na drugim kierunku zostaw tak jak masz. Poniżej kod do testów. Powinien działać. [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $baud = 19200 Config Lcd = 16 * 2 Config Serialin = Buffered , Size = 100 Enable Interrupts 'Declare Sub Oproznij_bufor...
(at)grala1Ten Twój kod jest trochę za prosty i z czasem zgubi synchro niemniej jak wrzucisz ten poprawiony na symulator, albo nawet uruchomisz na żywca z tym co Tobie tam nadaje to na chwile powinien podziałać ;) Lepiej byś odbierał znaki w przerwaniu do bufora. Procesor na nic by nie czekał i miał czas na inne sprawy. Do tego synchro, jakis timeout...
Spróbowałem przed chwilą , niestety rezultat ten sam , strasznie mnie dziwi że to hex 0 na dowolnej pozycjii blokuje odczyt całego bufora. Jak używałem INKEY() i kontroli ischarwaiting() to znowu mi wczytywał tylko trzy znaki bez względu na dane. Teraz jest trochę lepiej bo czyta wszystko ale pod warunkiem że nie ma wartosci HEX00
Mógłbyś trochę rozwinąć ? Niestety nie mogę tego ogarnąć - to już moje drugie podejście, po próbie połączenia UART z PWM, wtedy odpuściłem, bo blokowało mi wyjścia na czas połączenia. Przeglądając przykłady na tym forum wyszło coś takiego: '********************* Konfiguracja UART Config Serialin = Buffered , Size = 40 , Bytematch = All Enable Interrupts...
Na początek musisz spiąć atmegę8 z max232, następnie kabelkiem łączysz do komputera. Za pomocą terminala możesz wysyłać różne dane do atmegi.To co chcesz zrobić możesz bez problemu wykonać w bascomie, ale musisz posiadać minimalną wiedzę o tym języku. Dane wysyłane z komputera możesz odczytywać za pomocą funkcji INKEY, WAITKEY, INPUT, INPUTBIN, INPUTHEX,...
mam moduły radiowe BR27 i BT27 , odbiornik podłączyłem bezpośrednio z wejściem RX w atmega8515l za odbiór danych odpowiada taki kawałek kodu : Rs_232: Aktualna_pozycja = Inkey() If Aktualna_pozycja > 0 Then Gosub Obliczenia End If Return W przypadku gdy mam wyłączony nadajnk na wyświetlaczu pojawiają mi się same śmieci , załączenie nadajnika powoduje...
Jest też taka fajna procedurka Ischarwaiting która wskazuje na to że w buforze jest znak odebrany. Jeśli Ischarwaiting =1 to tylko wtedy czytasz znak. Tak, wiem, tylko tak jak pisałem problem stwarzają puste znaki które są nadawane cały czas. Na prawdę nikt nie ma żadnego pomysłu jak ten problem rozwiązać? Bo mi ich zaczyna brakować i nie mogę sobie...
Wiem, że InKey zwraca 0 gdy nic nie dostał. Inaczej nie pytałbym o IsCharWaiting... Jak zatem rozwiązać ten problem? Od razu mówię, że pisanie w C lub asemblerze to dla mnie za wysokie progi. Sprzętowy UART w atmelach (jeszcze w miarę rozsądnych cenowo) dochodzi do dwóch linii uart... czyli wciąż za mało.
Ja też mam odbiór bufora na przerwaniu, wywoływanym co około 1 sek, śmieci się zdarzają, ale bardzo rzadko, nie zauważyłem natomiast gubienia odpowiedzi modemu Odebrane = "" Do Ch = Inkey() Select Case Ch Case 0 : Exit Do 'nie ma nic to kończ pętlę Case 13 : Call Wysw 'jeśli enter to wyświetla linię Case 10 : 'jeśli LF...
Niestety Jak dam instrukcję ustawienia bufora to już nic nie odbiera (nadawać nadaje). A włączyłeś przerwania :?: Bez bufora(przerwanie RX) , ciężko dogadać się z fonem :( Właśnie zauważyłem że jak zepnę RX z TX uP (wywale printa z głównej pętli i dam wait na 5sek. ) to odbiór też jest na 3 znaki :/ Czy wiesz jak wygląda transmisja asynchroniczna ,...
Wykonałem panel lcd 2 x 16 informujący o temperaturze w kotle C.O. , zbiorniku CWU itp. Odbieram dane z urządzenia które wysyła potrzebne informacje. Odbiór: Bufor_flaga = Ischarwaiting() If Bufor_flaga = 1 Then C = "" Do A = Inkey() If A <> "" Then If A = Chr(13) Then Exit Do C = C + A End If Loop End If Zmienną c wyświetlam na wyświetlaczu....
Zacząłem od początku: Dim Bufor As Byte Dim Dane As String * 32 Do Bufor = Ischarwaiting() 'Sprawdz czy cos jest w buforze If Bufor = 1 Then Kod = Inkey() Lcd Kod Wait 1 End If Loop na wyświetlacz wypluwane są mi wartości : 77 69 83 83 77 48 02 36....itd.. W tabeli ASCII odczytałem że powstaje: MESSM0...itd.. jak teraz zapisać te wartości...
Stosuję takie oto zabiegi: Odczytaj_uart: Bufor = Ischarwaiting() 'Sprawdz czy bufor pełny If Bufor = 1 Then Gosub Odczytaj_sprzetowy_uart Return Odczytaj_sprzetowy_uart: Uart_txt = "" Do 'Odbierz znak po znaku Kod = Inkey() Uart_txt = Uart_txt + Chr(kod) 'Zapisz w Uart_txt Bufor = Ischarwaiting() 'Zakoncz...
W testach dane próbowałem wysłać tylko raz jak i dawać nadawanie w pętli, odbiór cały czas w pętli. Odbiornik (M8) ma także co chwila przerwanie od timer0 który multipleksuje wyświetlacz led 136x24 pixele :D przerwanie mam co jakieś 800uS aby wyświetlić jedną linijkę (rejestr przesuwny wbija 136 bitów) Nadawanie: [syntax=basic4gl]Do For A = 1 To 408...
Problem jest 2 strony bo raz trzeba to jakoś wysłać Możesz wysyłać dane poprzez wspomniany terminal, lub przez funkcję np. w delphi WriteFile a 2 jak mikrokontroler ma te informację odczytac?? zadeklaruj sobie: Dim Odbior As Byte a w programie wykorzystaj np. funkcję: Odbior = Inkey() i lepiej będzie wysyłać dane po uprzednim zapytaniu o nie. Bo wysyłanie...
Witam, od dłuższego czasu męczę się już z GPS'em... Na początek chciałbym "wyciągnąć" tylko nazwę ramki i wysłać ją po RS'sie, w tym celu napisałem taki oto programik: Do Odebrane = Inkey() If Odebrane = 36 Or Starts = 1 Then Starts = 1 Ramka = Ramka + Chr(odebrane) If Odebrane = 13 Then Ciag = Ramka Ramka = "" Starts = 0 Print...
Nie wszystko w tej chwili jest używane, bo to testy. Na przykład Dim Napis As String * 15 Const Koniec = &HFF itp. [syntax=vbnet]$regfile = "m8adef.dat" $crystal = 8000000 '---------------------------- $hwstack = 128 $swstack = 128 $framesize = 128 $baud = 9600 Dim Napis As String * 15 Const Koniec = &HFF '------------------- Declare Sub Oproznij_bufor...
Przez PC potrafię wysłać i odebrać SMS (przez Hyper Terminala). Problem tkwi w odbiorze danych przez uP. Oto listing programu, którym próbuję odbierać dane: $regfile = "m8def.dat" $crystal = 8000000 $baud = 19200 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5...
Witam, próbuję wykorzystać UART1 do odbioru danych przy użyciu bufora ponieważ w docelowym układzie nie mogę czekać na odbiór przez input. Zmienna _rs_tail_ptr1 określa gdzie znajduje się ostatni znak w buforze. Postanowiłem ją wykorzystać, po odebraniu mojej ramki chciałem wyczyścić bufor. Według helpa można do tego wykorzystać komendy inkey lub input,...
Nie miałem tego nigdy w rękach, ale sprawdź tak. Powinno działać, tylko napisane tak w 10 minut bez jakichś większych przemyśleń. [syntax=vbnet]$regfile = "m32def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 32 $framesize = 128 $baud = 9600 Config Serialin0 = Buffered , Size = 30 Dim Buff(24) As Byte , Wart As Byte , Postep As Byte Dim Dlugosc_ramki...
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()...
Sprawa jest prosta. Trzeba zaglądnąć tu: http://www.mcselec.com/index.php?option=... Na dole strony są dwa pliki, które trzeba ściągnąć - jeden to terminal z plikiem źródłowym programu w VB, a drugi to kontrolka do VB pozwlająca na komunikację przez RS. Trzeba to przestudiować i zastosować w swoim programie do PC....
Manual BASCOM-a, w opisie instrukcji SERIALIN mówi że bufor danych wejściowych przechowywany jest w wewnętrznej tablicy bajtów _RS232INBUF0 . Oprócz tego są dwa wskaźniki, na początek tych danych oraz na ich rozmiar. 'Using the CONFIG SERIAL=BUFFERED, SIZE = 10 for example will 'use some SRAM memory 'The following internal variables will be generated...
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...
Witam zakupiłem nadajnik i odbiornik (rr3,rt14) podłączyłem pod atmegi poprzez rs-a(uarta).Jedna atmega to termometr króry wysyła temperature a druga atmega ma odbierać i wyświetlać na LCD. Testowałem programy przy połączeniu kabelkiem i wszystko było ok gdy mam podłączony nadajnik rt14 i odbiornik do drugiego układu to wyświetlacz pokazuje za każdym...
Witam serdecznie Od kilku dni zastanawiam i szukam informacji czy mikro kontroler w języku bascom jest wstanie odebrać z magistrali ramkę/dane z informacją np: o wciśniętym przycisku Vol+... i wyświetleniu je na własnym LCD ? Taki mały analizator I-bus. Wiem jak wygląda ramka np: http://obrazki.elektroda.pl/7557137100_1... http://obrazki.elektroda.pl/1540265900_1...
Znalazłem coś takiego : 'name : 'purpose : test for M2560 support 'micro : Mega2560 'suited for demo : yes 'commercial addon needed : no '---------------------------------------... $regfile = "m2560def.dat" ' specify the used micro $crystal = 8000000 ' used crystal frequency...
A po co wogóle kol. Stepel pisze sobie bufor we własnym zakresie, skoro jest coś takiego jak CONFIG SERIALIN, działający na przerwaniach. Potem trzeba tylko umiejętnie wykorzystać INKEY() i ISCHARWAITING().
Witam Dodam że szukałem na forum odpowiedzi na to pytanie ale nie znalazłem 100% pewnej informacji. Otóż posiadam w atmedze cztery sprzętowe uarty i na jednym z nich ma pracować mój poprzedni już działający moduł(którego już nie mogę przeprogramować aby zmienić coś). Transmisja wygląda tak: Z modułu A (atmega32) wysyłam poleceniem : Print #5 ,"RED"...
Eh ten rs-232 + przerwania to juz mnie o bóle głowy przyprawia. Mam programik: $crystal = 11059200 ' czestotliwosc kwarcu $baud = 1200 ' predkosc transmisji Dim X As Byte , Znak As Byte Enable Interrupts ' wlaczenie przerwan Enable Serial ' wlaczenie przerwania portu RS232 On Serial Port ' na przerwanie z portu wykonaj procedure "port" Do ' poczatek...
Witam. Chciałbym uzyskać efekt parametru echo on instrukcji input (mikrokontroler otrzymuje znaki po UART, i natychmiast wysyła je spowrotem) dzięki czemu na ekranie monitora portu COM będę miał wyświetlane wpisywane przez siebie znaki. Niestety używam konwertera http://obrazki.elektroda.pl/2797859300_1... Oczywiście w takim przypadku...
Mam taki kłopot; korzystam w programie z transmisji z PC do mikrokontrolera vis RS232 (Atmega 2561, sprzętowy uart, 115200 b). W tym celu używam funkcji SERIALIN z opcją BYTEMATCH (znak CR). Bufor o długości 200 znaków. [syntax=vbnet]' port szeregowy do komunikacji z PC oraz modemem GSM Config Com2 = 115200 , Synchrone = 0 , Parity = None , Stopbits...
Witam! Mam kłopot z odbiorem danych z PC. Podłączam uC do PC + terminal i wpisuje ciąg danych r:122.g:144.b:125 i enter no i wszystko super bo diody przygasają, ale jest problem jak Podepnę pod linuxa i chcę wysłać w ten sposób echo "r:122.g:144.b:125" > /dev/ttyUSB1 i nic sie nie dzieje, wiec moje pytanie w jaki sposób wysyłać dane lub co zmienić...
Enable Urxc On Urxc Odbior_rs_232 Enable Interrupts Dim Odebrane As String * 16 Dim Time_out As Integer Dim Ax As Byte Do Wait 1 Cls Lcd Odebrane Loop Odbior_rs_232: Odebrane = "" Time_out = 0 Do Ax = Inkey() Incr Time_out If Time_out >= 30000 Then Exit Do If Ax > 0 Then Odebrane = Odebrane + Chr(ax) End If Loop Until Ax = 13 Return Ja używam tego od...
Witam wszystkich. Mam następujące pytanie: Połączyłem dwa uP 89C2051 i 89C4051 następująco TxD jednego z RxD drugiego. Właczam Bascoma 8051 2.0.11.0 jednego programuje żeby wysyłał drugiego odbierał. Używałem różnych poleceń print , printbin, printhex; a do odbioru inkey, waitkey,inputbin. Żadnych efektów. Owszem kiedy wysyłam np.100 na LCD wyświelją...
Witam wszystkich,Panowie mam do Was takie pytanie, walczę od jakiegoś czasu z transmisją między dwoma atmegami8,jedna atmega mierzy temperaturę na piecu Co i wyświetla ją na wyświetlaczu lcd ,druga atmege też z wyświetlaczem mam po drugiej stronie ściany, i chce wynik temperatury z tej w kotłowni przesłać za pomocą UART-u do tej drugiej,używam polecenia...
Motam się znowu okrutnie z uartami. Mam dwa urządzenia i chcę aby w każdym nadawanie i odbieranie chodziło w przerwaniach. Urządzenia A odpytuje cyklicznie co kilka sekund urządzenie B. Całe odpytywanie polega na tym że: Moduł A wysyła poleceniem: Print #6 , "RED" ; chr(13) ; zapytanie o treści "RED" i na to zapytanie urządzenie B...
(at)maximus22_kr Jeśli masz pętlę, która w nieskończoność czeka na odpowiedź to właśnie ten element programu należy zmienić. Jeśli w określonym czasie nie ma odpowiedzi to przerywasz pętlę i obsługujesz sytuację awaryjną. Zgadza się, odbiór czasu ( a właściwie oczekiwanie na string ) mam w pętli: [syntax=vbnet] '********************* Pobranie_czasu:...
Witam Testując kod Kolegi pusiek1974 do odbioru czasu i daty NTP, chciałem go rozbudować i dostosować do swoich potrzeb. Na początek jako, że kod używa Wait'ów, których chciałem się pozbyć, chciałem dodać wywołanie przez flagę od Timer'a. [syntax=vbnet]$regfile = "m16def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 64 $framesize = 64 Baud = 19200...
Witam. Program wgrałem na 3 płytki ewal. które teraz odbierają to co nadaje master, czyli np taką ramkę "#2*Tomek123" Problem jest teraz z odesłaniem odpowiedzi z slave do mastera W procedurę parsowania wstawiłem coś takiego. [syntax=vbnet] ' If Helpstr = "Tomek255" Then ' Print Slowo ' End If[/syntax] służy ona właśnie do odsyłania odpowiedzi przy...
Prośba o sprawdzenie kodu , dokładnie chodzi czemu nie działa PWM . Zmiana jest dokonywania przez Bluetooh , z aplikacji . Wysyła kody ASCII wysłanie kodu nic nie zmienia. Aplikacja działa poprawnie , wysyła kody cyfrowe od 0 do 9 i PWM 100% litera q . [syntax=vbnet]BLUE VEHICLE BY JARO ©2015 '---------------------------------------...
Witam. Od pewnego czasu zajmuje się wykonaniem sterowania na mikro-kontrolerach AVR. Nadajnik pracuje na atmega 8 a odbiorniki na atmega 16. Mój system to zestaw 15 odbiorników i 1 nadajnika. Połączone jest to wszystko za pomocą magistrali RS485 za pośrednictwem Sn75176 z przełączaniem odbiór nadawanie. To tyle odnośnie układu docelowego. Do celów diagnostycznych...
$crystal = 8000000 $baud = 9600 Config Lcd = 40 * 2 Config Serialin = Buffered , Size = 20 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Enable Interrupts Dim Command As String * 1 Dim Temp1 As Integer Dim Temp2 As Integer Dim Status As Byte Dim Numer As Byte Temp1 = 12.1 Temp1 = 30.1...
Witam Mam problem z komunikacją pomiędzy dwoma mikrokontrolerami Atmega8. Chciałbym między nimi przesyłać dane a dokładnie jedną zmienną pochodzącą z mojego dalmierza ultradzwiękowego do mikroprocesora obsługującego sterowanie robotem. Byłbym wdzięczny jesli otrzymałbym propozycję działającego programu nadawania i odbioru. Moje próby niepowiodły się...
Połączyłem ATm8 z 2313 za pomocą UARTa. Na 2313 odbieram dane czujników i chcę je przekazywać do "dalszej obróbki" na ATm8. Stany pinów na 2313 są zapisywane do zmiennych np zmienna Q=0 lub Q=1 gdy stan niski/wysoki. To samo robie z innym pinem - inna zmienna np K. Problem pojawia się gdy chcę wysłać te zmienne. Z jedną-nie ma problemu-ATm8 odbiera...
$regfile = "m2560def.dat" $crystal = 11059200 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 ' Inicjalizacja wyświetlacza LC Cls ' Czyszczenie $baud = 9600 Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Config Serialin...
Polecam tobie i innym, ja to sobie tak ułożyłem do AVR. procesor zwróci ci to co wysłałeś do niego z VB6. koma w VB6 nie musisz zamykać po każdej transmisji, masz go otworzyć jak uruchomisz program, jak go zamykasz ( program) to powinien się sam zamknąć.Zmienna "Dane_rs_string" zawiera to co wysłałeś. długość słowa jakie przyjmie to 32 znaki, zależy...
Przepraszam że dawno nie odpisywałem, byłem trochę zajęty (i w pracy druga zmiana). Po stronie uC to narazie wygląda to tak: [syntax=basic4gl] 'Drugi program do testòw 04.12.2013 $crystal = 8000000 $baud = 19200 $regfile = "m32def.dat" $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 'default use 10 for the SW stack $framesize...
Wysyłam z visual basica dwie zmienne x11 i y22 do atmela przez rs MSComm1.Output = " x11" MSComm1.Output = " y22" odbieram Odbior_rs_232: Disable Urxc Sx = "" Wx = 0 Do Ax = Inkey() Incr Wx If Wx >= 30000 Then Exit Do If Ax > 0 Then Sx = Sx + Chr(ax) End If Loop Until Ax = 13 Enable Urxc Return bascom Sx widzi jak obie zmienne x11y22 a nie osobno jak...
Witam. Pytanie zasadnicze - jaki procesor posiada urzadzenie dokonujace pomiarow (slave) ? Bo rozumiem, ze mozesz go oprogramowac? Tak. To Atmega16. Jesli tak to właczasz po prostu przerwanie od odebranego znaku z UARTa i problem rozwiazany. Kombinowanie z Inkey? A może da się włączyć generowanie przerwania w połączeniu z Inpput?
oki taki mam kod może coś tu mi nie gra :) nadajnik ' rs485 dla atmega8 - testowy nadajnik $regfile = "m8def.dat" $crystal = 1000000 $baud = 9600 Config Portd.2 = Output Config Serialin = Buffered , Size = 15 Declare Sub Odbior Dim Lok As Bit Dim Test As Bit Dim Zn As String * 1 Dim I As Integer Dim Adr_s As String * 5 Dim Adres As Byte Dim...
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...
Próbowałem jeszcze waitkey - efekt ten sam tyle że waitkey jak gsm już nie nadaje wiesza program... INPUT nigdy nie używałem. Wstawiłem teraz na szybko INPUT znak (w miejsce znak =inkey() ) Efekt jest taki że nie czyta nic. Cisza. Zmykam do pracy, może po południu coś jeszcze pogrzebie przed weekendem... Pozdro :)
Przykład odbioru z sms.bas b - zmienna typu Byte Sub Getline(s As String) S = "" Do B = Inkey() Select Case B Case 0 'zamiast ischarwaiting Case 13 'filtracja znaku CR Case 10 : If S <> "" Then Exit Do 'filtracja LF i zakończenie Case Else S = S + Chr(b) 'budowanie ciagu End Select Loop End Sub Chociaż...
Witam, wykombinowałem sobie sterownik na układzie jw. do sterowania oświetleniem stopni, mam dwa czujniki - na górze schodów i na dole, czujniki zawierają regulacje czułości, jasności i czasu działania tak że te elementy odpadły z programu. Brak jest jeszcze parę drobiazgów ale zająłem się tematem odbioru rozkazów z innego procesora (sterującego oświetleniem...
Może uda mi się rozruszać dyskusję. Udało mi się już uruchomić projektor przez RS, jak i go wyłączyć. Natomiast mam problemy z odebraniem danych o jego stanie. Poniżej pokazuję moją procedurę odbioru danych: [syntax=basic4gl]Do Print Chr(13) ; "*pow=?#" ; Chr(13) Waitms 100 A = Ischarwaiting() If A = 1 Then 'we got something A = Inkey() 'get it Cls...
Mam problem z następującymi układami, Modem nie chce mi się zalogować do sieci. Komunikacja RS wydaje się być w porządku jednak odbieram jakieś krzaczki tami programik na szybko napisałem: $regfile = "m128def.dat" $crystal = 7372800 $baud = 9600 Config Com1 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0...
[syntax=basic4gl] $regfile = "m32def.DAT" $crystal = 11059200 $baud = 9600 Declare Sub Pomiar_temperatury Dim Zn As String * 1 Dim Zapytanie_temp As Bit Dim Nowa_temp_pobrana As Bit Dim Temperatura As Integer On Urxc Odbieranie_rs: Enable Urxc Enable Interrupts Do If Zapytanie_temp = 1 Then 'jesli jest zapytanie Call Pomiar_temperatury 'idz zmierz temperature...
Witam. Oto inny sposób na otwarcie portu COM przez QBasic. To przykład zaczerpnięty z oryginalnej pomocy QBasica 7: CLS 'Definicja etykiety błędu gdy port nie istnieje. ON ERROR GOTO ErrHandler 'Otwarcie portu COM1. OPEN "COM1:9600,N,8,1,BIN" FOR INPUT AS #1 ' zamiast input można 'użyć output i wtedy port jest skonfigurowany do wysylania...
Witam Zawsze bawiłem się z atmega32 ale od do projektu potrzeba mi 6 kanałów PWM 16bit (sterowanie 2 serwa i 4 regulatory z rewersem). Zastosowałem atmega128 T1 i T3 . Wszystko było było by OK ale na kanale OC1C jest brak sygnału , zapewne banalne rozwiązanie ale jakoś nie mogę zatrybić nadajnika: [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000...
Mam problem z transmisją danych. Na PC mam uruchomiony terminal (terminal v1.9b), i jak wysyłam treść z AVR do portu RS232 to terminal poprawnie odczytuje wysłaną treść. Natomiast problem tkwi w transmisji w drugą stronę. Żeby sprawdzić czy poprawnie AVR odbierze dane wysłane z RS232, napisałem tak program żeby po odebraniu treści wysłanej z terminala...
Witam serdecznie Jako kolejny krok nauki uczę się oprogramować bluetooth hc-05 oraz atmega 8 sprzęgnięte z aplikacją w telefonie. Połączenie bluetooth jest nawiązane po naciśnięciu przycisków w telefonie wysyłana jest dana typu string. Jeden przycisk wysyła daną o wartości "zapal", drugi przycisk o wartości "zgaś". Do portu atmegi8 podłączona jest dioda...
Witam, na poczatku chcialbym uprzedzic ze moja zabawa z uP zaczela sie b. niedawno :) Moj problem polega na tym, ze chcialbym uruchomic modem gsmowy na tej atmedze. Jednak mam pewne problemy z komunikacja. Ktos poradzil mi, zebym zwarl tx i rx po wyjsciu z max232 zeby sprawdzic ustawienia transmisji (odbior - wysylanie). I faktycznie uczynilem tak jak...
Przedstawiam tylko istotne części programu związane z transmisją danych Na początek Atmega 16 obsługuje klawiaturę, Wyświetlacz LCD i komunikację GSM i inne drobiazgi oraz RS232 z Atmegą 8 Dodano po 10 A tak przy okazji takie pytanie czym różni się transmisja po RS232 dla: A=1 Print A oraz Print "1" Wg ASCII < 1 > ma kod 49 i chyba w jednym i...
Witam! Usilnie próbuje opracowąć protokół komunikacji miedzy wieloma węzłami w sieci RS485 multimaster. Węzły zbudowane są za pomocą AtMega8. Ramka wyglada tak: 1 bajt - długosć ramki 2 bajty - adres odbiorcy (word) 2 bajty - adres nadawcy (word) x bajtów - dane właściwie 1 bajt suma kontrolna z wszystkich poprzednich Transmisja odbywa się na prędkosci...
Witam! Usilnie próbuje opracowąć protokół komunikacji miedzy wieloma węzłami w sieci RS485 multimaster. Ramka wyglada tak: 1 bajt - długosć ramki 2 bajty - adres odbiorcy (word) 2 bajty - adres nadawcy (word) x bajtów - dane właściwie 1 bajt suma kontrolna z wszystkich poprzednich Transmisja odbywa się na prędkosci 19200bps przy użyciu transcieverów...
Należy "podpisać" przesyłane zmienne tak by mikrokontroler jednoznacznie wiedział z którą ze swoich zmiennych skojarzyć ma przesłaną wartość i w niej ją zapisać. Wiele urządzeń ma swoje własne sekwencje bajtów po których własnie mikrokontroler jest w stanie określić co nadeszło. Takie sekwencje nazywają się "ramką". Na przykład System NMEA 0183 z odbiorników...
No tak w zupełności masz racje że pod włącznikiem będzie płytka z włącznikiem gdyby miało to tylko funkcje włącz wyłącz to rzeczywście jest to dobre a jeśli będzie oświetlenie na LEDach to slave będzie czekał na informację ile i jakie ma włączyć. Narazie szykuję do służby w altance gniazdka podświetlane RGB i ma mieć takie opcje: 1. włącz / wyłącz przekaźnika...
Serdecznie Witam Chciałbym przyłączyć się do tematu. Bardzo zainteresowała mnie ta ciekawa konstrukcja. Mam odbiornik GPS Superstar II i telefon Siemens C55, i oczywiście kilka problemów. Po uruchomieniu, oczywiście układ kompletnie nie działał, ale to norma. Okazało się że mój moduł podawał przy standardowym ustawieniu tylko ramkę $GPGGA w której są...
Oj kolego, poważny błąd - zasilaj prawidłowo mikrokontroler: http://mikrokontrolery.blogspot.com/2011... Dzięki za upomnienie, faktycznie gdzieś to przeoczyłem, na schemacie ideowym nawet masa wisi :) Poniżej zamieszczam poprawiony schemat ideowy i płytkę w EAGLE. Widząc duże zainteresowanie kodem wrzucam wsad w BASCOM....
Witam wszystkich! mam taki problem, zbudowałem prosty układ z atmega8 który ma za zadanie odbierać sms z układu sim800l, napisałem prosty program w bascom wzorowany na innych podobnych z tego forum. Program po naciśnięciu przycisku P1 ma wysłać komendę odbioru sms "Print "at+cmgr=1" ; Chr(13)" a potem ma skoczyć do podprogramu "dane" gdzie ma odczytać...
Witaj mam problem z pcją val?? wysyłam z visuala np sx =222 to a1=2 A1 = Mid(sx , 1 , 1) a2=22 A2 = Mid(sx , 2 , 2) a4=2'' A4 = Val(a2) ?? właśnie chodzi o tą opcje val??? wyswietla jakieś krzaki?? dlaczego??? Odbior_rs_232: Sx = "" Wx = 0 Do Ax = Inkey() Incr Wx If Wx >= 30000 Then Exit Do If Ax > 0 Then Sx = Sx + Chr(ax) End If If Ax = 13 Then End...
inkey bascom rs485 inkey bascom inkey
drive fault łączyć kabel ziemia płyta gazowa bezpiecznik
Electrolux Ergorapido EER77SSM - migająca zielona dioda, brak ładowania Samsung QLED czy LG OLED: Który 50-calowy TV wybrać?