Nie wiem czy będziesz mógł ustawić Timeout bo jest od wersji 2076. Najwyżej zakomentuj. Reszta powinna działać. Poczytaj o "Config Serialin" i "Ischarwaiting" Tak dokładniej to Input czeka na Enter albo na to co ustawimy żeby czekał (Config Input) Jak Enter nie nadchodzi z powodu jakiegoś błędu to przydaje się Timeout. Najczesciej odbieram dane po jednym...
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:...
Najlepiej zacznij przesyłać takie dane w postaci znaków ASCII i to najlepiej w postaci HEX, dzięki czemu będziesz mógł stosować normalny koniec linii w postaci znaku ENTER a dzięki temu z kolei o wiele łatwiej będzie ci zaimplementować odbiór danych przez RS232 (podobnie wysyłanie) A jeśli się uprzesz przy wysyłaniu takich danych binarnie to zaintersuj...
Ramkę złożoną z 32 bajtów odbieram w poniższy sposób: Kod: If Ischarwaiting() = 1 Then Inputbin Mess_1 , Mess_2 , Mess_3 , Mess_4 , M0_1 , M0_2 , M0_3 , M0_4 , M1_1 , M1_2 , M1_3 , M1_4 , M2_1 , M2_2 , M2_3 , M2_4 , M3_1 , M3_2 , M3_3 , M3_4 , M4_1 , M4_2 , M4_3 , M4_4 , Chk_1 , Chk_2 , Chk_3 , Suma_1 , Suma_2 , Koniec_1 , Koniec_2 , Koniec_3 , 32 End...
Witam, Mam taki prosty układzik na Atmedze8 z interface na MAX232. Układ odczytuje z PCta paczki 2-bajtowe z baud=600. Odczyt jest zrobiony w pętli Do Loop przez sprawdzanie zmiennej IsCharWaiting i odczytywanie bufora za pomocą Inputbin (to dane bajtowe). System (układ) działa OK ale jak mam go włączonego i podpiętego do PCta i włączam PCta to komputer...
Witam Odbieram po rs232 ramki , najdłuższa z nich ma 176 znaków a najkrótsza 44 znaki , kawałek kodu w bascomie wygląda tak : Dim Znaki As String * 176 Enable Interrupts Enable Urxc Do If Ischarwaiting() = 1 Then Inputbin Znaki . . 'tu wyświetlam na lcd . Loop Problem polega na tym że jak przyjdzie krótsza ramka to program stoi w miejscu , rusza...
Jak wysyłam mu: var int : array[0..3] of byte; str: string; begin int[0]:=1; int[1]:=127; int[2]:=250; int[3]:=50; ComPort1.write(int,4); comport1.ReadStr(str,60); edit5.Text:=str; to procek zapisuje do zmiennych: Nrled:127 Ledr:250 Ledg:50 Ledb:1 BASCOM: Sprawd = Ischarwaiting()...
Te przerwania muszą być włączone do buforowanego trybu odbioru danych. Ale co jest podpięte z drugiej strony do procesora? Dalej zidentyfikuj, na której instrukcji procesor staje (podpowiem żeby szukać przed czy po Inputbin). Witajcie, program staje na inputbin, Do Waitms 25 Printbin &H00 ; &H00 ; &H00 ; &H00 ; &HE7; ' Printbin &H00 ; &H00 ; &H00 ;...
Hmm kombinuje ale coś mi nie wychodzi, możesz na podanych listingach wyżej dopisać w którym miejscu co trzeba sprawdzać? Już chyba za długo przy tym siedzę i nie mam świeżego umysłu ;) Coś już działa: Udało mi się wysyłać i odbierać dane w obu uP, ale teraz mam problrm z wysłaniem i odebraniem sumy CRC8. Ponieważ także 1-wszy raz w życiu wykonuje generowanie...
bingo napisałem już program który pokazuje odebrane sygnały z ibus szyny błędnie myślałem ze trzeba odwrócić sygnał, zastosowałem interfejs od gościa który zrobił takie coś na microchipie czyli tylko dioda i opornik (u mnie 1n4148 i 10k) [syntax=basic4gl]Serial_flag = Ischarwaiting() 'jesli znak czeka to ustaw flage If Serial_flag = 1 Then ' jelsi flaga...
O ischarwaiting zdążyłem doczytać i działa to jak należy. A reszta to co bym nie robił to i tak udaje się odebrać prawidłowo tylko jedną zmienną. Chociaż jak zapiszę: [syntax=basic4gl] Inputbin send(3) , 4[/syntax] to zmienna Tb jest prawidłowa. I o co tu chodzi? Coś mi się wydaje że problemem nie jest odbiór a wysyłanie danych. Czy przypadkiem tam...
Witam, od jakiegoś czasu opracowuję urządzenia komunikujące się po RS485 w protokole PELCO-D. Urządzenia komunikują się albo jedno albo dwukierunkowo-tutaj to nie istotne... Wszystko działa wyśmienicie i komunikuje się bez najmniejszego błędu gdy nadaje jedno z urządzeń. Urządzenie to nadajnik i odbiornik. Gdy nadają 2 nadajniki jednocześnie (jednocześnie...
Witam. Podłączyłem mikrokontroler ATMEGA16 pod złącze RS232 w manipulatorze INT-KLCD od centrali alarmowej SATEL INTEGRA. Na złączu tym cały czas wysyłane są dane o aktualnym stanie systemu i zdarzeniach. Podglądając równolegle na wirtualnym porcie COM-ETHERNET co na tym złączu jest wysyłane otrzymuje takie dane jak na poniższym screenie: http://obrazki.elektroda.pl/1772576300_1...
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...
Jeśli masz program w uC napisany przez Ciebie to nie rozumiem w czym problem. To Ty ustalasz protokół transmisji i to Ty wybierasz sobie format zapytań i odpowiedzi. Przykładowo: uC - urządzenie podrzędne PC - urządzenie nadrzędne 1. Wysyłasz zapytanie z PC do uC w formacie np: T1 lub T2 lub P 2. uC odbiera to za pomocą pętli interpretującej, wyglądającej...
Masz rację Moja pomyłka Chodziło mi o liczbę 12345, której nie mogę zadeklarować jako BYTE Ten przecinek dorabiam sobie później poleceniem np takim Sds1 = Format(sds1 , " 0.0") Napisałem coś takiego NADAJNIK $crystal = 8000000 $baud = 19200 Cls Cursor Off Config Serialout = Buffered , Size = 6 Enable Interrupts Enable Utxc Dim A As single Dim B(2)...
Dosyć odważnie sobie poczynasz na mikrokontrolerze mającym 2kB Flash i 128B SRAM :D ale do odważnych świat należy. Odchudziłem Ci trochę kodzik. Obsługa przerwania timera została stuningowana moim programem NoSave Tool. Teraz mikrokontroler nie odkłada na stos większości rejestrów a tylko te potrzebne - w tym przypadku tylko jeden :D Przekłada się to...
Czemu korzystasz z programowego uarta? Używaj sprzętowego jak w przykładzie poniżej. Zauważ też że będziesz odbierał znaki ASCII, a ty potrzebujesz liczbę dziesiętną do wyświetlenia. Na początek wgraj program i wpisuj w terminal liczby od 0 do 9 czyli w ascii od 48 do 57. Wpisanie czegos innego prawdopodobnie wysypie ci program bo lookup nie znajdzie...
Zamierzam użyć poleceń printbin #, inputbin # ale wcześniej oczywiscie otworzyckanały procedurą open. Brzmi to dość dwuznacznie i kojarzy się z programowym UART. Jeśli tak to proponuję użyć sprzętowego UART, gdyż dysponujesz wtedy instrukcją Bufor = Ischarwaiting() pozwalającą ustalić czy w buforze jest znak (również 0). Inaczej trudno rozróżnić...
Podejrzewałem to jednak nie umiem zrobić detekcji 0 a mam jeszcze 4k wolne Coś bym zaadaptował z tego jednak nie rozumiem w pełni tego kodu a jak czegoś nie rozumiem nie stosuje Gdyby ktoś wypowiedzieć się mógł tak dla głąba jak to działa. Kod z tego forum nie mój. http://obrazki.elektroda.pl/3285358500_1... Pomoże mi jakaś dobra osoba , mogę...
Odbiornik RC5 działa. 1 na pilocie wyłącza diodę, 2 włącza $regfile = "attiny2313.dat" $crystal = 1000000 Config Rc5 = Pind.2 Config Pind.2 = Input Config Portb = Output Dim Address As Byte , Command As Byte Enable Interrupts Do Getrc5(address , Command) If Address = 0 Then Command = Command And &B01111111 Select Case Command Case...
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...
Witam Starałem się wyjaśnić platforma AVR lub zadania jaki ma wykonać NIE JEST TAK WAŻNE jak zorganizowanie komunikacji na RS232 za pomocą paczek HEX! Mogę wykorzystać dowolną większą kość AT! AT90s2313 Akurat tą kość mam gotową do pracy i kompletną do komunikacji na RS232. Czy jest możliwe zorganizowanie takiej komunikacji.? Potem wykona zadania......
Wkradł się bład przy wpisywaniu. Fuse Bity E4 D9 a nie 99 bo to pokazuje jasno na Twoim screenie Watchdog Always On :D Wyswietlacz nawet bez nadajnika ma wyświetlac po starcie trzy poziome kreski. W programie łatwo odczytać że żeby ustawić zero na wyświetlaczu procesor podaje masę na sześć segmentów. Wspólna końcówka wyświetlacza jest sterowana poprzez...
Witam, na wstępie uprzedzę, że jestem początkującym programistą bascom. Tworzę projekt, który jest połączeniem dwóch tematów tj. http://www.elektroda.pl/rtvforum/topic22... oraz ]http://www.mp3car.com/forum/mp3car-tech... . potrafię już odczytać dane z szyny i-bus w bmw i...
Tak działa [syntax=vbnet] Do If 0 < Ischarwaiting() Then Wart = Inkey() Select Case Postep Case 0 : If Wart = &H42 Then Postep = 1 Case 1: Select Case Wart Case &H4D : Postep = 2 Case &H42 : Postep = 1 'w drugim kroku to bląd wiec powrot na początek End Select Case 2: Incr Postep 'ustawi 2->3 itd Buff(postep) = Wart Case 3: Incr Postep...
witam wszytskich, mam duzy problem z komunikacja po RS dla wymienionych procesorow, przegladalem fora, web i nic, bede wdzieczny za pomoc w rozwiazaniu problemu Kod programu RX '$sim $regfile = "m32def.dat" $crystal = 8000000 $baud = 19200 Dim Flag1 As Byte Dim A As Word Dim B(2) As Byte Config Serialin = Buffered , Size = 20 Enable...
bascom inputbin ischarwaiting interrupts printbin inputbin
czarny ekran instalacja system zespół gazowy zasada działania pacifica czujnik
instrukcja obsługi toyota yaris instrukcja obsługi toyota yaris
Amplituner Yamaha, Denon, Sony – nie stroi stacji radiowych, brak odbioru FM/AM, usterka tunera Piksel vs foton – różnice rozmiaru i funkcji w sensorach ISOCELL, Exmor, SPAD, QIS