mikrocontroller.net

Forum: PC-Programmierung Daten von der COM1, serielle Schnittstelle, in Excel bearbeiten


Autor: Asif Khan (aak2008)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte Daten von der COM1, serielle Schnittstelle, in Excel 
bearbeiten. Die Daten werden von der ext. Hardware in ASCII-Format 
gesendet.

Code ist im anhang. Comport.doc



Ich benutze folgende Code um den Port zu öffnen und die Daten in Excel 
zu schreiben:

Sub Button1_Click()
Dim inputstring As String
Dim anz_zeichen As Long
Dim lporthandle As Long
Dim com_error As Long

Cells(1, 1).FormulaR1C1 = "COM1 OFFEN"
Cells(2, 1).FormulaR1C1 = " lPortHandle"
Cells(4, 1).FormulaR1C1 = "Wert"

Cells(1, 2).FormulaR1C1 = ComPort.OpenComPort("COM1", "baud=9600 
parity=N data=8 stop=1", lporthandle)
Cells(2, 2).FormulaR1C1 = lporthandle
Cells(4, 2).FormulaR1C1 = ComPort.ReadComPort(lporthandle, inputstring, 
anz_zeichen)
com_error = ComPort.ReadComPort(lporthandle, inputstring, anz_zeichen)

End Sub
------------------------------------------------------------------------ 
--------------------------------------------------------------------

Meine Fragen:
1- Warum wird nur "Wahr" als Wert in Zelle(4,2) angezeigt. Code dazu war 
-> Cells(4, 2).FormulaR1C1 = ComPort.ReadComPort(lporthandle, 
inputstring, anz_zeichen)

2- Was muss ich ändern damit Daten in ASCII-Code angezeigt werden

3- Wie kann ich die ASCII-Daten in Dezimal umwandeln. Datenausgabeformat 
von ext.Hardware ist
D1 (Vorzeichen), D2 (höchstwertige Stelle), D3, D4, D5(Dezimalpunkt), 
D6, D7(LSD-niederwertigste Stelle), D8(CR-Carriage return), D9 
(LF-Zeilenvorschub) z.B. Anzeige= +124.50 dann Ausgabedaten sind +124.50 
CR LF

4-Wie kann ich einen Timer einbauen um die Daten alle 1000ms zu 
aktualisieren.

Kann bitte ein Experte mir den Code mit Erklärungen schicken.

Vielen Dank

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1 - Was vermutest Du, steht nach dem Aufruf von ComPort.ReadComPort im 
übergebenen Parameter "InputString"? Wozu mag der wohl da sein?

Den Rest kannst Du, von dieser Grunderkenntnis ausgehend, Dir mit Hilfe 
der Excel-/VBA-Dokumentation selber erarbeiten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.