Wie man mit der seriellen Schnittstelle unter Visual Basic umgeht, dazu
findet man viele Beispiele im Internet, z. B. hier:
http://msdn.microsoft.com/en-us/library/7ya7y41k.aspx
Zunächst musst Du Dir ein Protokoll überlegen, d. h. wie die Daten
zwischen µC und PC "verpackt" werden.
Beispiel:
- Übertragung über den UART mit 115,2 kBaud, 8 Datenbits, 1 Stopbit,
kein Paritätsbit.
- Frame-Aufbau: 0xFF 0xFF [Datenbyte Thermometer] [Byte Barometer] [Byte
Lichtschranke] [Byte für Ereignisse, z. B. Interrupt] [Prüfsummen-Byte]
- Das Frame wird z. B. einmal alle 10ms vom µC gesendet.
- Der PC erkennt ein gültiges Frame, wenn die notwendige Anzahl an Bytes
empfangen wurde und das Prüfsummen-Byte korrekt ist.
- Der PC hat z. B. einen Time-Out von 1ms, d. h. wenn noch Bytes für ein
vollständiges Frame fehlen und für 1ms nichts empfangen wird, wird das
Frame verworfen.
Da bei Dir die Daten nur in eine Richtung (µC -> PC) "fließen" sollen,
wäre das so völlig ausreichend. Alternativ könnte man z. B. über ein
Protokoll nachdenken, bei dem der "Master" (= PC) zyklisch den "Slave"
(= µC) pollt, d. h. einen "Request" schickt, den der Slave dann mit
einem "Response" beantwortet. Hierbei würde ich mich aus dem Bauch
heraus der Einfachheit halber an den Frameaufbau des LIN-Busses (bitte
googlen) anlehnen, d. h. der Master sendet z. B. so etwas:
[Sync-Byte (0x55)] [Message Identifier]
Und der Slave antwortet mit seinen Daten (+ Prüfbyte).
Damit könnten durch den Message Identifier die Daten in unterschiedliche
Messages aufgeteilt werden. Vorteil wäre die Verringerung der
Brutto-Datenrate, wenn unterschiedliche Daten mit unterschiedlicher
Frequenz gepollt werden sollen (z. B. Daten vom Interrupt einmal je ms
und Temperaturwert einmal alle 100ms). Außerdem könnten so auch Daten
vom PC zum µC übertragen werden...
Was Du letztendlich brauchst, musst Du jedoch selbst entscheiden.