ATMEL 2313 <=> VisualBasic

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Truman

ATMEL 2313 <=> VisualBasic

Post autor: Truman » 06 sie 2005, 13:12

Witam,

Potrzebuję pomocy w napisaniu programu pod VisualBasic który będzie sie w jakikolwiek sposób mógł skomunkować z ATMEL'em - może być LPT i ustawianie np D0, D1 a czytanie wartości D2,D3 , moze rowniez byc RS232, I2C - cokolwiek.

Pozdrawiam,
Truman

tasza
Użytkownik
Posty: 1391
Rejestracja: 21 lut 2005, 15:02

Post autor: tasza » 06 sie 2005, 14:07

zainteresuj się kontrolką ActiveX pt. Mscomm32.ocx, to do komunikacji szeregowej...
i wtenczas rozmawiasz z procesorem via RS232...

qba
-
Posty: 3
Rejestracja: 06 sie 2005, 13:08
Lokalizacja: Maków
Kontakt:

Post autor: qba » 06 sie 2005, 16:57

Użyłem VB i MSComm - jest już dobrze bo prawie mi to działa - mam jeszcze problem z odbiorem. Jak uzywam mscomm1.input to albo dostaje jakis dziwny ciąg znaków albo nic?

'Wybranie portu COM1.
MSComm1.CommPort = 1
'Ustawienie parametrów transmisji:
'9600 szybkość, Bez parzystośoci, 8 bitów danych, 1 bit stopu
MSComm1.Settings = "9600,N,8,1"
'Wyczyszczenie bufora odczytu
MSComm1.InputLen = 0
'Otwarcie portu
MSComm1.PortOpen = True
'Wysłanie komunikatu "AT" do modemu
MSComm1.Output = Text1.Text
'Oczekiwanie na odpowiedź
Do
DoEvents
Loop Until MSComm1.InBufferCount >= 10
Text2 = MSComm1.Input
'Zamknięcie portu
MSComm1.PortOpen = False

Awatar użytkownika
Ertew
Użytkownik
Posty: 1414
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 07 sie 2005, 11:10

Witaj qba, nowy na tym forum, to twój pierwszy post a czym nas więcej tym weselej :mrgreen: .

Awatar użytkownika
c4r0
Moderator
Posty: 2150
Rejestracja: 13 kwie 2004, 19:56
Lokalizacja: z lasu
Kontakt:

Post autor: c4r0 » 08 sie 2005, 16:15

qba pisze: 'Wysłanie komunikatu "AT" do modemu
MSComm1.Output = Text1.Text
W końcu tu chodzi o modem czy AVR-a :?:
(zakładam że o AVR-a)
Twój kod wygląda na dobry, sprawdź czy konfiguracja portu w PC zgadza się z tą w procku, popróbuj na innych prędkościach.
Jakiego użyłeś kwarcu? Do RS232 powinien to być 11059200 Hz - wtedy dla każdej prędkości transmisji nie ma żadnych błędów. Jeśli masz inny kwarc i nie chcesz go zmieniać to ściągnij instrukcję (LINK) i zobacz jakiej powinieneś użyć prędkości - tabelka strona 47.

Co do LPT w VB polecam DlPortIO :D

qba
-
Posty: 3
Rejestracja: 06 sie 2005, 13:08
Lokalizacja: Maków
Kontakt:

VB + AVR

Post autor: qba » 09 sie 2005, 11:31

Witam,

Już sam nie wiem co robić, "opanowałem" wysyłanie informacji do AVR i tam prawie dobrze mi idzie odczyt, ale odczytac coś na PC to tragedia - wczoraj udało mi się wysłać liczby, kolejno 1,2,3,4...1000 mozna powiedzieć ze 600 było czytelnych pozostałe to jakieś bzdury.
Ale dzisiaj znalazłem chyba powód dla którego mi nie działało LPT - nie wiedziałem o tym, żę w BIOS trzeba ustawić port "dwukierunkowy" jeżeli to jest to to jestem uratowany.

Pozdrawiam,
Kuba

Awatar użytkownika
c4r0
Moderator
Posty: 2150
Rejestracja: 13 kwie 2004, 19:56
Lokalizacja: z lasu
Kontakt:

Post autor: c4r0 » 10 sie 2005, 16:44

Port dwukierunkowy - zależy jak chcesz zrealizować tą komunikację. Jeśli nie ustawisz portu dwukierunkowego napewno powinna chodzić komunikacja PC -> AVR (na liniach danych).

Co do rs232 - tu masz kody mojego terminala, przy pomocy którego uruchamiałem takie rzeczy jak ty chcesz uruchomić, więc musi działać -> LINK . Rozwiazania działają, ale nie są najlepsze, bo pisałem to ponad 2 lata temu jak dopiero zaczynałem VB :P

powodzenia

edit: aha, a zrobiłeś to co wcześniej napisałem ?

kax
-
Posty: 1
Rejestracja: 20 lip 2010, 12:28
Lokalizacja: Poland

Post autor: kax » 20 lip 2010, 12:34

Mam podobny problem z tego wzgledu na zaczynalem nowego tematu.
Komunikacja M8(Bascom) i PC(Visual Basic), odbieram i wysylam dane PC<=>M8, problem w tym ze jak jest to jedna wartosc to nie ma problemu. Jak np. wysle dane z przetworników AC w postaci:

Kod: Zaznacz cały

Print AC1; AC2; AC3
To nie wiem jak je przypisac w VB do opowiednich pól Label ?
c4r0 czy mozesz uaktualnic link do twojego programu terminal.zip , obecnie pliku nie da sie pobrac.

Awatar użytkownika
c4r0
Moderator
Posty: 2150
Rejestracja: 13 kwie 2004, 19:56
Lokalizacja: z lasu
Kontakt:

Post autor: c4r0 » 23 lip 2010, 4:05

Właścicielem mojego programu już dawno stał się niebyt, więc nie zaktualizuję linka. Nie wiem natomiast w czym tkwi twój problem. Odbierasz dane, ale nie wiesz jak rozdzielić? Jaki jest format tych danych? Ascii, czy binarny? W ogóle basic śmierdzi i trudno zapanować nad tym co jest wysyłane i w jaki sposób. W C można lepiej to zrobić, chociaż jest trudniej.

ODPOWIEDZ