- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 6 von 6

Thema: Rs232 und Excel

  1. #1

    Rs232 und Excel

    Anzeige

    Praxistest und DIY Projekte
    Hallo !!

    Also ich kann über Excel von meinem Mikrocontroller Messwerte einlesen. Nur kommen dabei statt 1 Wert bei jeder Messung 4 Werte an, welche natürlich falsch sind.Hyperterminal usw zeigen die richtigen Werte Desweiteren würde ich gerne aus Excel heraus die Messung des Mikrocontrollers starten, sprich..Button drücken---> Mikrocontroller beginnt zu messen.

    Wie kann ich über RS232 senden und wie wird das in Bascom realisiert.


    Hat jemand vielleicht eine Idee ?

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    24.01.2006
    Ort
    Kirchdorf a. Inn
    Alter
    53
    Beiträge
    81
    Hallo lötkolben,

    probier's mal damit.

    H.-J. Berndt / B. Kainka
    Messen, Steuern und Regeln mit Word und Excel
    Franzis-Verlag GmbH, 85586 Poing, 1999 ISBN 3-7723-4093-8

    Die dll kannst du auch in VB6 deklarieren.

    Zum Thema Bascom: "Ischarwaiting" bzw. "Waitkey".

    gruss,
    wassermann

  3. #3
    Ich benutze die rsapi.dll von Kalinka. Bekomme ja auch Daten, aber mit der Formatierung scheint etwas nicht zu klappen.


    Benutze dieses Makro:

    Declare Sub OPENCOM Lib "RSAPI.DLL" (ByVal Parameter$)
    Declare Function READBYTE Lib "RSAPI.DLL" () As Integer
    Declare Sub TIMEOUT Lib "RSAPI.DLL" (ByVal ms%)
    Declare Sub CLOSECOM Lib "RSAPI.DLL" ()
    Declare Sub SENDBYTE Lib "RSAPI.DLL" (ByVal test%)
    Declare Sub DELAY Lib "RSAPI.DLL" (ByVal ms%)

    Sub Messung()
    OPENCOM "COM1:19200,N,8,1"
    ThisWorkbook.Sheets("Tabelle1").Activate
    Columns("A:B").Select
    Selection.ClearContents
    Range("A1").Select
    TIMEOUT 1500
    Zeile = 1

    Do
    ergebnis = READBYTE
    Cells(Zeile, 1).Value = ergebnis
    Cells(1, 3).Value = Zeile
    Zeile = Zeile + 1

    end if
    Loop Until (ergebnis < 0 )
    CLOSECOM
    MsgBox Str(Zeile - 1) + " Meßwerte gelesen"
    Application.Calculation = xlAutomatic
    End Sub

  4. #4
    Habe den Fehler gefunden. Excel zeigt alles dezimal an. wie kann ich das in Ascii umwandeln ohne bei jeder Spalte Zeichen(Zahl) zu verwenden.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    24.01.2006
    Ort
    Kirchdorf a. Inn
    Alter
    53
    Beiträge
    81
    Hallo lötkolben,

    hab's in Excel noch nie probiert. Spricht was gegen deine ASCII-Wandlung?
    Ich lass mir immer ein txt-file schreiben, wobei "Text" ein variabler Befehl ist und der µC entsprechend die zugehörigen Antwortdaten "READ" schickt.

    Function READ(Text, Anzahl) As String
    Dim i As Long
    OPENCOM "COM4:115200,N,8,1"
    SENDSTRING Text

    S$ = Space$(Anzahl)
    x = READSTRING(S$)

    ' READ = Mid(S$, 1, x)
    i = Len(S$)
    READ = Mid(S$, 1, i)
    CLOSECOM
    End Function

    gruss,
    wassermann

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von UlrichC
    Registriert seit
    14.11.2005
    Beiträge
    1.043
    Zitat Zitat von lötkolben
    Habe den Fehler gefunden. Excel zeigt alles dezimal an. wie kann ich das in Ascii umwandeln ohne bei jeder Spalte Zeichen(Zahl) zu verwenden.
    Cells(Zeile, 1).Value = Chr(Asc(ergebnis))

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen