Forum: PC-Programmierung Daten aus dem serial port direkt in Excel tabelle


von Andy (Gast)


Lesenswert?

Hallo Leute,

ich habe ein Problem..... :))

Ich habe mir einen ADXL202 Beschleunigungssensor eingelesen und er gibt 
mir dan sugzesiv die zeiten aus. Jetzt da ich die in einer Array matrix 
gespeichert habe muss ich die mit dem Hyperterminal einlesen und dann 
vom Hyperterminal in einer Textdatei aufzeichnen, die Datei dann in 
Excel implemetieren und aus dem Diagramm machen. Meine Frage ist jetzt, 
ob jemand ne Idee hat wie ich das machen kann das meine Daten direkt in 
eine Excel tabelle gelanden oder direkt in ein Diagramm (noch besser) 
damit ich eine automatische Abarbeitung realisiere.

Ich habe einen 80C535 µC und Arbeite mit dem µVision 2 Paket von Keil.

Wenn jemand mir helfen kann danke ich schon im voraus....

Andy

: Verschoben durch User
von Logasta (Gast)


Lesenswert?

Die Daten sendest du ja anscheinend jetzt schon über einen UART an den 
PC. Dann kannst du dir in Excel mit VBA ein Makro / Programm (wie man 
das nennen möchte) schreiben, das die Daten direkt in eine Tabelle 
einliest. Über VBA hast du Zugriff auf die serielle Schnittstelle (war 
jedenfalls bei VBA 6 so, danach nix mehr damit gemacht)

von pumpkin (Gast)


Lesenswert?

oder du nimmst LabVIEW. ist eh eleganter.

pumpkin

von Andy (Gast)


Lesenswert?

Leider habe ich biss jetzt noch nie mit Makros gearbeitet, könntest du 
mir vieleicht ein Beispiel geben?? Oder ein fertiges Programm ??

von Logasta (Gast)


Lesenswert?

Ist ne ewigkeit her, das ich mit VBA was gemacht habe. War noch VBA 6, 
jetzt ist da ja VBA.net drin. Kannst du denn was Basic bzw. Visual 
Basic? Denn dann sollte es eigentlich relativ einfach sein.

von Axel R. (Gast)


Lesenswert?

Beitrag "Re: µC zu Excel"
anmelden ->SuFu!

von Sonic (Gast)


Lesenswert?

>oder du nimmst LabVIEW. ist eh eleganter.

Ist auch zwischen 1249 und 2449 € elegant!

Du wirst doch keine 'Sicherungskopie' haben ?? ;-)

von Sonic (Gast)


Lesenswert?

Ups, Zahlendreher!

Ist auch zwischen 1249 und 4249 € elegant!

von Tom (Gast)


Lesenswert?

Ich weiß, deine Frage war ganz speziell auf excel ausgerichtet und nicht 
nach Alternativen, dennoch würde ich dir Matlab vorschlagen, wenn du 
darauf Zugriff hast (Student, Uni, FH,...)

Gruß
Tom

von Axel R. (Gast)


Lesenswert?

Beitrag "Re: Daten aus dem serial port direkt in Excel tabelle"

Da sich der Threadöffner nicht mehr meldet, hat sichs wohl erledigt.
Einen noch eineindeutigeren Link hatte ich den Tag leider nicht zur 
Hand. Tut mir leid.

AxelR.

von Peter (Gast)


Lesenswert?

Excel mit VBA Makros geht ganz gut um mit der UART zu arbeiten.

Die Com-Schnitstelle kannst Du mit einem Commandshell Aufruf 
konfigurieren, zum Beispiel:

RetVal = Shell("mode.com com1 baud=" + br$ + " parity=n data=8 stop=1 
to=on xon=on dtr=on rts=on")

Dann kannst kannst Du die Schnitstelle öffnen, lesen und schreiben, wie 
auf irgend eine andere Datei, nur statt des Dateinamen verwendest Du die 
entsprechende Schnittstellenbezeichnung, zB "Com1", "Com2" oder "LPT" 
etc...

In VBA könnte das in etwa so aussehen:
1
Sub Send_and_Read()
2
  '--------------------------------------------------------
3
  cmnd$ = "Hello World"        'A string to send
4
  '--------------------------------------------------------
5
  Open "COM1" For Binary Access Read Write As #1
6
  cmnd$ = cmnd$ + Chr(13)      'add [CR] to command string
7
  Put #1, , cmnd$              'write string to interface
8
  '--------------------------------------------------------
9
  answer = ""                  'clear response string
10
  char = Input(1, #1)          'get first character
11
  While (answer <> Chr(13))    'loop until [CR]
12
    If (char > Chr(31)) Then
13
      answer = answer + char   'add, if printable char
14
    Else
15
      ' Do what ever you like
16
    End If
17
  Wend
18
  Close #1
19
  '--------------------------------------------------------
20
  Cells(1, 1) = answer        'put response in cell("A1")
21
End Sub

von Peter (Gast)


Lesenswert?

Ups, da hatte es noch Fehler, u.a. hab vergessen den nächsten (bzw die 
nächsten chars) zu lesen:

Sub Send_and_Read()
  '--------------------------------------------------------
  cmnd$ = "Hello World"        'A string to send
  '--------------------------------------------------------
  Open "COM1" For Binary Access Read Write As #1
  cmnd$ = cmnd$ + Chr(13)      'add [CR] to command string
  Put #1, , cmnd$              'write string to interface
  '--------------------------------------------------------
  answer = ""                  'clear response string
  char = Input(1, #1)          'get first character
  While (char <> Chr(13))      'loop until [CR]
    If (char > Chr(31)) Then
      answer = answer + char   'add, if printable char
    Else
      ' Do what ever you like
    End If
    char = Input(1, #1)        'get the next character
  Wend
  Close #1
  '--------------------------------------------------------
  Cells(1, 1) = answer         'put response in cell("A1")
End Sub

von Super (Gast)


Lesenswert?

7 Jahre alt, und immer noch super. So einfach.

Das funktioniert bei mir mit Windows 7 und einem alten Excel-Version.
1
    sendVar$ = Worksheets("Sheet1").Range("C26") + Chr(13)
2
    Open "COM1:19200,N,8,1" For Binary Access Read Write As #1 'Open the com port
3
    Put #1, , sendVar$ 'write string to interface
4
    '--------------------------------------------------------
5
    answer = "" 'clear response string
6
    char = "" 'clear character string
7
    While (char <> Chr(13))      'loop until [CR]
8
        char = Input(1, #1)             'get character
9
        If (char > Chr(31)) Then
10
            answer = answer + char   'add, if printable char
11
            'Worksheets("Sheet1").Range("C29") = answer 'OPTIONAL watch cell fill up until carraige return
12
        End If
13
    Wend
14
    Close #1
15
    '--------------------------------------------------------
16
    Worksheets("Sheet1").Range("C27") = answer 'put response in cell

von Oliver R. (orb)


Lesenswert?

Super schrieb:
> 7 Jahre alt, und immer noch super

Wenn Du schon erkennst, daß das Thema uralt ist, warum buddelst Du es 
dann wieder aus?

Bist Du auf die Gravedigger-Award scharf?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Oliver R. schrieb:
> Super schrieb:
>> 7 Jahre alt, und immer noch super
> Wenn Du schon erkennst, daß das Thema uralt ist, warum buddelst Du es
> dann wieder aus?
Ich würde sagen, dass es hier sogar sinnvoll ist, einen einzigen 
"RS232-Excel" Thread zu haben. Aber jetzt hat der Thread einen leichten 
Trend nach OT...

von ICH (Gast)


Lesenswert?

Danke für die Hilfe

von Wolf (Gast)


Lesenswert?

So was habe ich auch gesucht.

Ist nicht OT.

Aber wie kann ich diese Zeilen in EXCEL integrieren?

Gibt's dazu auch irgendwo eine Anleitung?

Danke

W.

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.