je hebt helemaal geen backgroundworker nodig. gewoon een programmatje dat de poort afwacht en alles wat er binnenkomt opslaat.
het probleem is en blijft dat je met een seriele poort kan praten en met een toetsenbord niet. windows doet dat dan voor je, dus heb je nooit garantie dat het in jouw programma komt.
hoe wou je met een stukje C code een programma starten? bedenk wel dat je nogsteeds pretendeert een toetsenbord te zijn. dus jouw code stuurt een commando en windows leest dat in, en start een programma?
START, UP, LEFT, UP, UP, UP, RIGHT, ENTER?
en dan hopen dat het op die goeie plek staat?

jij kan met die chip niet meer dan wat je nu met je eigen toetsenbord kan.
een optie die je wel zou kunnen doen is vlak voor je verzend even een sneltoets maken. dus je maakt een programma, maakt daarnaar een snelkoppeling, geeft dat ie moet starten bij CTRL+SHIFT+A oid, en jouw PIC processortje geeft een CTRL+SHIFT+A door, waarna je hoopt dat het programma start en gegevens kan plempen.
is een smerige oplossing, maar mss wel de meest haalbare voor jou.
edit, ik heb het even voor je uitgezocht. maak in VB2008 een programma (new->application) plaats in dat programma een(1) tekstbox (textbox1) en dubbelklik op de form. dan plaats je onderin dit (dus net voor END CLASS):
pic basic code:
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim regel As String
If e.KeyChar = Chr(13) Then 'dit is een enter
FileOpen(1, "C:\test.csv", OpenMode.Append) 'voeg toe aan bestaand bestand
regel = Date.Now.ToString & ";" & TextBox1.Text 'scheidingsteken is hier ";" mag ook een comma "," zijn
PrintLine(1, regel) 'print een regel met datum+tijd;waarde uit tekstbox
FileClose(1) 'netjes afsluiten
End 'sluit programma
End If
End Sub
(tis natuurlijk visual basic en geen picbasic, maar zo ziet het er het netste uit..)
Werking:
- Trap programma af
- Rammel wat gegevens in (komt vanzelf in textbox)
- Ram op enter (programma sluit af)
- Bestand is bijgewerkt.
mag jij van mij nog een mooie errorcheck inbouwen (bestaat het bestand wel? is je regel niet leeg? dat soort dingen) en uitzoeken hoe je dit programma met het toetsenbord gaat starten. (heb wel een idee, maar denk er maar eens over na..)