| |
|
|
- Seite 1 - |
|
Web Scanner | Nachtrag: Web Scanner, Beitrag=56582, Zeitpunkt=28.03.2010
Du kannst Dir dieses Thermometer bei Ebay bestellen: USB xp linux thermometer,RS232 protocol,TEMPer232 Ebay Artikelnummer:220564891464 Herstellerseite: [...] Das Ding kostet 18US$ + 6$ Fracht. Das Temper232 kommt aus China, dauert paar Tage. Grüße Web
Web Scanner, Beitrag=56571, Zeitpunkt=28.03.2010
Anbei der Quelltext. Kann man sicher noch viel besser machen, aber es funktioniert erstemal: KompilierenMarkierenSeparierenTemperaturmessung Temper232 für PROFAN
über RS232 COMPORT 3
(C) Webbisoft 3/2010
Declare a$, f%, ende%,e%
Declare x$, y$, z%, bz&, xtemp!,xdtemp!, ll&, hh&, testtemp%
Proc GetComInput
Parameters id%
x$ = @ReadCom$(id%,10)
y$ = @ComError(id%)
bz& = @addr(x$)
print "temp: ",bz&
WhileNot x$ = ""
testtemp% = 0
x$=@ReadCom$(id%, 10)
@ComError(id%)
bz& = ord(mid$(x$,1,1))
print "temp1: ",(bz&); " ";
if bz& = 36
testtemp% = 1
else
testtemp% = 0
endif
bz& = ord(mid$(x$,2,1))
print (bz&); " ";
if bz& = 254
testtemp% = 1
else
testtemp% = 0
endif
bz& = ord(mid$(x$,3,1))
print (bz&); " ";
if bz& = 2
testtemp% = 1
else
testtemp% = 0
endif
bz& = ord(mid$(x$,4,1))
print (bz&); " ";
bz& = ord(mid$(x$,5,1))
print (bz&); " ";
bz& = ord(mid$(x$,6,1))
print (bz&); " "
iF TESTTEMP% =1
hh& = ord(mid$(x$,4,1))
ll& = ord(mid$(x$,5,1))
Print "ll& =", (ll&)
Print "hh& =",(hh&)
Xtemp! =256*hh&+ll&
Print "xtemp!=", xtemp!
If Xtemp! > 16384
XDtemp! = -(16384-(Xtemp!)/4)*(0.03125) Korrekturwert 4000h ab 100°C
Else
XDtemp! = (Xtemp!/4)*(0.03125)
EndIf
XDtemp!= XDtemp!-3 Korrekturwert
@Set("Decimals",2)
print "Temperatur USB232= ",xdtemp!,"°C"
endif
sleep 800
EndWhile
print
EndProc
Window 0, 0 - 400, 400
f% = @OpenCom("COM3", 1024, 1024)
@SetCom("COM3:4800,N,8,1")
@WriteCom(f%, chr$($24)+ chr$($10)+chr$($05)+chr$($01)+chr$($01)+chr$($00)+chr$($32)+chr$($01)+chr$($55))
Thermometer initialisieren
y$ = @ComError(f%)
GetComInput f% Antwort abwarten und anzeigen
ende% = 0
WhileNot ende%
a$ = @Inkey$() Tastatur abfragen
If a$ = "§" Ende mit SHIFT-3
ende%=1
Else
GetComInput f% empfangene Zeichen lesen
Endif
EndWhile
@CloseCom(f%)
End
Hallo Programmierfreunde,
nach längerer Zeit habe ich wieder ein kleines Softwareprojekt. Es geht um eine Temperatursteuerung. Dazu muß ich einen USB Temperaturstick auswerten. Sowas hier: Ebay Artikelnummer: 380167386533
Nun meine Frage, hat so etwas schon jemand gemacht? Gibt es da spezielle Treiber, dlls, oder sonstige Hilfen? Ich muß dazu sagen, das der Stick noch nicht bei mir weilt und daher ist es noch etwas dürftig mit der Datenlage
Grüße
Web |
|
|
| |
|
|
| |
|
- Seite 5 - |
|
|
| Stellt der Treiber noch andere/ weitere Comports bereit? (manchmal 3-4...)
Wie lauten denn eigentlich diese Comport-Apis?
Fürs Mondauto werde ich einen "Comport-Monitor" in einen eigenen Prozess oder Thread abstellen, Thema schad nüscht. |
|
|
| |
|
|
|
Web Scanner | Wo genau finde ich die Comport APIs? |
|
|
| |
|
|
|
| Schon bein Eingabe von Comport [...] wirst mit .net zugemüllt. ^^ |
|
|
| |
|
|
|
| Ah [...] [...]
CreateFile - Öffnet einen seriellen Port und liefert einen Handle SetupComm - Setzt die Parameter für die Konfiguration WaitCommEvent - Hilft beim Implementieren einer Ereignisbehandlung Writefile - Schreibt auf die Schnittstelle ReadFile - Liest von der Schnittstelle
[offtopic]Diese ganzen APIs braucht man mit XPSE garnicht selbst deklarieren, nur schreiben: KompilierenMarkierenSeparierenEs ist wie, als würden sie zum Sprachschatz gehören.[/offtopic] |
|
|
| |
|
|
|
Web Scanner | hmmm
warum muß das, was ich machen will - immer so kompliziert sein Die Befehle gibts ja so nicht in Xprofan? |
|
|
| |
|
|
|
| Genau, könntest Du per Headerdateien (*.ph) einbinden oder per External aufrufen oder per DEF definieren oder nimmst xpse und dann sind sie von Haus aus wie normale Funktionen einfach existent und schreibbar. |
|
|
| |
|
|
|
Web Scanner | Schade, soweit reichen meine Kenntnisse erstemal (noch) nicht.
Warum sind die XProfanbefehle nicht dazu brauchbar? Die funktionieren wohl nur auf direkte physisch vorhandene Comports und nicht auf umgeleitete USB Ports? |
|
|
| |
|
|
|
Web Scanner | Das hab ich noch gefunden, aber eher alles für VB. Scheint alles direkt für den Temper232 zu sein.
[...]
Hier wird die Schnittstelle beackert. Interessant...
[...] |
|
|
| |
|
|
|
| Physisch kommen wir seit NT (im UserMode-Level) eh nicht ran, geht imho eh nur um die von Treibern erzeugten virtuellen Comports. Diese APIs dort erscheinen mir garnicht soo kompliziert, bei Gelegenheit einmal anschauen. Ich wollte nur wissen, welche APIs da in Frage kommen, um zu sehen, welche Optionen vlt. noch zur Verfügung stehen, die das XProfan von Haus aus vielleicht nicht bietet. Codes in VB sind doch meist brauchbar. |
|
|
| |
|
|
|
Web Scanner | Ist hier das drin was Du suchst? Immerhin eine DLL.
[...] |
|
|
| |
|
|
|
| Nene das ist schon ok, dass sind halt die Treiberdateien des Treibers der die Comports herstellt. Das hier [...] (ich aber nicht heute mehr, viel zu spät schonwieder) mal probieren mit CreateFile auf "COM12", bzw. erstmal überhaupt CreateFile Rückmeldung anschauen. Aber ich wüsste jetzt auch nicht, was XProfan da anders machen sollte - vlt. kann Roland das Problem erkennen. |
|
|
| |
|
|
|
Web Scanner | Hmm, also ich hab schon alles mögliche gedreht, aber der biestige USB Temperaturstick sacht nicht Bescheid. Hat noch jemand eine zündende USB Idee bevor ich den in die ewigen Jagdgründe entsorge?
Grüße
Web |
|
|
| |
|
|