Forum: Mikrocontroller und Digitale Elektronik Kommunikation zwischen ATmega8 und Visual Basic


von Mark X. (reineke1985)


Lesenswert?

hallo,

ich bin jetzt seit heute morgen im web am rumstöbern um rauszubekommen, 
wie ich Daten über eine Serielle Schnittstelle mit Hilfe von VisualBasic 
sende und empfange.
Mein Ziel ist es eine Kommunikation zwischen ATmega8 und VisualBasic 
herzustellen.
Ic weis das es irgendwie über MScomm möglich ist. Nur mein Problem ist 
es dazu ein funktionierendes Programm dafür zu entwickeln!

Über Hilfe wäre ich sehr dankbar

LG

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Dann viel Spass...

von Stephan (Gast)


Lesenswert?

Hallo,

welche Version von Visual Basic hast du ?

Stephan

von Peter (Gast)


Lesenswert?

Ist doch ganz einfach, nur nicht zuweit suchen:

Öffne eine Datei mit dem Namen "COM1", COM2" oder auch "LPT1", und 
schreibe oder lese auf die Datei...

Ein kleines Beispiel:

'-------------------------------------------------------
Function GetResponseFor(Question$)
  Open "COM1" For Binary Access Read Write As #1
  Question$ = Question$ + Chr(13)    'append CR
  Put #1, , MyString$
  Response$ = ""
  Do
    Get #1, 1, char
    If (char > Chr(31)) Then
      Response$ = Response$ + char
    End If
  Loop Until char = Chr(13)          'Read until CR
  Close #1
  GetResponseFor = Response$
End Function
'-------------------------------------------------------

von Peter (Gast)


Lesenswert?

Nochmals das Beispiel, mit einem Fehler weniger...

Function GetResponseFor(Question$)
  Open "COM1" For Binary Access Read Write As #1
  Question$ = Question$ + Chr(13)   'append CR
  Put #1, , Question$               'send string to COM1
  Response$ = ""                    'prepare resonse string
  Do
    Get #1, 1, char                 'get one character from COM1
    If (char > Chr(31)) Then        'if printable character
      Response$ = Response$ + char  'then add it to response string
    End If
  Loop Until char = Chr(13)         'Read until CR
  Close #1                          'never forget to close the "file"
  GetResponseFor = Response$        'return response string
End Function

von Peter (Gast)


Lesenswert?

Und nochmals ne Korrektur: Nimm die Input-Funktion statt die 
Get-Funktion

'----------------------------------------------------------
Function GetResponseFor(Question$)
  Open "COM1" For Binary Access Read Write As #1
  Question$ = Question$ + Chr(13)   'append CR
  Put #1, , Question$               'send string to COM1
  Response$ = ""                    'prepare resonse string
  Do
    char = Input(1, #1)             'get one character from COM1
    If (char > Chr(31)) Then        'if printable character
      Response$ = Response$ + char  'then add it to response string
    End If
  Loop Until char = Chr(13)         'Read until CR
  Close #1                          'never forget to close the "file"
  GetResponseFor = Response$        'return response string
End Function
'----------------------------------------------------------

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.