Gast
#1449797
Hallo,
hab schon lange kein Visual Basic mehr "programmiert"... Wollte mir
jetzt aber für ein Projekt nen kleines Programm zusammenstellen, dass
mir ein paar Daten auf den Microcontroller läd. So weit so gut, klappt
alles wunderbar...
Nur bekomm ich von Visual Basic nen Fehler zurück, wenn jemand nen com
Port auswählt der nicht gültig ist. Ich möchte dieses Fehler jetzt
abfangen und behandeln. Ich hab nur noch keine Idee wie. Ich weiß nur
das es mal so etwas gab wie: On Error resum next oder der gleichen.
Hier der Code:
RS232.PortName = COMPORT.Text
RS232.Open()
Dann hab ich noch ein zweites kleines Problem. Ich lese aus einer
Textbox eine Zahl und multipliziere sie mit 1024 und versuche diese Zahl
in mein RS232 Protokoll zu schieben, also Wandle ich sie erst in ein 4
stelliges Byte arryer um. Das funktioniert auch wunderbar. Leider nicht
bei allen Zahlen. Was ich mir nicht so richtig erklären kann. Also bei
100*1024 gehts, aber bei 99*1024 bekomm ich den Fehler, dass ich
versuche durch 0 zu teilen. Was aber nicht der Fall ist!
Hier der Code:
Dim kp_l As Integer
Dim kp_b(3) As Byte
kp_l = Int((kp * 1024))
kp_b(3) = Int(kp_l \ (2 ^ 24))
kp_b(2) = Int(kp_l \ (2 ^ 16))
kp_b(1) = Int(kp_l \ (2 ^ 8)) '<-- hier zeigt es den Fehler
an
kp_b(0) = kp_l Mod (2 ^ 8)
Hab irgendwo gelesen das Integer bei VB 2008 nun 32 Bit breit ist...
also daran das kp_l überläuft kanns doch nicht liegen, oder?
Wie gesagt, die zwei Fehler müsste ich noch beseitigen, ansonten steht
die Kommunikation zum Microcontroller wie ne eins!
Besonders erfreulich ist es, wie schnell man so ein Windowsprogramm
zusammengeschoben bekommt und wie schnell die UART Kommunikation steht.
Grüße
Basti