Archiv verlassen und diese Seite im Standarddesign anzeigen : Rs232 und Excel
lötkolben
05.09.2007, 12:28
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 ?
wassermann
05.09.2007, 14:16
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
lötkolben
05.09.2007, 15:59
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
lötkolben
05.09.2007, 16:36
Habe den Fehler gefunden. Excel zeigt alles dezimal an. wie kann ich das in Ascii umwandeln ohne bei jeder Spalte Zeichen(Zahl) zu verwenden.
wassermann
06.09.2007, 02:04
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
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))
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.