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
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)
oder du nimmst LabVIEW. ist eh eleganter. pumpkin
Leider habe ich biss jetzt noch nie mit Makros gearbeitet, könntest du mir vieleicht ein Beispiel geben?? Oder ein fertiges Programm ??
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.
>oder du nimmst LabVIEW. ist eh eleganter.
Ist auch zwischen 1249 und 2449 € elegant!
Du wirst doch keine 'Sicherungskopie' haben ?? ;-)
Ups, Zahlendreher! Ist auch zwischen 1249 und 4249 € elegant!
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
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.
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 |
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
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 |
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?
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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.