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:...
To zamiast Inputbin użyj Inkey.
Spróbuj zamiast INKEY uzyć INPUTBIN a zamiast PRINT uzyć PRINTBIN u mnie to zawsze działało i nie zapomnij otworzyc portu za pomocą instrukcji OPEN bo tego brakuje w progamie- otwórz sobie helpa i wyszukaj "OPEN" tam jest dokładnie opisane A co do INPUTBIN i PRINTBIN to uart programowy
Witam Panowie mam problem mianowicie z komunikacją UART 2 AVR .Jeden z nich to Atmega16(odbiornik) a drugi Atmega328(Nadajnik) i tak: Nadajnik wysyła 2 zmienne do odbiornika na którym jest wyświetlana wartość na LCD i wszystko działa poprawnie ale zdarza się tak że zmienne lubią zamienić się miejscami tzn, "Znak" dostaje wartość "Znak_1" i odwrotnie....
SERIN i SEROUT to nie jest do RS232. Do tego jest Print/Printbin i Input/Inputbin. Jest jeszcze Inkey.
Nie korzystać z funkcji Input .Do dyspozycji masz Inputbin,Inkey() . Piotrek Nadal nie wiem , jakie dane wysyłasz do uC z PC-ta. Można wysłać choćby tak: Private Sub SendStr() MSComm1.Output = Text1.Text & Chr(13) End Sub
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,...
Jak pisałem Ci wyżej Inkey nie działa na porcie wirtualnym. Przynajmniej na Atmedze8. Chyba jakiś błąd. Użyj funkcji Inputbin. Będzie hulać.
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, 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...
"bierzesz w ręce" zwykłe polecenia do nadawania jak PRINT , lub do odbierania jak: INPUT czy INKEY i lecisz :) Od razu trzeba napisać, że należy użyć PRINTBIN i INPUTBIN bo kolega będzie przez 10 postów znów pytał jak wysłać tym ciąg bitów i że znów nie działa.
W sumie z buforem to chciałem oszczędnie, jeśli chodzi o pamięć. Dane można wysyłać przez Printbin, a odebrać przez Inputbin. Nadając zmienną integer funkcją Printbin wysyłasz 2 bajty. Nagłówkiem może być jakiś bajt, nic nie przeszkadza żeby stworzyć sobie jakiś format przesyłania danych ;). nagłówek bajt X zmienna 1 long zmienna 2 word zmienna 3 byte...
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...
Również nie działa: $crystal = 8000000 $baud = 38400 ' Dim Zmienna As Byte , Zmienna2 As Integer Dim Ignorowane As Byte , Id As Byte , Dane As Byte Dim A As Byte , B As Byte Config Serialin = Buffered , Size = 20 Zmienna = 5 Do Waitms 500 Cls Lcd Id ; " " ; Dane ; " " ; Zmienna ; " " ; B Id = Inkey() Dane = Inkey()...
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...
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...
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...
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...
Dziekuję za wszystkie dotąd udzielone mi porady. Jeśli chodzi o transmisję binarną printbin, inputbin to próbowałem wyszło super przede wszystkim zmniejsza liczbę byte ramki chodzi mi o to, że gdy wysyłam parametr do pwm np. 255 to używam 3 znaków ASCII czyli 3 byte a binarnie wyśle byte 255 i to tyle ale w transmisji nie mogłem korzystać z przerwania...
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...
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...
potrzebuje pomocy z komunikacja po RS232 miedzy aplikacja vb 6.0 a mikrokontrolerem. Potrzebuje wyslac rozkaz do uP ktory uruchomi jaks procedure. w visualu uzywam kontrolki mscomm. dane wyslam komenda np: MSComm1.Output = Chr(120) kiedy po stronie uP uzylem komendy INKEY np: Do Znak = Inkey() Rozkaz = Asc(znak) if rozkaz = 120 then set p1.5 endif loop...
inputbin ischarwaiting inkey bascom bascom inputbin
huawei support napiecie zasilaczu komputera samsung drive manager
tranzystor kanalem tranzystor kanalem
Błąd DV d3 w odtwarzaczu Panasonic - przyczyny i rozwiązania Pioneer CB-DV313 - Zielony zegarek na wyświetlaczu